diff --git a/flake.lock b/flake.lock index b609f2e..36b9a39 100644 --- a/flake.lock +++ b/flake.lock @@ -5,11 +5,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "lastModified": 1709126324, + "narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=", "owner": "numtide", "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "rev": "d465f4819400de7c8d874d50b982301f28a84605", "type": "github" }, "original": { @@ -20,11 +20,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1709961763, - "narHash": "sha256-6H95HGJHhEZtyYA3rIQpvamMKAGoa8Yh2rFV29QnuGw=", + "lastModified": 1709237383, + "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3030f185ba6a4bf4f18b87f345f104e6a6961f34", + "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8", "type": "github" }, "original": { diff --git a/npc/constr/Flow.nxdc b/npc/constr/Flow.nxdc index 7a55bc1..acc60e9 100644 --- a/npc/constr/Flow.nxdc +++ b/npc/constr/Flow.nxdc @@ -1,5 +1 @@ top=Flow - -io_sw_0 (SW0) -io_sw_1 (SW1) -io_out (LD0) diff --git a/npc/core/anno.json b/npc/core/anno.json deleted file mode 100644 index 57608d3..0000000 --- a/npc/core/anno.json +++ /dev/null @@ -1,4 +0,0 @@ -[{ - "class": "firrtl.transforms.DontTouchAnnotation", - "target": "~Flow|Control" -}] diff --git a/npc/core/src/main/scala/Main.scala b/npc/core/src/main/scala/Main.scala index a78581f..969166c 100644 --- a/npc/core/src/main/scala/Main.scala +++ b/npc/core/src/main/scala/Main.scala @@ -94,7 +94,6 @@ class Flow extends Module { ram.readPorts(0).enable := true.B ram.readPorts(0).address := pc.out - 0x80000000L.U val inst = ram.readPorts(0).data - printf(cf"$inst\n") import control.pc.SrcSelect._ diff --git a/npc/waveform.vcd b/npc/waveform.vcd deleted file mode 100644 index 7f9ab17..0000000 --- a/npc/waveform.vcd +++ /dev/null @@ -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