first commit
This commit is contained in:
commit
0fa7144084
8 changed files with 144 additions and 0 deletions
12
.gitignore
vendored
Normal file
12
.gitignore
vendored
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
*.*
|
||||||
|
*
|
||||||
|
!*/
|
||||||
|
!/nemu/*
|
||||||
|
!/nexus-am/*
|
||||||
|
!/nanos-lite/*
|
||||||
|
!/navy-apps/*
|
||||||
|
!/npc/*
|
||||||
|
!Makefile
|
||||||
|
!README.md
|
||||||
|
!.gitignore
|
||||||
|
!init.sh
|
19
Makefile
Normal file
19
Makefile
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
STUID = ysyx_22040000
|
||||||
|
STUNAME = 张三
|
||||||
|
|
||||||
|
# DO NOT modify the following code!!!
|
||||||
|
|
||||||
|
GITFLAGS = -q --author='tracer-ysyx2204 <tracer@ysyx.org>' --no-verify --allow-empty
|
||||||
|
|
||||||
|
# prototype: git_commit(msg)
|
||||||
|
define git_commit
|
||||||
|
-@git add .. -A --ignore-errors
|
||||||
|
-@while (test -e .git/index.lock); do sleep 0.1; done
|
||||||
|
-@(echo "> $(1)" && echo $(STUID) $(STUNAME) && uname -a && uptime) | git commit -F - $(GITFLAGS)
|
||||||
|
-@sync
|
||||||
|
endef
|
||||||
|
|
||||||
|
_default:
|
||||||
|
@echo "Please run 'make' under subprojects."
|
||||||
|
|
||||||
|
.PHONY: _default
|
9
README.md
Normal file
9
README.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# "一生一芯"工程项目
|
||||||
|
|
||||||
|
这是"一生一芯"的工程项目. 通过运行
|
||||||
|
```bash
|
||||||
|
bash init.sh subproject-name
|
||||||
|
```
|
||||||
|
进行初始化, 具体请参考[实验讲义][lecture note].
|
||||||
|
|
||||||
|
[lecture note]: https://docs.ysyx.org/schedule.html
|
77
init.sh
Normal file
77
init.sh
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# usage: init repo branch directory trace [env]
|
||||||
|
# trace = true|false
|
||||||
|
function init() {
|
||||||
|
if [ -d $3 ]; then
|
||||||
|
echo "$3 is already initialized, skipping..."
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
while [ ! -d $3 ]; do
|
||||||
|
git clone -b $2 git@github.com:$1.git $3
|
||||||
|
done
|
||||||
|
log="$1 `cd $3 && git log --oneline --no-abbrev-commit -n1`"$'\n'
|
||||||
|
|
||||||
|
if [ $4 == "true" ] ; then
|
||||||
|
rm -rf $3/.git
|
||||||
|
git add -A $3
|
||||||
|
git commit -am "$1 $2 initialized"$'\n\n'"$log"
|
||||||
|
else
|
||||||
|
sed -i -e "/^\/$3/d" .gitignore
|
||||||
|
echo "/$3" >> .gitignore
|
||||||
|
git add -A .gitignore
|
||||||
|
git commit --no-verify --allow-empty -am "$1 $2 initialized without tracing"$'\n\n'"$log"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $5 ] ; then
|
||||||
|
sed -i -e "/^export $5=.*/d" ~/.bashrc
|
||||||
|
echo "export $5=`readlink -e $3`" >> ~/.bashrc
|
||||||
|
|
||||||
|
echo "By default this script will add environment variables into ~/.bashrc."
|
||||||
|
echo "After that, please run 'source ~/.bashrc' to let these variables take effect."
|
||||||
|
echo "If you use shell other than bash, please add these environment variables manually."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
nemu)
|
||||||
|
init NJU-ProjectN/nemu ysyx2204 nemu true NEMU_HOME
|
||||||
|
;;
|
||||||
|
abstract-machine)
|
||||||
|
init NJU-ProjectN/abstract-machine ysyx2204 abstract-machine true AM_HOME
|
||||||
|
init NJU-ProjectN/fceux-am ics2021 fceux-am false
|
||||||
|
;;
|
||||||
|
am-kernels)
|
||||||
|
init NJU-ProjectN/am-kernels ics2021 am-kernels false
|
||||||
|
;;
|
||||||
|
nanos-lite)
|
||||||
|
init NJU-ProjectN/nanos-lite ics2021 nanos-lite true
|
||||||
|
;;
|
||||||
|
navy-apps)
|
||||||
|
init NJU-ProjectN/navy-apps ics2021 navy-apps true NAVY_HOME
|
||||||
|
;;
|
||||||
|
nvboard)
|
||||||
|
init NJU-ProjectN/nvboard master nvboard false NVBOARD_HOME
|
||||||
|
;;
|
||||||
|
npc-chisel)
|
||||||
|
if [ -d npc/playground ]; then
|
||||||
|
echo "chisel repo is already initialized, skipping..."
|
||||||
|
else
|
||||||
|
rm -rf npc
|
||||||
|
init OpenXiangShan/chisel-playground ysyx2204 npc true NPC_HOME
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
npc)
|
||||||
|
sed -i -e "/^export NPC_HOME=.*/d" ~/.bashrc
|
||||||
|
echo "export NPC_HOME=`readlink -e npc`" >> ~/.bashrc
|
||||||
|
|
||||||
|
echo "By default this script will add environment variables into ~/.bashrc."
|
||||||
|
echo "After that, please run 'source ~/.bashrc' to let these variables take effect."
|
||||||
|
echo "If you use shell other than bash, please add these environment variables manually."
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Invalid input..."
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
esac
|
11
npc/.gitignore
vendored
Normal file
11
npc/.gitignore
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
*.*
|
||||||
|
*
|
||||||
|
!*/
|
||||||
|
!Makefile
|
||||||
|
!*.mk
|
||||||
|
!*.[cSh]
|
||||||
|
!*.v
|
||||||
|
!*.cc
|
||||||
|
!*.cpp
|
||||||
|
!.gitignore
|
||||||
|
!README.md
|
8
npc/Makefile
Normal file
8
npc/Makefile
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
all:
|
||||||
|
@echo "Write this Makefile by your self."
|
||||||
|
|
||||||
|
sim:
|
||||||
|
$(call git_commit, "sim RTL") # DO NOT REMOVE THIS LINE!!!
|
||||||
|
@echo "Write this Makefile by your self."
|
||||||
|
|
||||||
|
include ../Makefile
|
6
npc/csrc/main.cpp
Normal file
6
npc/csrc/main.cpp
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
printf("Hello, ysyx!\n");
|
||||||
|
return 0;
|
||||||
|
}
|
2
npc/vsrc/example.v
Normal file
2
npc/vsrc/example.v
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
module example();
|
||||||
|
endmodule
|
Loading…
Reference in a new issue