Open niyas-sait opened 6 months ago
Have you tried enabling the systemverilog flag (-g2012) with this command?
iverilog -Wall -g2012 <file-with-above-content>
I believe Icarus Verilog runs the 2005 version (-g2005) by default. I think that might fix it. Similar isssue for reference: https://stackoverflow.com/questions/64708162/icarus-verilog-reg-show-cannot-be-driven-by-primitives-or-continuous-assignmen
Realised this other PR uses the updated flag as well, think it might just be the fix: https://github.com/adam-maj/tiny-gpu/pull/2/files
I think you're right that that's the fix for everyone @adviyer - will push that when I'm back at my computer
@niyas-sait if you want to remove all the reg changes in this PR and just update to use the 2012 version I can merge this or alternatively will just make the change myself
Thanks @adam-maj and @adviyer
I tried top of master (9a07e2b9) and still getting lots of errors during compilation.
make compile
make[1]: Entering directory '/home/n00840801/Workspace/tiny-gpu'
make compile_alu
make[2]: Entering directory '/home/n00840801/Workspace/tiny-gpu'
sv2v -w build/alu.v src/alu.sv
make[2]: Leaving directory '/home/n00840801/Workspace/tiny-gpu'
sv2v -I src/* -w build/gpu.v
echo "" >> build/gpu.v
cat build/alu.v >> build/gpu.v
echo '`timescale 1ns/1ns' > build/temp.v
cat build/gpu.v >> build/temp.v
mv build/temp.v build/gpu.v
make[1]: Leaving directory '/home/n00840801/Workspace/tiny-gpu'
iverilog -o build/sim.vvp -s gpu -g2012 build/gpu.v
build/gpu.v:187: error: Port data_mem_read_data of module core is declared as input and as a reg type.
build/gpu.v:186: error: Port data_mem_read_ready of module core is declared as input and as a reg type.
build/gpu.v:191: error: Port data_mem_write_ready of module core is declared as input and as a reg type.
build/gpu.v:183: error: Port program_mem_read_data of module core is declared as input and as a reg type.
build/gpu.v:182: error: Port program_mem_read_ready of module core is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:641: error: Port core_state of module fetcher is declared as input and as a reg type.
build/gpu.v:642: error: Port current_pc of module fetcher is declared as input and as a reg type.
build/gpu.v:646: error: Port mem_read_data of module fetcher is declared as input and as a reg type.
build/gpu.v:645: error: Port mem_read_ready of module fetcher is declared as input and as a reg type.
build/gpu.v:441: error: Port core_state of module decoder is declared as input and as a reg type.
build/gpu.v:442: error: Port instruction of module decoder is declared as input and as a reg type.
build/gpu.v:1143: error: Port decoded_mem_read_enable of module scheduler is declared as input and as a reg type.
build/gpu.v:1144: error: Port decoded_mem_write_enable of module scheduler is declared as input and as a reg type.
build/gpu.v:1145: error: Port decoded_ret of module scheduler is declared as input and as a reg type.
build/gpu.v:1146: error: Port fetcher_state of module scheduler is declared as input and as a reg type.
build/gpu.v:1147: error: Port lsu_state of module scheduler is declared as input and as a reg type.
build/gpu.v:1149: error: Port next_pc of module scheduler is declared as input and as a reg type.
build/gpu.v:187: error: Port data_mem_read_data of module core is declared as input and as a reg type.
build/gpu.v:186: error: Port data_mem_read_ready of module core is declared as input and as a reg type.
build/gpu.v:191: error: Port data_mem_write_ready of module core is declared as input and as a reg type.
build/gpu.v:183: error: Port program_mem_read_data of module core is declared as input and as a reg type.
build/gpu.v:182: error: Port program_mem_read_ready of module core is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:1235: error: Port core_state of module alu is declared as input and as a reg type.
build/gpu.v:1236: error: Port decoded_alu_arithmetic_mux of module alu is declared as input and as a reg type.
build/gpu.v:1237: error: Port decoded_alu_output_mux of module alu is declared as input and as a reg type.
build/gpu.v:1238: error: Port rs of module alu is declared as input and as a reg type.
build/gpu.v:1239: error: Port rt of module alu is declared as input and as a reg type.
build/gpu.v:922: error: Port core_state of module lsu is declared as input and as a reg type.
build/gpu.v:923: error: Port decoded_mem_read_enable of module lsu is declared as input and as a reg type.
build/gpu.v:924: error: Port decoded_mem_write_enable of module lsu is declared as input and as a reg type.
build/gpu.v:930: error: Port mem_read_data of module lsu is declared as input and as a reg type.
build/gpu.v:929: error: Port mem_read_ready of module lsu is declared as input and as a reg type.
build/gpu.v:934: error: Port mem_write_ready of module lsu is declared as input and as a reg type.
build/gpu.v:925: error: Port rs of module lsu is declared as input and as a reg type.
build/gpu.v:926: error: Port rt of module lsu is declared as input and as a reg type.
build/gpu.v:1079: error: Port alu_out of module registers is declared as input and as a reg type.
build/gpu.v:1071: error: Port block_id of module registers is declared as input and as a reg type.
build/gpu.v:1072: error: Port core_state of module registers is declared as input and as a reg type.
build/gpu.v:1078: error: Port decoded_immediate of module registers is declared as input and as a reg type.
build/gpu.v:1073: error: Port decoded_rd_address of module registers is declared as input and as a reg type.
build/gpu.v:1077: error: Port decoded_reg_input_mux of module registers is declared as input and as a reg type.
build/gpu.v:1076: error: Port decoded_reg_write_enable of module registers is declared as input and as a reg type.
build/gpu.v:1074: error: Port decoded_rs_address of module registers is declared as input and as a reg type.
build/gpu.v:1075: error: Port decoded_rt_address of module registers is declared as input and as a reg type.
build/gpu.v:1080: error: Port lsu_out of module registers is declared as input and as a reg type.
build/gpu.v:1018: error: Port alu_out of module pc is declared as input and as a reg type.
build/gpu.v:1013: error: Port core_state of module pc is declared as input and as a reg type.
build/gpu.v:1019: error: Port current_pc of module pc is declared as input and as a reg type.
build/gpu.v:1015: error: Port decoded_immediate of module pc is declared as input and as a reg type.
build/gpu.v:1014: error: Port decoded_nzp of module pc is declared as input and as a reg type.
build/gpu.v:1016: error: Port decoded_nzp_write_enable of module pc is declared as input and as a reg type.
build/gpu.v:1017: error: Port decoded_pc_mux of module pc is declared as input and as a reg type.
build/gpu.v:641: error: Port core_state of module fetcher is declared as input and as a reg type.
build/gpu.v:642: error: Port current_pc of module fetcher is declared as input and as a reg type.
build/gpu.v:646: error: Port mem_read_data of module fetcher is declared as input and as a reg type.
build/gpu.v:645: error: Port mem_read_ready of module fetcher is declared as input and as a reg type.
build/gpu.v:441: error: Port core_state of module decoder is declared as input and as a reg type.
build/gpu.v:442: error: Port instruction of module decoder is declared as input and as a reg type.
build/gpu.v:1143: error: Port decoded_mem_read_enable of module scheduler is declared as input and as a reg type.
build/gpu.v:1144: error: Port decoded_mem_write_enable of module scheduler is declared as input and as a reg type.
build/gpu.v:1145: error: Port decoded_ret of module scheduler is declared as input and as a reg type.
build/gpu.v:1146: error: Port fetcher_state of module scheduler is declared as input and as a reg type.
build/gpu.v:1147: error: Port lsu_state of module scheduler is declared as input and as a reg type.
build/gpu.v:1149: error: Port next_pc of module scheduler is declared as input and as a reg type.
build/gpu.v:31: error: Port consumer_read_address of module controller is declared as input and as a reg type.
build/gpu.v:30: error: Port consumer_read_valid of module controller is declared as input and as a reg type.
build/gpu.v:35: error: Port consumer_write_address of module controller is declared as input and as a reg type.
build/gpu.v:36: error: Port consumer_write_data of module controller is declared as input and as a reg type.
build/gpu.v:34: error: Port consumer_write_valid of module controller is declared as input and as a reg type.
build/gpu.v:41: error: Port mem_read_data of module controller is declared as input and as a reg type.
build/gpu.v:40: error: Port mem_read_ready of module controller is declared as input and as a reg type.
build/gpu.v:45: error: Port mem_write_ready of module controller is declared as input and as a reg type.
build/gpu.v:31: error: Port consumer_read_address of module controller is declared as input and as a reg type.
build/gpu.v:30: error: Port consumer_read_valid of module controller is declared as input and as a reg type.
build/gpu.v:35: error: Port consumer_write_address of module controller is declared as input and as a reg type.
build/gpu.v:36: error: Port consumer_write_data of module controller is declared as input and as a reg type.
build/gpu.v:34: error: Port consumer_write_valid of module controller is declared as input and as a reg type.
build/gpu.v:41: error: Port mem_read_data of module controller is declared as input and as a reg type.
build/gpu.v:40: error: Port mem_read_ready of module controller is declared as input and as a reg type.
build/gpu.v:45: error: Port mem_write_ready of module controller is declared as input and as a reg type.
build/gpu.v:561: error: Port core_done of module dispatch is declared as input and as a reg type.
build/gpu.v:312: warning: input port core_state is coerced to inout.
build/gpu.v:313: warning: input port decoded_alu_arithmetic_mux is coerced to inout.
build/gpu.v:314: warning: input port decoded_alu_output_mux is coerced to inout.
build/gpu.v:315: warning: input port rs is coerced to inout.
build/gpu.v:316: warning: input port rt is coerced to inout.
build/gpu.v:338: warning: input port decoded_mem_read_enable is coerced to inout.
build/gpu.v:339: warning: input port decoded_mem_write_enable is coerced to inout.
build/gpu.v:342: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:343: warning: input port mem_read_data is coerced to inout.
build/gpu.v:347: warning: input port mem_write_ready is coerced to inout.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:369: warning: input port decoded_rd_address is coerced to inout.
build/gpu.v:370: warning: input port decoded_rs_address is coerced to inout.
build/gpu.v:371: warning: input port decoded_rt_address is coerced to inout.
build/gpu.v:367: warning: input port decoded_reg_write_enable is coerced to inout.
build/gpu.v:368: warning: input port decoded_reg_input_mux is coerced to inout.
build/gpu.v:372: warning: input port decoded_immediate is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:374: warning: input port lsu_out is coerced to inout.
build/gpu.v:386: warning: input port decoded_nzp is coerced to inout.
build/gpu.v:388: warning: input port decoded_nzp_write_enable is coerced to inout.
build/gpu.v:389: warning: input port decoded_pc_mux is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:391: warning: input port current_pc is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:234: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:235: warning: input port mem_read_data is coerced to inout.
build/gpu.v:271: warning: input port instruction is coerced to inout.
build/gpu.v:299: warning: input port decoded_ret is coerced to inout.
build/gpu.v:295: warning: input port fetcher_state is coerced to inout.
build/gpu.v:300: warning: input port lsu_state is coerced to inout.
build/gpu.v:302: warning: input port next_pc is coerced to inout.
build/gpu.v:221: error: fetcher_state Unable to assign to unresolved wires.
build/gpu.v:223: error: instruction Unable to assign to unresolved wires.
build/gpu.v:240: error: decoded_rd_address Unable to assign to unresolved wires.
build/gpu.v:242: error: decoded_rs_address Unable to assign to unresolved wires.
build/gpu.v:244: error: decoded_rt_address Unable to assign to unresolved wires.
build/gpu.v:246: error: decoded_nzp Unable to assign to unresolved wires.
build/gpu.v:248: error: decoded_immediate Unable to assign to unresolved wires.
build/gpu.v:250: error: decoded_reg_write_enable Unable to assign to unresolved wires.
build/gpu.v:252: error: decoded_mem_read_enable Unable to assign to unresolved wires.
build/gpu.v:254: error: decoded_mem_write_enable Unable to assign to unresolved wires.
build/gpu.v:256: error: decoded_nzp_write_enable Unable to assign to unresolved wires.
build/gpu.v:258: error: decoded_reg_input_mux Unable to assign to unresolved wires.
build/gpu.v:260: error: decoded_alu_arithmetic_mux Unable to assign to unresolved wires.
build/gpu.v:262: error: decoded_alu_output_mux Unable to assign to unresolved wires.
build/gpu.v:264: error: decoded_pc_mux Unable to assign to unresolved wires.
build/gpu.v:266: error: decoded_ret Unable to assign to unresolved wires.
build/gpu.v:288: error: core_state Unable to assign to unresolved wires.
build/gpu.v:290: error: current_pc Unable to assign to unresolved wires.
build/gpu.v:880: warning: input port block_id is coerced to inout.
build/gpu.v:884: warning: input port program_mem_read_ready is coerced to inout.
build/gpu.v:885: warning: input port program_mem_read_data is coerced to inout.
build/gpu.v:312: warning: input port core_state is coerced to inout.
build/gpu.v:313: warning: input port decoded_alu_arithmetic_mux is coerced to inout.
build/gpu.v:314: warning: input port decoded_alu_output_mux is coerced to inout.
build/gpu.v:315: warning: input port rs is coerced to inout.
build/gpu.v:316: warning: input port rt is coerced to inout.
build/gpu.v:338: warning: input port decoded_mem_read_enable is coerced to inout.
build/gpu.v:339: warning: input port decoded_mem_write_enable is coerced to inout.
build/gpu.v:342: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:343: warning: input port mem_read_data is coerced to inout.
build/gpu.v:347: warning: input port mem_write_ready is coerced to inout.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:369: warning: input port decoded_rd_address is coerced to inout.
build/gpu.v:370: warning: input port decoded_rs_address is coerced to inout.
build/gpu.v:371: warning: input port decoded_rt_address is coerced to inout.
build/gpu.v:367: warning: input port decoded_reg_write_enable is coerced to inout.
build/gpu.v:368: warning: input port decoded_reg_input_mux is coerced to inout.
build/gpu.v:372: warning: input port decoded_immediate is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:374: warning: input port lsu_out is coerced to inout.
build/gpu.v:386: warning: input port decoded_nzp is coerced to inout.
build/gpu.v:388: warning: input port decoded_nzp_write_enable is coerced to inout.
build/gpu.v:389: warning: input port decoded_pc_mux is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:391: warning: input port current_pc is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:365: warning: input port block_id is coerced to inout.
build/gpu.v:373: warning: input port alu_out is coerced to inout.
build/gpu.v:390: warning: input port alu_out is coerced to inout.
build/gpu.v:332: error: Unable to assign words of unresolved wire array.
build/gpu.v:354: error: Unable to assign words of unresolved wire array.
build/gpu.v:356: error: Unable to assign words of unresolved wire array.
build/gpu.v:234: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:235: warning: input port mem_read_data is coerced to inout.
build/gpu.v:271: warning: input port instruction is coerced to inout.
build/gpu.v:299: warning: input port decoded_ret is coerced to inout.
build/gpu.v:295: warning: input port fetcher_state is coerced to inout.
build/gpu.v:300: warning: input port lsu_state is coerced to inout.
build/gpu.v:302: warning: input port next_pc is coerced to inout.
build/gpu.v:221: error: fetcher_state Unable to assign to unresolved wires.
build/gpu.v:223: error: instruction Unable to assign to unresolved wires.
build/gpu.v:240: error: decoded_rd_address Unable to assign to unresolved wires.
build/gpu.v:242: error: decoded_rs_address Unable to assign to unresolved wires.
build/gpu.v:244: error: decoded_rt_address Unable to assign to unresolved wires.
build/gpu.v:246: error: decoded_nzp Unable to assign to unresolved wires.
build/gpu.v:248: error: decoded_immediate Unable to assign to unresolved wires.
build/gpu.v:250: error: decoded_reg_write_enable Unable to assign to unresolved wires.
build/gpu.v:252: error: decoded_mem_read_enable Unable to assign to unresolved wires.
build/gpu.v:254: error: decoded_mem_write_enable Unable to assign to unresolved wires.
build/gpu.v:256: error: decoded_nzp_write_enable Unable to assign to unresolved wires.
build/gpu.v:258: error: decoded_reg_input_mux Unable to assign to unresolved wires.
build/gpu.v:260: error: decoded_alu_arithmetic_mux Unable to assign to unresolved wires.
build/gpu.v:262: error: decoded_alu_output_mux Unable to assign to unresolved wires.
build/gpu.v:264: error: decoded_pc_mux Unable to assign to unresolved wires.
build/gpu.v:266: error: decoded_ret Unable to assign to unresolved wires.
build/gpu.v:288: error: core_state Unable to assign to unresolved wires.
build/gpu.v:290: error: current_pc Unable to assign to unresolved wires.
build/gpu.v:766: warning: input port consumer_read_valid is coerced to inout.
build/gpu.v:767: warning: input port consumer_read_address is coerced to inout.
build/gpu.v:770: warning: input port consumer_write_valid is coerced to inout.
build/gpu.v:771: warning: input port consumer_write_address is coerced to inout.
build/gpu.v:772: warning: input port consumer_write_data is coerced to inout.
build/gpu.v:776: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:777: warning: input port mem_read_data is coerced to inout.
build/gpu.v:781: warning: input port mem_write_ready is coerced to inout.
build/gpu.v:796: warning: input port consumer_read_valid is coerced to inout.
build/gpu.v:797: warning: input port consumer_read_address is coerced to inout.
build/gpu.v:802: warning: input port mem_read_ready is coerced to inout.
build/gpu.v:803: warning: input port mem_read_data is coerced to inout.
build/gpu.v:821: warning: input port core_done is coerced to inout.
build/gpu.v:784: error: fetcher_read_ready Unable to assign to unresolved wires.
build/gpu.v:786: error: fetcher_read_data Unable to assign to unresolved wires.
build/gpu.v:810: error: core_block_id Unable to assign to unresolved wires.
Elaboration failed
make: *** [Makefile:7: test_matadd] Error 1
build/gpu.v:1017: error: Port decoded_pc_mux
Getting bunch of errors during compilation due to declaring input as reg type.
Dropping
reg
from input seems to fix this issue. I am not a Verilog expert, so not sure if this is specific to the iverilog (version 11) compiler I am using or the problem with SV2V conversion.PR also contains some minor updates to README and Makefile