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