> configure(npc)
ysyx_22040000 李心杨 Linux calcite 6.6.19 #1-NixOS SMP PREEMPT_DYNAMIC Fri Mar 1 12:35:11 UTC 2024 x86_64 GNU/Linux 13:34:46 up 3:10, 2 users, load average: 0.77, 1.10, 1.08
This commit is contained in:
parent
545c64c479
commit
6be0953168
5 changed files with 6 additions and 503 deletions
12
flake.lock
12
flake.lock
|
@ -5,11 +5,11 @@
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1709126324,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
"rev": "d465f4819400de7c8d874d50b982301f28a84605",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -20,11 +20,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1709961763,
|
"lastModified": 1709237383,
|
||||||
"narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=",
|
"narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34",
|
"rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
|
@ -1,5 +1 @@
|
||||||
top=Flow
|
top=Flow
|
||||||
|
|
||||||
io_sw_0 (SW0)
|
|
||||||
io_sw_1 (SW1)
|
|
||||||
io_out (LD0)
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
[{
|
|
||||||
"class": "firrtl.transforms.DontTouchAnnotation",
|
|
||||||
"target": "~Flow|Control"
|
|
||||||
}]
|
|
|
@ -94,7 +94,6 @@ class Flow extends Module {
|
||||||
ram.readPorts(0).enable := true.B
|
ram.readPorts(0).enable := true.B
|
||||||
ram.readPorts(0).address := pc.out - 0x80000000L.U
|
ram.readPorts(0).address := pc.out - 0x80000000L.U
|
||||||
val inst = ram.readPorts(0).data
|
val inst = ram.readPorts(0).data
|
||||||
printf(cf"$inst\n")
|
|
||||||
|
|
||||||
import control.pc.SrcSelect._
|
import control.pc.SrcSelect._
|
||||||
|
|
||||||
|
|
488
npc/waveform.vcd
488
npc/waveform.vcd
|
@ -1,488 +0,0 @@
|
||||||
$version Generated by VerilatedVcd $end
|
|
||||||
$timescale 1ps $end
|
|
||||||
$scope module TOP $end
|
|
||||||
$var wire 1 N clock $end
|
|
||||||
$var wire 1 O reset $end
|
|
||||||
$scope module Flow $end
|
|
||||||
$var wire 1 N clock $end
|
|
||||||
$var wire 1 O reset $end
|
|
||||||
$scope module alu $end
|
|
||||||
$var wire 4 P control_op [3:0] $end
|
|
||||||
$var wire 1 Q control_src $end
|
|
||||||
$var wire 32 # in_a_0 [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
|
|
||||||
$scope module control $end
|
|
||||||
$var wire 1 Q reg_writeEnable $end
|
|
||||||
$var wire 1 R reg_writeSelect $end
|
|
||||||
$var wire 1 R pc_srcSelect $end
|
|
||||||
$var wire 4 P alu_op [3:0] $end
|
|
||||||
$var wire 1 Q alu_src $end
|
|
||||||
$var wire 8 S out [7:0] $end
|
|
||||||
$upscope $end
|
|
||||||
$scope module pc $end
|
|
||||||
$var wire 1 N clock $end
|
|
||||||
$var wire 1 O reset $end
|
|
||||||
$var wire 1 R control_srcSelect $end
|
|
||||||
$var wire 32 ' in_pcSrcs_0 [31:0] $end
|
|
||||||
$var wire 32 & in_pcSrcs_1 [31:0] $end
|
|
||||||
$var wire 32 ( out [31:0] $end
|
|
||||||
$var wire 32 ( pc [31:0] $end
|
|
||||||
$upscope $end
|
|
||||||
$scope module ram_mem_ext $end
|
|
||||||
$var wire 10 ) R0_addr [9:0] $end
|
|
||||||
$var wire 1 Q R0_en $end
|
|
||||||
$var wire 1 N R0_clk $end
|
|
||||||
$var wire 32 * R0_data [31:0] $end
|
|
||||||
$upscope $end
|
|
||||||
$scope module reg_core $end
|
|
||||||
$var wire 1 N clock $end
|
|
||||||
$var wire 1 O reset $end
|
|
||||||
$var wire 1 Q writePort_enable $end
|
|
||||||
$var wire 5 + writePort_addr [4:0] $end
|
|
||||||
$var wire 32 & writePort_data [31:0] $end
|
|
||||||
$var wire 5 , readPorts_0_addr [4:0] $end
|
|
||||||
$var wire 32 # readPorts_0_data [31:0] $end
|
|
||||||
$var wire 5 - readPorts_1_addr [4:0] $end
|
|
||||||
$var wire 32 % readPorts_1_data [31:0] $end
|
|
||||||
$var wire 32 . regFile_0 [31:0] $end
|
|
||||||
$var wire 32 / regFile_1 [31:0] $end
|
|
||||||
$var wire 32 0 regFile_2 [31:0] $end
|
|
||||||
$var wire 32 1 regFile_3 [31:0] $end
|
|
||||||
$var wire 32 2 regFile_4 [31:0] $end
|
|
||||||
$var wire 32 3 regFile_5 [31:0] $end
|
|
||||||
$var wire 32 4 regFile_6 [31:0] $end
|
|
||||||
$var wire 32 5 regFile_7 [31:0] $end
|
|
||||||
$var wire 32 6 regFile_8 [31:0] $end
|
|
||||||
$var wire 32 7 regFile_9 [31:0] $end
|
|
||||||
$var wire 32 8 regFile_10 [31:0] $end
|
|
||||||
$var wire 32 9 regFile_11 [31:0] $end
|
|
||||||
$var wire 32 : regFile_12 [31:0] $end
|
|
||||||
$var wire 32 ; regFile_13 [31:0] $end
|
|
||||||
$var wire 32 < regFile_14 [31:0] $end
|
|
||||||
$var wire 32 = regFile_15 [31:0] $end
|
|
||||||
$var wire 32 > regFile_16 [31:0] $end
|
|
||||||
$var wire 32 ? regFile_17 [31:0] $end
|
|
||||||
$var wire 32 @ regFile_18 [31:0] $end
|
|
||||||
$var wire 32 A regFile_19 [31:0] $end
|
|
||||||
$var wire 32 B regFile_20 [31:0] $end
|
|
||||||
$var wire 32 C regFile_21 [31:0] $end
|
|
||||||
$var wire 32 D regFile_22 [31:0] $end
|
|
||||||
$var wire 32 E regFile_23 [31:0] $end
|
|
||||||
$var wire 32 F regFile_24 [31:0] $end
|
|
||||||
$var wire 32 G regFile_25 [31:0] $end
|
|
||||||
$var wire 32 H regFile_26 [31:0] $end
|
|
||||||
$var wire 32 I regFile_27 [31:0] $end
|
|
||||||
$var wire 32 J regFile_28 [31:0] $end
|
|
||||||
$var wire 32 K regFile_29 [31:0] $end
|
|
||||||
$var wire 32 L regFile_30 [31:0] $end
|
|
||||||
$var wire 32 M regFile_31 [31:0] $end
|
|
||||||
$upscope $end
|
|
||||||
$upscope $end
|
|
||||||
$upscope $end
|
|
||||||
$enddefinitions $end
|
|
||||||
|
|
||||||
|
|
||||||
#0
|
|
||||||
b00000000000000000000000000000000 #
|
|
||||||
b00000000000000000000000000000000 $
|
|
||||||
b00000000000000000000000000000000 %
|
|
||||||
b00000000000000000000000000000000 &
|
|
||||||
b00000000000000000000000000000100 '
|
|
||||||
b00000000000000000000000000000000 (
|
|
||||||
b0000000000 )
|
|
||||||
b00000000000000000000000000000000 *
|
|
||||||
b00000 +
|
|
||||||
b00000 ,
|
|
||||||
b00000 -
|
|
||||||
b00000000000000000000000000000000 .
|
|
||||||
b00000000000000000000000000000000 /
|
|
||||||
b00000000000000000000000000000000 0
|
|
||||||
b00000000000000000000000000000000 1
|
|
||||||
b00000000000000000000000000000000 2
|
|
||||||
b00000000000000000000000000000000 3
|
|
||||||
b00000000000000000000000000000000 4
|
|
||||||
b00000000000000000000000000000000 5
|
|
||||||
b00000000000000000000000000000000 6
|
|
||||||
b00000000000000000000000000000000 7
|
|
||||||
b00000000000000000000000000000000 8
|
|
||||||
b00000000000000000000000000000000 9
|
|
||||||
b00000000000000000000000000000000 :
|
|
||||||
b00000000000000000000000000000000 ;
|
|
||||||
b00000000000000000000000000000000 <
|
|
||||||
b00000000000000000000000000000000 =
|
|
||||||
b00000000000000000000000000000000 >
|
|
||||||
b00000000000000000000000000000000 ?
|
|
||||||
b00000000000000000000000000000000 @
|
|
||||||
b00000000000000000000000000000000 A
|
|
||||||
b00000000000000000000000000000000 B
|
|
||||||
b00000000000000000000000000000000 C
|
|
||||||
b00000000000000000000000000000000 D
|
|
||||||
b00000000000000000000000000000000 E
|
|
||||||
b00000000000000000000000000000000 F
|
|
||||||
b00000000000000000000000000000000 G
|
|
||||||
b00000000000000000000000000000000 H
|
|
||||||
b00000000000000000000000000000000 I
|
|
||||||
b00000000000000000000000000000000 J
|
|
||||||
b00000000000000000000000000000000 K
|
|
||||||
b00000000000000000000000000000000 L
|
|
||||||
b00000000000000000000000000000000 M
|
|
||||||
1N
|
|
||||||
1O
|
|
||||||
b0000 P
|
|
||||||
1Q
|
|
||||||
0R
|
|
||||||
b10000001 S
|
|
||||||
#1
|
|
||||||
b00000000000000000000000000000001 $
|
|
||||||
b00000000000000000000000000000001 &
|
|
||||||
b10000000000000000000000000000100 '
|
|
||||||
b10000000000000000000000000000000 (
|
|
||||||
b00000000000100010100000100010011 *
|
|
||||||
b00010 +
|
|
||||||
b00010 ,
|
|
||||||
b00001 -
|
|
||||||
0N
|
|
||||||
#2
|
|
||||||
1N
|
|
||||||
#3
|
|
||||||
0N
|
|
||||||
#4
|
|
||||||
1N
|
|
||||||
#5
|
|
||||||
0N
|
|
||||||
#6
|
|
||||||
1N
|
|
||||||
#7
|
|
||||||
0N
|
|
||||||
#8
|
|
||||||
1N
|
|
||||||
#9
|
|
||||||
0N
|
|
||||||
#10
|
|
||||||
1N
|
|
||||||
0O
|
|
||||||
#11
|
|
||||||
b00000000000000000000000000000001 #
|
|
||||||
b10000000000000000000000000001000 '
|
|
||||||
b10000000000000000000000000000100 (
|
|
||||||
b0000000100 )
|
|
||||||
b00000000000000000000000000000001 0
|
|
||||||
0N
|
|
||||||
#12
|
|
||||||
1N
|
|
||||||
#13
|
|
||||||
b10000000000000000000000000001100 '
|
|
||||||
b10000000000000000000000000001000 (
|
|
||||||
b0000001000 )
|
|
||||||
0N
|
|
||||||
#14
|
|
||||||
1N
|
|
||||||
#15
|
|
||||||
b10000000000000000000000000010000 '
|
|
||||||
b10000000000000000000000000001100 (
|
|
||||||
b0000001100 )
|
|
||||||
0N
|
|
||||||
#16
|
|
||||||
1N
|
|
||||||
#17
|
|
||||||
b00000000000000000000000000000000 #
|
|
||||||
b00000000000000000000000000000000 $
|
|
||||||
b00000000000000000000000000000000 &
|
|
||||||
b10000000000000000000000000010100 '
|
|
||||||
b10000000000000000000000000010000 (
|
|
||||||
b0000010000 )
|
|
||||||
b00000000000000000000000000000000 *
|
|
||||||
b00000 +
|
|
||||||
b00000 ,
|
|
||||||
b00000 -
|
|
||||||
0N
|
|
||||||
#18
|
|
||||||
1N
|
|
||||||
#19
|
|
||||||
b10000000000000000000000000011000 '
|
|
||||||
b10000000000000000000000000010100 (
|
|
||||||
b0000010100 )
|
|
||||||
0N
|
|
||||||
#20
|
|
||||||
1N
|
|
||||||
#21
|
|
||||||
b10000000000000000000000000011100 '
|
|
||||||
b10000000000000000000000000011000 (
|
|
||||||
b0000011000 )
|
|
||||||
0N
|
|
||||||
#22
|
|
||||||
1N
|
|
||||||
#23
|
|
||||||
b10000000000000000000000000100000 '
|
|
||||||
b10000000000000000000000000011100 (
|
|
||||||
b0000011100 )
|
|
||||||
0N
|
|
||||||
#24
|
|
||||||
1N
|
|
||||||
#25
|
|
||||||
b10000000000000000000000000100100 '
|
|
||||||
b10000000000000000000000000100000 (
|
|
||||||
b0000100000 )
|
|
||||||
0N
|
|
||||||
#26
|
|
||||||
1N
|
|
||||||
#27
|
|
||||||
b10000000000000000000000000101000 '
|
|
||||||
b10000000000000000000000000100100 (
|
|
||||||
b0000100100 )
|
|
||||||
0N
|
|
||||||
#28
|
|
||||||
1N
|
|
||||||
#29
|
|
||||||
b10000000000000000000000000101100 '
|
|
||||||
b10000000000000000000000000101000 (
|
|
||||||
b0000101000 )
|
|
||||||
0N
|
|
||||||
#30
|
|
||||||
1N
|
|
||||||
#31
|
|
||||||
b10000000000000000000000000110000 '
|
|
||||||
b10000000000000000000000000101100 (
|
|
||||||
b0000101100 )
|
|
||||||
0N
|
|
||||||
#32
|
|
||||||
1N
|
|
||||||
#33
|
|
||||||
b10000000000000000000000000110100 '
|
|
||||||
b10000000000000000000000000110000 (
|
|
||||||
b0000110000 )
|
|
||||||
0N
|
|
||||||
#34
|
|
||||||
1N
|
|
||||||
#35
|
|
||||||
b10000000000000000000000000111000 '
|
|
||||||
b10000000000000000000000000110100 (
|
|
||||||
b0000110100 )
|
|
||||||
0N
|
|
||||||
#36
|
|
||||||
1N
|
|
||||||
#37
|
|
||||||
b10000000000000000000000000111100 '
|
|
||||||
b10000000000000000000000000111000 (
|
|
||||||
b0000111000 )
|
|
||||||
0N
|
|
||||||
#38
|
|
||||||
1N
|
|
||||||
#39
|
|
||||||
b10000000000000000000000001000000 '
|
|
||||||
b10000000000000000000000000111100 (
|
|
||||||
b0000111100 )
|
|
||||||
0N
|
|
||||||
#40
|
|
||||||
1N
|
|
||||||
#41
|
|
||||||
b10000000000000000000000001000100 '
|
|
||||||
b10000000000000000000000001000000 (
|
|
||||||
b0001000000 )
|
|
||||||
0N
|
|
||||||
#42
|
|
||||||
1N
|
|
||||||
#43
|
|
||||||
b10000000000000000000000001001000 '
|
|
||||||
b10000000000000000000000001000100 (
|
|
||||||
b0001000100 )
|
|
||||||
0N
|
|
||||||
#44
|
|
||||||
1N
|
|
||||||
#45
|
|
||||||
b10000000000000000000000001001100 '
|
|
||||||
b10000000000000000000000001001000 (
|
|
||||||
b0001001000 )
|
|
||||||
0N
|
|
||||||
#46
|
|
||||||
1N
|
|
||||||
#47
|
|
||||||
b10000000000000000000000001010000 '
|
|
||||||
b10000000000000000000000001001100 (
|
|
||||||
b0001001100 )
|
|
||||||
0N
|
|
||||||
#48
|
|
||||||
1N
|
|
||||||
#49
|
|
||||||
b10000000000000000000000001010100 '
|
|
||||||
b10000000000000000000000001010000 (
|
|
||||||
b0001010000 )
|
|
||||||
0N
|
|
||||||
#50
|
|
||||||
1N
|
|
||||||
#51
|
|
||||||
b10000000000000000000000001011000 '
|
|
||||||
b10000000000000000000000001010100 (
|
|
||||||
b0001010100 )
|
|
||||||
0N
|
|
||||||
#52
|
|
||||||
1N
|
|
||||||
#53
|
|
||||||
b10000000000000000000000001011100 '
|
|
||||||
b10000000000000000000000001011000 (
|
|
||||||
b0001011000 )
|
|
||||||
0N
|
|
||||||
#54
|
|
||||||
1N
|
|
||||||
#55
|
|
||||||
b10000000000000000000000001100000 '
|
|
||||||
b10000000000000000000000001011100 (
|
|
||||||
b0001011100 )
|
|
||||||
0N
|
|
||||||
#56
|
|
||||||
1N
|
|
||||||
#57
|
|
||||||
b10000000000000000000000001100100 '
|
|
||||||
b10000000000000000000000001100000 (
|
|
||||||
b0001100000 )
|
|
||||||
0N
|
|
||||||
#58
|
|
||||||
1N
|
|
||||||
#59
|
|
||||||
b10000000000000000000000001101000 '
|
|
||||||
b10000000000000000000000001100100 (
|
|
||||||
b0001100100 )
|
|
||||||
0N
|
|
||||||
#60
|
|
||||||
1N
|
|
||||||
#61
|
|
||||||
b10000000000000000000000001101100 '
|
|
||||||
b10000000000000000000000001101000 (
|
|
||||||
b0001101000 )
|
|
||||||
0N
|
|
||||||
#62
|
|
||||||
1N
|
|
||||||
#63
|
|
||||||
b10000000000000000000000001110000 '
|
|
||||||
b10000000000000000000000001101100 (
|
|
||||||
b0001101100 )
|
|
||||||
0N
|
|
||||||
#64
|
|
||||||
1N
|
|
||||||
#65
|
|
||||||
b10000000000000000000000001110100 '
|
|
||||||
b10000000000000000000000001110000 (
|
|
||||||
b0001110000 )
|
|
||||||
0N
|
|
||||||
#66
|
|
||||||
1N
|
|
||||||
#67
|
|
||||||
b10000000000000000000000001111000 '
|
|
||||||
b10000000000000000000000001110100 (
|
|
||||||
b0001110100 )
|
|
||||||
0N
|
|
||||||
#68
|
|
||||||
1N
|
|
||||||
#69
|
|
||||||
b10000000000000000000000001111100 '
|
|
||||||
b10000000000000000000000001111000 (
|
|
||||||
b0001111000 )
|
|
||||||
0N
|
|
||||||
#70
|
|
||||||
1N
|
|
||||||
#71
|
|
||||||
b10000000000000000000000010000000 '
|
|
||||||
b10000000000000000000000001111100 (
|
|
||||||
b0001111100 )
|
|
||||||
0N
|
|
||||||
#72
|
|
||||||
1N
|
|
||||||
#73
|
|
||||||
b10000000000000000000000010000100 '
|
|
||||||
b10000000000000000000000010000000 (
|
|
||||||
b0010000000 )
|
|
||||||
0N
|
|
||||||
#74
|
|
||||||
1N
|
|
||||||
#75
|
|
||||||
b10000000000000000000000010001000 '
|
|
||||||
b10000000000000000000000010000100 (
|
|
||||||
b0010000100 )
|
|
||||||
0N
|
|
||||||
#76
|
|
||||||
1N
|
|
||||||
#77
|
|
||||||
b10000000000000000000000010001100 '
|
|
||||||
b10000000000000000000000010001000 (
|
|
||||||
b0010001000 )
|
|
||||||
0N
|
|
||||||
#78
|
|
||||||
1N
|
|
||||||
#79
|
|
||||||
b10000000000000000000000010010000 '
|
|
||||||
b10000000000000000000000010001100 (
|
|
||||||
b0010001100 )
|
|
||||||
0N
|
|
||||||
#80
|
|
||||||
1N
|
|
||||||
#81
|
|
||||||
b10000000000000000000000010010100 '
|
|
||||||
b10000000000000000000000010010000 (
|
|
||||||
b0010010000 )
|
|
||||||
0N
|
|
||||||
#82
|
|
||||||
1N
|
|
||||||
#83
|
|
||||||
b10000000000000000000000010011000 '
|
|
||||||
b10000000000000000000000010010100 (
|
|
||||||
b0010010100 )
|
|
||||||
0N
|
|
||||||
#84
|
|
||||||
1N
|
|
||||||
#85
|
|
||||||
b10000000000000000000000010011100 '
|
|
||||||
b10000000000000000000000010011000 (
|
|
||||||
b0010011000 )
|
|
||||||
0N
|
|
||||||
#86
|
|
||||||
1N
|
|
||||||
#87
|
|
||||||
b10000000000000000000000010100000 '
|
|
||||||
b10000000000000000000000010011100 (
|
|
||||||
b0010011100 )
|
|
||||||
0N
|
|
||||||
#88
|
|
||||||
1N
|
|
||||||
#89
|
|
||||||
b10000000000000000000000010100100 '
|
|
||||||
b10000000000000000000000010100000 (
|
|
||||||
b0010100000 )
|
|
||||||
0N
|
|
||||||
#90
|
|
||||||
1N
|
|
||||||
#91
|
|
||||||
b10000000000000000000000010101000 '
|
|
||||||
b10000000000000000000000010100100 (
|
|
||||||
b0010100100 )
|
|
||||||
0N
|
|
||||||
#92
|
|
||||||
1N
|
|
||||||
#93
|
|
||||||
b10000000000000000000000010101100 '
|
|
||||||
b10000000000000000000000010101000 (
|
|
||||||
b0010101000 )
|
|
||||||
0N
|
|
||||||
#94
|
|
||||||
1N
|
|
||||||
#95
|
|
||||||
b10000000000000000000000010110000 '
|
|
||||||
b10000000000000000000000010101100 (
|
|
||||||
b0010101100 )
|
|
||||||
0N
|
|
||||||
#96
|
|
||||||
1N
|
|
||||||
#97
|
|
||||||
b10000000000000000000000010110100 '
|
|
||||||
b10000000000000000000000010110000 (
|
|
||||||
b0010110000 )
|
|
||||||
0N
|
|
||||||
#98
|
|
||||||
1N
|
|
||||||
#99
|
|
||||||
b10000000000000000000000010111000 '
|
|
||||||
b10000000000000000000000010110100 (
|
|
||||||
b0010110100 )
|
|
||||||
0N
|
|
Loading…
Reference in a new issue