Skip to content

Commit 24c0bbc

Browse files
committed
nuterm using libtorch
1 parent 64073b2 commit 24c0bbc

File tree

22 files changed

+1416
-0
lines changed

22 files changed

+1416
-0
lines changed

.github/workflows/pull-request-checks.yaml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,52 @@ jobs:
143143
run: make -C regression/verilog test
144144
- name: Print ccache stats
145145
run: ccache -s
146+
147+
# This job takes approximately 1 minute
148+
check-ubuntu-22_04-nuterm:
149+
runs-on: ubuntu-22.04
150+
steps:
151+
- uses: actions/checkout@v3
152+
with:
153+
submodules: recursive
154+
- name: Fetch dependencies
155+
env:
156+
# This is needed in addition to -yq to prevent apt-get from asking for
157+
# user input
158+
DEBIAN_FRONTEND: noninteractive
159+
run: |
160+
sudo apt-get update
161+
sudo apt-get install --no-install-recommends -yq gcc g++ ccache cmake
162+
- name: Prepare ccache
163+
uses: actions/cache@v3
164+
with:
165+
path: .ccache
166+
key: ${{ runner.os }}-22.04-nuterm-${{ github.ref }}-${{ github.sha }}-PR
167+
restore-keys: |
168+
${{ runner.os }}-22.04-nuterm-${{ github.ref }}
169+
${{ runner.os }}-22.04-nuterm
170+
- name: ccache environment
171+
run: |
172+
echo "CCACHE_BASEDIR=$PWD" >> $GITHUB_ENV
173+
echo "CCACHE_DIR=$PWD/.ccache" >> $GITHUB_ENV
174+
- name: Zero ccache stats and limit in size
175+
run: ccache -z --max-size=500M
176+
- name: Get pytorch
177+
run: |
178+
cd src/nuterm
179+
wget -q https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.1.2%2Bcpu.zip
180+
unzip -q *.zip
181+
- name: Build with cmake
182+
run: |
183+
cd src/nuterm
184+
LIBTORCH=`pwd`/libtorch
185+
mkdir build
186+
cd build
187+
cmake -DCMAKE_PREFIX_PATH=$LIBTORCH -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
188+
cmake --build . --config Release
189+
- name: Run the unit tests
190+
run: src/nuterm/build/pytorch_tests
191+
- name: Run the system tests
192+
run: make -C regression/nuterm
193+
- name: Print ccache stats
194+
run: ccache -s

regression/nuterm/Makefile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
default: test
2+
3+
TEST_PL = ../../lib/cbmc/regression/test.pl
4+
5+
test:
6+
@$(TEST_PL) -c ../../../src/nuterm/build/nuterm
7+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
CORE
2+
counter1
3+
4+
^weight main.clk = 0 .*$
5+
^weight main.counter = 1 .*$
6+
^bias: -1 .*$
7+
^EXIT=0$
8+
^SIGNAL=0$

