You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
167 lines
7.0 KiB
Markdown
167 lines
7.0 KiB
Markdown
# Simulation
|
|
|
|
* verilator and pyverilator (with mods); uart+terminal
|
|
|
|
* simulator...
|
|
|
|
```
|
|
wtf@GatorCountry:~/projects/a2p/sim$ simcmod -c 100000000
|
|
removed &: /clk12/
|
|
removed &: /serial_tx/
|
|
removed &: /serial_rx/
|
|
removed &: /user_led0/
|
|
removed &: /user_led1/
|
|
removed &: /user_btn0/
|
|
removed &: /user_btn1/
|
|
removed &: /pmod0/
|
|
removed &: /pmod1/
|
|
removed &: /digital43/
|
|
make: Entering directory '/home/wtf/projects/a2p/sim/obj_dir'
|
|
ccache g++ -I. -MMD -I/home/wtf/projects/verilator/include -I/home/wtf/projects/verilator/include/vltstd -DVM_COVERAGE=0 -DVM_SC=0 -DVM_TRACE=1 -DVM_TRACE_FST=0 -faligned-new -fcf-protection=none -Wno-bool-operation -Wno-sign-compare -Wno-uninitialized -Wno-unused-but-set-variable -Wno-unused-parameter -Wno-unused-variable -Wno-shadow -fPIC -shared --std=c++11 -DVL_USER_FINISH -std=c++14 -Os -c -o pyverilator_wrapper.o ../obj_dir/pyverilator_wrapper.cpp
|
|
g++ -fPIC -shared pyverilator_wrapper.o uartsim.o verilated.o verilated_dpi.o verilated_vcd_c.o Vcmod7__ALL.a -o Vcmod7
|
|
make: Leaving directory '/home/wtf/projects/a2p/sim/obj_dir'
|
|
Connecting to UART on port 8675...
|
|
Listening on port 8675
|
|
Config=00000364
|
|
Do this then come back and hit enter: ./litex_term.py socket://localhost:8675
|
|
io
|
|
Input clk12 1'h0
|
|
Output digital43 1'h0
|
|
Input pmod0 1'h0
|
|
Input pmod1 1'h0
|
|
Input serial_rx 1'h0
|
|
Output serial_tx 1'h0
|
|
Input user_btn0 1'h0
|
|
Input user_btn1 1'h0
|
|
Output user_led0 1'h0
|
|
Output user_led1 1'h0
|
|
|
|
internals
|
|
<empty Collection object>
|
|
|
|
0000000000[ 0] pys--. : Initializing seed to 0x73a18d0
|
|
0000004320[ 432] pys--. : LED0 changed to 1'h1
|
|
0000005180[ 518] pys--. : LED0 changed to 1'h0
|
|
0000005180[ 518] pys--. : LED1 changed to 1'h1
|
|
0000006580[ 658] pys--. : LED0 changed to 1'h1
|
|
0040000000[ 4000000] pys--. : 4000000 cycles run.
|
|
0080000000[ 8000000] pys--. : 8000000 cycles run.
|
|
0120000000[ 12000000] pys--. : 12000000 cycles run.
|
|
0160000000[ 16000000] pys--. : 16000000 cycles run.
|
|
0200000000[ 20000000] pys--. : 20000000 cycles run.
|
|
0240000000[ 24000000] pys--. : 24000000 cycles run.
|
|
0280000000[ 28000000] pys--. : 28000000 cycles run.
|
|
0320000000[ 32000000] pys--. : 32000000 cycles run.
|
|
0360000000[ 36000000] pys--. : 36000000 cycles run.
|
|
0400000000[ 40000000] pys--. : 40000000 cycles run.
|
|
0440000000[ 44000000] pys--. : 44000000 cycles run.
|
|
0480000000[ 48000000] pys--. : 48000000 cycles run.
|
|
0520000000[ 52000000] pys--. : 52000000 cycles run.
|
|
0560000000[ 56000000] pys--. : 56000000 cycles run.
|
|
0600000000[ 60000000] pys--. : 60000000 cycles run.
|
|
0640000000[ 64000000] pys--. : 64000000 cycles run.
|
|
0680000000[ 68000000] pys--. : 68000000 cycles run.
|
|
0720000000[ 72000000] pys--. : 72000000 cycles run.
|
|
0760000000[ 76000000] pys--. : 76000000 cycles run.
|
|
0800000000[ 80000000] pys--. : 80000000 cycles run.
|
|
0840000000[ 84000000] pys--. : 84000000 cycles run.
|
|
0880000000[ 88000000] pys--. : 88000000 cycles run.
|
|
0920000000[ 92000000] pys--. : 92000000 cycles run.
|
|
0960000000[ 96000000] pys--. : 96000000 cycles run.
|
|
0999999960[ 99999996] pys--. : Quiescing...
|
|
1000000000[ 100000000] pys--. : 100000000 cycles run.
|
|
|
|
|
|
Final State
|
|
Model : cmod7.v
|
|
|
|
|
|
Seed: 073A18D0
|
|
Cycles: 100000001
|
|
Errors: 0
|
|
|
|
You has opulence.
|
|
|
|
Done.
|
|
```
|
|
|
|
* console...
|
|
|
|
```
|
|
wtf@GatorCountry:~/projects/a2p/sim$ python3 ./litex_term.py socket://localhost:8675
|
|
|
|
A2P POWAflight
|
|
|
|
SRAM OK.
|
|
Copying ROM to RAM...
|
|
Jumping to main()...
|
|
--============== Boot ==================--
|
|
No extended boot medium found
|
|
|
|
--============= Console ================--
|
|
|
|
A2P> mem_list
|
|
Available memory regions:
|
|
ROM 0x00000000 0x10000
|
|
SRAM 0x00010000 0x10000
|
|
MAIN_RAM 0x80000000 0x100
|
|
CSR 0xfff00000 0x10000
|
|
|
|
A2P> mem_read 0x0 128
|
|
Memory dump:
|
|
0x00000000 48 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 H...............
|
|
0x00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00000020 00 00 00 00 48 00 00 1c 60 00 00 00 60 00 00 00 ....H...`...`...
|
|
0x00000030 60 00 00 00 60 00 00 00 60 00 00 00 60 00 00 00 `...`...`...`...
|
|
0x00000040 00 00 00 00 00 00 ff ff 00 00 00 00 00 00 00 00 ................
|
|
0x00000050 ff ff ff ff f7 ff ff ff ff f0 30 00 ff ff ff ff ..........0.....
|
|
0x00000060 ff f0 48 00 ff f0 10 00 ff ff ff ff ff f0 18 00 ..H.............
|
|
0x00000070 ff ff ff ff 08 67 53 09 60 00 00 00 60 00 00 00 .....gS.`...`...
|
|
|
|
A2P> mem_read 0x10000 512
|
|
Memory dump:
|
|
0x00010000 00 00 4f 6c 00 00 d8 20 00 00 d8 2c 00 00 00 04 ..Ol... ...,....
|
|
0x00010010 00 00 21 0c 00 00 d8 c4 00 00 d8 d0 00 00 00 04 ..!.............
|
|
0x00010020 00 00 22 60 00 00 d9 ac 00 00 d9 b8 00 00 00 04 .."`............
|
|
0x00010030 00 00 24 74 00 00 da 1c 00 00 da 28 00 00 00 04 ..$t.......(....
|
|
0x00010040 00 00 25 50 00 00 da d0 00 00 da dc 00 00 00 02 ..%P............
|
|
0x00010050 00 00 25 94 00 00 db 40 00 00 db 4c 00 00 00 02 ..%....@...L....
|
|
0x00010060 00 00 26 9c 00 00 db a4 00 00 db b0 00 00 00 02 ..&.............
|
|
0x00010070 00 00 28 14 00 00 dc 20 00 00 dc 2c 00 00 00 02 ..(.... ...,....
|
|
0x00010080 00 00 2a 94 00 00 dd 60 00 00 dd 64 00 00 00 02 ..*....`...d....
|
|
0x00010090 00 00 3e 20 00 00 e1 a4 00 00 e1 b4 00 00 00 04 ..> ............
|
|
0x000100a0 00 00 40 98 00 00 e2 40 00 00 e2 4c 00 00 00 04 ..@....@...L....
|
|
0x000100b0 00 00 44 30 00 00 e2 c8 00 00 e2 d0 00 00 00 04 ..D0............
|
|
0x000100c0 61 62 62 62 61 62 61 62 61 61 62 63 63 61 62 61 abbbababaabccaba
|
|
0x000100d0 62 63 61 63 62 63 62 63 62 61 62 62 61 62 63 62 bcacbcbcbabbabcb
|
|
0x000100e0 61 62 63 61 62 63 62 62 63 62 62 61 63 00 00 00 abcabcbbcbbac...
|
|
0x000100f0 00 00 e5 68 00 00 e5 70 00 00 e5 78 00 00 e5 80 ...h...p...x....
|
|
0x00010100 00 00 e5 90 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010150 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010170 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x00010190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101d0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
0x000101f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
|
|
|
|
A2P> embench slre
|
|
Start: 00956BE1
|
|
Stop: 0202AD69
|
|
Execution cycles = 23937416
|
|
|
|
A2P> embench statemate
|
|
Starting...
|
|
Start: 0258585D
|
|
Stop: 0348B33F
|
|
Execution cycles = 15751906
|
|
```
|