> build_flow_VFlow

ysyx_22040000 李心杨
 Linux calcite 6.6.19 #1-NixOS SMP PREEMPT_DYNAMIC Fri Mar  1 12:35:11 UTC 2024 x86_64 GNU/Linux
  11:54:44  up   1:30,  2 users,  load average: 0.58, 0.75, 0.87
This commit is contained in:
tracer-ysyx 2024-03-13 11:54:44 +08:00 committed by xinyangli
parent a5c273ead8
commit 3e3ad2ce06
2 changed files with 390 additions and 380 deletions

View file

@ -19,6 +19,12 @@ int main(int argc, char **argv, char **env) {
top->trace(m_trace, 5); top->trace(m_trace, 5);
m_trace->open("waveform.vcd"); m_trace->open("waveform.vcd");
#endif #endif
top->reset = 1;
top->clock = 1;
top->eval();
top->clock = 0;
top->reset = 0;
top->eval();
for (sim_time = 0; sim_time < MAX_SIM_TIME; sim_time++) { for (sim_time = 0; sim_time < MAX_SIM_TIME; sim_time++) {
top->eval(); top->eval();
top->clock = !top->clock; top->clock = !top->clock;

View file

@ -1,81 +1,84 @@
$version Generated by VerilatedVcd $end $version Generated by VerilatedVcd $end
$timescale 1ps $end $timescale 1ps $end
$scope module TOP $end $scope module TOP $end
$var wire 1 M clock $end $var wire 1 N clock $end
$var wire 1 N reset $end $var wire 1 O reset $end
$scope module Flow $end $scope module Flow $end
$var wire 1 M clock $end $var wire 1 N clock $end
$var wire 1 N reset $end $var wire 1 O reset $end
$scope module alu $end $scope module alu $end
$var wire 4 O control_op [3:0] $end $var wire 4 P control_op [3:0] $end
$var wire 32 # in_a [31:0] $end $var wire 1 Q control_src $end
$var wire 32 $ in_b [31:0] $end $var wire 32 # in_a_0 [31:0] $end
$var wire 32 % out_result [31:0] $end $var wire 32 $ in_a_1 [31:0] $end
$var wire 32 % in_b [31:0] $end
$var wire 32 & out_result [31:0] $end
$upscope $end $upscope $end
$scope module control $end $scope module control $end
$var wire 1 P reg_writeEnable $end $var wire 1 Q reg_writeEnable $end
$var wire 1 P reg_writeSelect $end $var wire 1 R reg_writeSelect $end
$var wire 1 P pc_srcSelect $end $var wire 1 R pc_srcSelect $end
$var wire 4 O alu_op [3:0] $end $var wire 4 P alu_op [3:0] $end
$var wire 7 Q out [6:0] $end $var wire 1 Q alu_src $end
$var wire 8 S out [7:0] $end
$upscope $end $upscope $end
$scope module pc $end $scope module pc $end
$var wire 1 M clock $end $var wire 1 N clock $end
$var wire 1 N reset $end $var wire 1 O reset $end
$var wire 1 P control_srcSelect $end $var wire 1 R control_srcSelect $end
$var wire 32 & in_pcSrcs_0 [31:0] $end $var wire 32 ' in_pcSrcs_0 [31:0] $end
$var wire 32 % in_pcSrcs_1 [31:0] $end $var wire 32 & in_pcSrcs_1 [31:0] $end
$var wire 32 ' out [31:0] $end $var wire 32 ( out [31:0] $end
$var wire 32 ' pc [31:0] $end $var wire 32 ( pc [31:0] $end
$upscope $end $upscope $end
$scope module ram_mem_ext $end $scope module ram_mem_ext $end
$var wire 10 ( R0_addr [9:0] $end $var wire 10 ) R0_addr [9:0] $end
$var wire 1 R R0_en $end $var wire 1 Q R0_en $end
$var wire 1 M R0_clk $end $var wire 1 N R0_clk $end
$var wire 32 ) R0_data [31:0] $end $var wire 32 * R0_data [31:0] $end
$upscope $end $upscope $end
$scope module reg_core $end $scope module reg_core $end
$var wire 1 M clock $end $var wire 1 N clock $end
$var wire 1 N reset $end $var wire 1 O reset $end
$var wire 1 P writePort_enable $end $var wire 1 Q writePort_enable $end
$var wire 5 * writePort_addr [4:0] $end $var wire 5 + writePort_addr [4:0] $end
$var wire 32 % writePort_data [31:0] $end $var wire 32 & writePort_data [31:0] $end
$var wire 5 + readPorts_0_addr [4:0] $end $var wire 5 , readPorts_0_addr [4:0] $end
$var wire 32 # readPorts_0_data [31:0] $end $var wire 32 # readPorts_0_data [31:0] $end
$var wire 5 , readPorts_1_addr [4:0] $end $var wire 5 - readPorts_1_addr [4:0] $end
$var wire 32 $ readPorts_1_data [31:0] $end $var wire 32 % readPorts_1_data [31:0] $end
$var wire 32 - regFile_0 [31:0] $end $var wire 32 . regFile_0 [31:0] $end
$var wire 32 . regFile_1 [31:0] $end $var wire 32 / regFile_1 [31:0] $end
$var wire 32 / regFile_2 [31:0] $end $var wire 32 0 regFile_2 [31:0] $end
$var wire 32 0 regFile_3 [31:0] $end $var wire 32 1 regFile_3 [31:0] $end
$var wire 32 1 regFile_4 [31:0] $end $var wire 32 2 regFile_4 [31:0] $end
$var wire 32 2 regFile_5 [31:0] $end $var wire 32 3 regFile_5 [31:0] $end
$var wire 32 3 regFile_6 [31:0] $end $var wire 32 4 regFile_6 [31:0] $end
$var wire 32 4 regFile_7 [31:0] $end $var wire 32 5 regFile_7 [31:0] $end
$var wire 32 5 regFile_8 [31:0] $end $var wire 32 6 regFile_8 [31:0] $end
$var wire 32 6 regFile_9 [31:0] $end $var wire 32 7 regFile_9 [31:0] $end
$var wire 32 7 regFile_10 [31:0] $end $var wire 32 8 regFile_10 [31:0] $end
$var wire 32 8 regFile_11 [31:0] $end $var wire 32 9 regFile_11 [31:0] $end
$var wire 32 9 regFile_12 [31:0] $end $var wire 32 : regFile_12 [31:0] $end
$var wire 32 : regFile_13 [31:0] $end $var wire 32 ; regFile_13 [31:0] $end
$var wire 32 ; regFile_14 [31:0] $end $var wire 32 < regFile_14 [31:0] $end
$var wire 32 < regFile_15 [31:0] $end $var wire 32 = regFile_15 [31:0] $end
$var wire 32 = regFile_16 [31:0] $end $var wire 32 > regFile_16 [31:0] $end
$var wire 32 > regFile_17 [31:0] $end $var wire 32 ? regFile_17 [31:0] $end
$var wire 32 ? regFile_18 [31:0] $end $var wire 32 @ regFile_18 [31:0] $end
$var wire 32 @ regFile_19 [31:0] $end $var wire 32 A regFile_19 [31:0] $end
$var wire 32 A regFile_20 [31:0] $end $var wire 32 B regFile_20 [31:0] $end
$var wire 32 B regFile_21 [31:0] $end $var wire 32 C regFile_21 [31:0] $end
$var wire 32 C regFile_22 [31:0] $end $var wire 32 D regFile_22 [31:0] $end
$var wire 32 D regFile_23 [31:0] $end $var wire 32 E regFile_23 [31:0] $end
$var wire 32 E regFile_24 [31:0] $end $var wire 32 F regFile_24 [31:0] $end
$var wire 32 F regFile_25 [31:0] $end $var wire 32 G regFile_25 [31:0] $end
$var wire 32 G regFile_26 [31:0] $end $var wire 32 H regFile_26 [31:0] $end
$var wire 32 H regFile_27 [31:0] $end $var wire 32 I regFile_27 [31:0] $end
$var wire 32 I regFile_28 [31:0] $end $var wire 32 J regFile_28 [31:0] $end
$var wire 32 J regFile_29 [31:0] $end $var wire 32 K regFile_29 [31:0] $end
$var wire 32 K regFile_30 [31:0] $end $var wire 32 L regFile_30 [31:0] $end
$var wire 32 L regFile_31 [31:0] $end $var wire 32 M regFile_31 [31:0] $end
$upscope $end $upscope $end
$upscope $end $upscope $end
$upscope $end $upscope $end
@ -86,14 +89,14 @@ $enddefinitions $end
b00000000000000000000000000000000 # b00000000000000000000000000000000 #
b00000000000000000000000000000000 $ b00000000000000000000000000000000 $
b00000000000000000000000000000000 % b00000000000000000000000000000000 %
b00000000000000000000000000000100 & b00000000000000000000000000000000 &
b00000000000000000000000000000000 ' b00000000000000000000000000000100 '
b0000000000 ( b00000000000000000000000000000000 (
b00000000000000000000000000000000 ) b0000000000 )
b00000 * b00000000000000000000000000000000 *
b00000 + b00000 +
b00000 , b00000 ,
b00000000000000000000000000000000 - b00000 -
b00000000000000000000000000000000 . b00000000000000000000000000000000 .
b00000000000000000000000000000000 / b00000000000000000000000000000000 /
b00000000000000000000000000000000 0 b00000000000000000000000000000000 0
@ -125,363 +128,364 @@ b00000000000000000000000000000000 I
b00000000000000000000000000000000 J b00000000000000000000000000000000 J
b00000000000000000000000000000000 K b00000000000000000000000000000000 K
b00000000000000000000000000000000 L b00000000000000000000000000000000 L
1M b00000000000000000000000000000000 M
0N 1N
b0000 O 0O
0P b0000 P
b0000000 Q 1Q
1R 0R
b10000001 S
#1 #1
b00000000000000000000000000001000 &
b00000000000000000000000000000100 '
b0000000100 (
b00000000000010000100000100010011 )
b00010 *
b10000 +
0M
#2
1M
#3
b00000000000000000000000000001100 &
b00000000000000000000000000001000 ' b00000000000000000000000000001000 '
b0000001000 ( b00000000000000000000000000000100 (
0M b0000000100 )
#4 b00000000000010000100000100010011 *
1M b00010 +
#5 b10000 ,
b00000000000000000000000000010000 & 0N
#2
1N
#3
b00000000000000000000000000001100 ' b00000000000000000000000000001100 '
b0000001100 ( b00000000000000000000000000001000 (
0M b0000001000 )
#6 0N
1M #4
#7 1N
b00000000000000000000000000010100 & #5
b00000000000000000000000000010000 ' b00000000000000000000000000010000 '
b0000010000 ( b00000000000000000000000000001100 (
b00000000000000000000000000000000 ) b0000001100 )
b00000 * 0N
b00000 + #6
0M 1N
#8 #7
1M
#9
b00000000000000000000000000011000 &
b00000000000000000000000000010100 ' b00000000000000000000000000010100 '
b0000010100 ( b00000000000000000000000000010000 (
0M b0000010000 )
#10 b00000000000000000000000000000000 *
1M b00000 +
#11 b00000 ,
b00000000000000000000000000011100 & 0N
#8
1N
#9
b00000000000000000000000000011000 ' b00000000000000000000000000011000 '
b0000011000 ( b00000000000000000000000000010100 (
0M b0000010100 )
#12 0N
1M #10
#13 1N
b00000000000000000000000000100000 & #11
b00000000000000000000000000011100 ' b00000000000000000000000000011100 '
b0000011100 ( b00000000000000000000000000011000 (
0M b0000011000 )
#14 0N
1M #12
#15 1N
b00000000000000000000000000100100 & #13
b00000000000000000000000000100000 ' b00000000000000000000000000100000 '
b0000100000 ( b00000000000000000000000000011100 (
0M b0000011100 )
#16 0N
1M #14
#17 1N
b00000000000000000000000000101000 & #15
b00000000000000000000000000100100 ' b00000000000000000000000000100100 '
b0000100100 ( b00000000000000000000000000100000 (
0M b0000100000 )
#18 0N
1M #16
#19 1N
b00000000000000000000000000101100 & #17
b00000000000000000000000000101000 ' b00000000000000000000000000101000 '
b0000101000 ( b00000000000000000000000000100100 (
0M b0000100100 )
#20 0N
1M #18
#21 1N
b00000000000000000000000000110000 & #19
b00000000000000000000000000101100 ' b00000000000000000000000000101100 '
b0000101100 ( b00000000000000000000000000101000 (
0M b0000101000 )
#22 0N
1M #20
#23 1N
b00000000000000000000000000110100 & #21
b00000000000000000000000000110000 ' b00000000000000000000000000110000 '
b0000110000 ( b00000000000000000000000000101100 (
0M b0000101100 )
#24 0N
1M #22
#25 1N
b00000000000000000000000000111000 & #23
b00000000000000000000000000110100 ' b00000000000000000000000000110100 '
b0000110100 ( b00000000000000000000000000110000 (
0M b0000110000 )
#26 0N
1M #24
#27 1N
b00000000000000000000000000111100 & #25
b00000000000000000000000000111000 ' b00000000000000000000000000111000 '
b0000111000 ( b00000000000000000000000000110100 (
0M b0000110100 )
#28 0N
1M #26
#29 1N
b00000000000000000000000001000000 & #27
b00000000000000000000000000111100 ' b00000000000000000000000000111100 '
b0000111100 ( b00000000000000000000000000111000 (
0M b0000111000 )
#30 0N
1M #28
#31 1N
b00000000000000000000000001000100 & #29
b00000000000000000000000001000000 ' b00000000000000000000000001000000 '
b0001000000 ( b00000000000000000000000000111100 (
0M b0000111100 )
#32 0N
1M #30
#33 1N
b00000000000000000000000001001000 & #31
b00000000000000000000000001000100 ' b00000000000000000000000001000100 '
b0001000100 ( b00000000000000000000000001000000 (
0M b0001000000 )
#34 0N
1M #32
#35 1N
b00000000000000000000000001001100 & #33
b00000000000000000000000001001000 ' b00000000000000000000000001001000 '
b0001001000 ( b00000000000000000000000001000100 (
0M b0001000100 )
#36 0N
1M #34
#37 1N
b00000000000000000000000001010000 & #35
b00000000000000000000000001001100 ' b00000000000000000000000001001100 '
b0001001100 ( b00000000000000000000000001001000 (
0M b0001001000 )
#38 0N
1M #36
#39 1N
b00000000000000000000000001010100 & #37
b00000000000000000000000001010000 ' b00000000000000000000000001010000 '
b0001010000 ( b00000000000000000000000001001100 (
0M b0001001100 )
#40 0N
1M #38
#41 1N
b00000000000000000000000001011000 & #39
b00000000000000000000000001010100 ' b00000000000000000000000001010100 '
b0001010100 ( b00000000000000000000000001010000 (
0M b0001010000 )
#42 0N
1M #40
#43 1N
b00000000000000000000000001011100 & #41
b00000000000000000000000001011000 ' b00000000000000000000000001011000 '
b0001011000 ( b00000000000000000000000001010100 (
0M b0001010100 )
#44 0N
1M #42
#45 1N
b00000000000000000000000001100000 & #43
b00000000000000000000000001011100 ' b00000000000000000000000001011100 '
b0001011100 ( b00000000000000000000000001011000 (
0M b0001011000 )
#46 0N
1M #44
#47 1N
b00000000000000000000000001100100 & #45
b00000000000000000000000001100000 ' b00000000000000000000000001100000 '
b0001100000 ( b00000000000000000000000001011100 (
0M b0001011100 )
#48 0N
1M #46
#49 1N
b00000000000000000000000001101000 & #47
b00000000000000000000000001100100 ' b00000000000000000000000001100100 '
b0001100100 ( b00000000000000000000000001100000 (
0M b0001100000 )
#50 0N
1M #48
#51 1N
b00000000000000000000000001101100 & #49
b00000000000000000000000001101000 ' b00000000000000000000000001101000 '
b0001101000 ( b00000000000000000000000001100100 (
0M b0001100100 )
#52 0N
1M #50
#53 1N
b00000000000000000000000001110000 & #51
b00000000000000000000000001101100 ' b00000000000000000000000001101100 '
b0001101100 ( b00000000000000000000000001101000 (
0M b0001101000 )
#54 0N
1M #52
#55 1N
b00000000000000000000000001110100 & #53
b00000000000000000000000001110000 ' b00000000000000000000000001110000 '
b0001110000 ( b00000000000000000000000001101100 (
0M b0001101100 )
#56 0N
1M #54
#57 1N
b00000000000000000000000001111000 & #55
b00000000000000000000000001110100 ' b00000000000000000000000001110100 '
b0001110100 ( b00000000000000000000000001110000 (
0M b0001110000 )
#58 0N
1M #56
#59 1N
b00000000000000000000000001111100 & #57
b00000000000000000000000001111000 ' b00000000000000000000000001111000 '
b0001111000 ( b00000000000000000000000001110100 (
0M b0001110100 )
#60 0N
1M #58
#61 1N
b00000000000000000000000010000000 & #59
b00000000000000000000000001111100 ' b00000000000000000000000001111100 '
b0001111100 ( b00000000000000000000000001111000 (
0M b0001111000 )
#62 0N
1M #60
#63 1N
b00000000000000000000000010000100 & #61
b00000000000000000000000010000000 ' b00000000000000000000000010000000 '
b0010000000 ( b00000000000000000000000001111100 (
0M b0001111100 )
#64 0N
1M #62
#65 1N
b00000000000000000000000010001000 & #63
b00000000000000000000000010000100 ' b00000000000000000000000010000100 '
b0010000100 ( b00000000000000000000000010000000 (
0M b0010000000 )
#66 0N
1M #64
#67 1N
b00000000000000000000000010001100 & #65
b00000000000000000000000010001000 ' b00000000000000000000000010001000 '
b0010001000 ( b00000000000000000000000010000100 (
0M b0010000100 )
#68 0N
1M #66
#69 1N
b00000000000000000000000010010000 & #67
b00000000000000000000000010001100 ' b00000000000000000000000010001100 '
b0010001100 ( b00000000000000000000000010001000 (
0M b0010001000 )
#70 0N
1M #68
#71 1N
b00000000000000000000000010010100 & #69
b00000000000000000000000010010000 ' b00000000000000000000000010010000 '
b0010010000 ( b00000000000000000000000010001100 (
0M b0010001100 )
#72 0N
1M #70
#73 1N
b00000000000000000000000010011000 & #71
b00000000000000000000000010010100 ' b00000000000000000000000010010100 '
b0010010100 ( b00000000000000000000000010010000 (
0M b0010010000 )
#74 0N
1M #72
#75 1N
b00000000000000000000000010011100 & #73
b00000000000000000000000010011000 ' b00000000000000000000000010011000 '
b0010011000 ( b00000000000000000000000010010100 (
0M b0010010100 )
#76 0N
1M #74
#77 1N
b00000000000000000000000010100000 & #75
b00000000000000000000000010011100 ' b00000000000000000000000010011100 '
b0010011100 ( b00000000000000000000000010011000 (
0M b0010011000 )
#78 0N
1M #76
#79 1N
b00000000000000000000000010100100 & #77
b00000000000000000000000010100000 ' b00000000000000000000000010100000 '
b0010100000 ( b00000000000000000000000010011100 (
0M b0010011100 )
#80 0N
1M #78
#81 1N
b00000000000000000000000010101000 & #79
b00000000000000000000000010100100 ' b00000000000000000000000010100100 '
b0010100100 ( b00000000000000000000000010100000 (
0M b0010100000 )
#82 0N
1M #80
#83 1N
b00000000000000000000000010101100 & #81
b00000000000000000000000010101000 ' b00000000000000000000000010101000 '
b0010101000 ( b00000000000000000000000010100100 (
0M b0010100100 )
#84 0N
1M #82
#85 1N
b00000000000000000000000010110000 & #83
b00000000000000000000000010101100 ' b00000000000000000000000010101100 '
b0010101100 ( b00000000000000000000000010101000 (
0M b0010101000 )
#86 0N
1M #84
#87 1N
b00000000000000000000000010110100 & #85
b00000000000000000000000010110000 ' b00000000000000000000000010110000 '
b0010110000 ( b00000000000000000000000010101100 (
0M b0010101100 )
#88 0N
1M #86
#89 1N
b00000000000000000000000010111000 & #87
b00000000000000000000000010110100 ' b00000000000000000000000010110100 '
b0010110100 ( b00000000000000000000000010110000 (
0M b0010110000 )
#90 0N
1M #88
#91 1N
b00000000000000000000000010111100 & #89
b00000000000000000000000010111000 ' b00000000000000000000000010111000 '
b0010111000 ( b00000000000000000000000010110100 (
0M b0010110100 )
#92 0N
1M #90
#93 1N
b00000000000000000000000011000000 & #91
b00000000000000000000000010111100 ' b00000000000000000000000010111100 '
b0010111100 ( b00000000000000000000000010111000 (
0M b0010111000 )
#94 0N
1M #92
#95 1N
b00000000000000000000000011000100 & #93
b00000000000000000000000011000000 ' b00000000000000000000000011000000 '
b0011000000 ( b00000000000000000000000010111100 (
0M b0010111100 )
#96 0N
1M #94
#97 1N
b00000000000000000000000011001000 & #95
b00000000000000000000000011000100 ' b00000000000000000000000011000100 '
b0011000100 ( b00000000000000000000000011000000 (
0M b0011000000 )
#98 0N
1M #96
#99 1N
b00000000000000000000000011001100 & #97
b00000000000000000000000011001000 ' b00000000000000000000000011001000 '
b0011001000 ( b00000000000000000000000011000100 (
0M b0011000100 )
0N
#98
1N
#99
b00000000000000000000000011001100 '
b00000000000000000000000011001000 (
b0011001000 )
0N