regression/nuterm/counters/counter1.v

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
module main(input clk);
2+
3+
reg [31:0] counter;
4+
5+
always @(posedge clk)
6+
if(counter != 0)
7+
counter = counter - 1;
8+
9+
endmodule
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
0main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
1main.clk
18+
#2
19+
b00001111111111111111111111111110 main.counter
20+
#3
21+
b00001111111111111111111111111101 main.counter
22+
0main.clk
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
1main.clk
26+
#5
27+
b00001111111111111111111111111011 main.counter
28+
#6
29+
b00001111111111111111111111111010 main.counter
30+
#7
31+
b00001111111111111111111111111001 main.counter
32+
#8
33+
b00001111111111111111111111111000 main.counter
34+
#9
35+
b00001111111111111111111111110111 main.counter
36+
#10
37+
b00001111111111111111111111110110 main.counter
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
0main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
1main.clk
18+
#2
19+
b00001111111111111111111111111110 main.counter
20+
0main.clk
21+
#3
22+
b00001111111111111111111111111101 main.counter
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
1main.clk
26+
#5
27+
b00001111111111111111111111111011 main.counter
28+
0main.clk
29+
#6
30+
b00001111111111111111111111111010 main.counter
31+
#7
32+
b00001111111111111111111111111001 main.counter
33+
#8
34+
b00001111111111111111111111111000 main.counter
35+
1main.clk
36+
#9
37+
b00001111111111111111111111110111 main.counter
38+
#10
39+
b00001111111111111111111111110110 main.counter
40+
0main.clk
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
0main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
#2
18+
b00001111111111111111111111111110 main.counter
19+
1main.clk
20+
#3
21+
b00001111111111111111111111111101 main.counter
22+
0main.clk
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
#5
26+
b00001111111111111111111111111011 main.counter
27+
#6
28+
b00001111111111111111111111111010 main.counter
29+
#7
30+
b00001111111111111111111111111001 main.counter
31+
#8
32+
b00001111111111111111111111111000 main.counter
33+
1main.clk
34+
#9
35+
b00001111111111111111111111110111 main.counter
36+
0main.clk
37+
#10
38+
b00001111111111111111111111110110 main.counter
39+
1main.clk
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
1main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
0main.clk
18+
#2
19+
b00001111111111111111111111111110 main.counter
20+
#3
21+
b00001111111111111111111111111101 main.counter
22+
1main.clk
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
#5
26+
b00001111111111111111111111111011 main.counter
27+
#6
28+
b00001111111111111111111111111010 main.counter
29+
#7
30+
b00001111111111111111111111111001 main.counter
31+
0main.clk
32+
#8
33+
b00001111111111111111111111111000 main.counter
34+
1main.clk
35+
#9
36+
b00001111111111111111111111110111 main.counter
37+
0main.clk
38+
#10
39+
b00001111111111111111111111110110 main.counter
40+
1main.clk
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
0main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
1main.clk
18+
#2
19+
b00001111111111111111111111111110 main.counter
20+
#3
21+
b00001111111111111111111111111101 main.counter
22+
0main.clk
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
1main.clk
26+
#5
27+
b00001111111111111111111111111011 main.counter
28+
#6
29+
b00001111111111111111111111111010 main.counter
30+
0main.clk
31+
#7
32+
b00001111111111111111111111111001 main.counter
33+
#8
34+
b00001111111111111111111111111000 main.counter
35+
1main.clk
36+
#9
37+
b00001111111111111111111111110111 main.counter
38+
0main.clk
39+
#10
40+
b00001111111111111111111111110110 main.counter
41+
1main.clk
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
1main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
#2
18+
b00001111111111111111111111111110 main.counter
19+
#3
20+
b00001111111111111111111111111101 main.counter
21+
#4
22+
b00001111111111111111111111111100 main.counter
23+
0main.clk
24+
#5
25+
b00001111111111111111111111111011 main.counter
26+
1main.clk
27+
#6
28+
b00001111111111111111111111111010 main.counter
29+
0main.clk
30+
#7
31+
b00001111111111111111111111111001 main.counter
32+
1main.clk
33+
#8
34+
b00001111111111111111111111111000 main.counter
35+
#9
36+
b00001111111111111111111111110111 main.counter
37+
#10
38+
b00001111111111111111111111110110 main.counter
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
$date
2+
Sun Jan 7 16:33:39 2024
3+
$end
4+
$timescale
5+
1ns
6+
$end
7+
$scope module main $end
8+
$var reg 32 main.counter main.counter [31:0] $end
9+
$var wire 1 main.clk main.clk $end
10+
$upscope $end
11+
$enddefinitions $end
12+
#0
13+
b00010000000000000000000000000000 main.counter
14+
0main.clk
15+
#1
16+
b00001111111111111111111111111111 main.counter
17+
1main.clk
18+
#2
19+
b00001111111111111111111111111110 main.counter
20+
0main.clk
21+
#3
22+
b00001111111111111111111111111101 main.counter
23+
#4
24+
b00001111111111111111111111111100 main.counter
25+
1main.clk
26+
#5
27+
b00001111111111111111111111111011 main.counter
28+
#6
29+
b00001111111111111111111111111010 main.counter
30+
0main.clk
31+
#7
32+
b00001111111111111111111111111001 main.counter
33+
1main.clk
34+
#8
35+
b00001111111111111111111111111000 main.counter
36+
0main.clk
37+
#9
38+
b00001111111111111111111111110111 main.counter
39+
1main.clk
40+
#10
41+
b00001111111111111111111111110110 main.counter
42+
0main.clk

0 commit comments

Comments
 (0)