adding user wrapper files for tape out
diff --git a/verilog/gl/user_project_wrapper.v b/verilog/gl/user_project_wrapper.v index ecae883..8ae108f 100644 --- a/verilog/gl/user_project_wrapper.v +++ b/verilog/gl/user_project_wrapper.v
@@ -53,8 +53,279 @@ output [31:0] wbs_dat_o; input [3:0] wbs_sel_i; + wire \adr_cpu[0] ; + wire \adr_cpu[10] ; + wire \adr_cpu[11] ; + wire \adr_cpu[1] ; + wire \adr_cpu[2] ; + wire \adr_cpu[3] ; + wire \adr_cpu[4] ; + wire \adr_cpu[5] ; + wire \adr_cpu[6] ; + wire \adr_cpu[7] ; + wire \adr_cpu[8] ; + wire \adr_cpu[9] ; + wire \adr_mem[0] ; + wire \adr_mem[1] ; + wire \adr_mem[2] ; + wire \adr_mem[3] ; + wire \adr_mem[4] ; + wire \adr_mem[5] ; + wire \adr_mem[6] ; + wire \adr_mem[7] ; + wire \adr_mem[8] ; + wire \adr_mem[9] ; + wire clk; + wire \cpdatin[0] ; + wire \cpdatin[10] ; + wire \cpdatin[11] ; + wire \cpdatin[12] ; + wire \cpdatin[13] ; + wire \cpdatin[14] ; + wire \cpdatin[15] ; + wire \cpdatin[1] ; + wire \cpdatin[2] ; + wire \cpdatin[3] ; + wire \cpdatin[4] ; + wire \cpdatin[5] ; + wire \cpdatin[6] ; + wire \cpdatin[7] ; + wire \cpdatin[8] ; + wire \cpdatin[9] ; + wire \cpdatout[0] ; + wire \cpdatout[10] ; + wire \cpdatout[11] ; + wire \cpdatout[12] ; + wire \cpdatout[13] ; + wire \cpdatout[14] ; + wire \cpdatout[15] ; + wire \cpdatout[1] ; + wire \cpdatout[2] ; + wire \cpdatout[3] ; + wire \cpdatout[4] ; + wire \cpdatout[5] ; + wire \cpdatout[6] ; + wire \cpdatout[7] ; + wire \cpdatout[8] ; + wire \cpdatout[9] ; + wire cpuen; + wire cpurw; + wire endisp; + wire enkbd; + wire \memdatin[0] ; + wire \memdatin[10] ; + wire \memdatin[11] ; + wire \memdatin[12] ; + wire \memdatin[13] ; + wire \memdatin[14] ; + wire \memdatin[15] ; + wire \memdatin[1] ; + wire \memdatin[2] ; + wire \memdatin[3] ; + wire \memdatin[4] ; + wire \memdatin[5] ; + wire \memdatin[6] ; + wire \memdatin[7] ; + wire \memdatin[8] ; + wire \memdatin[9] ; + wire \memdatout[0] ; + wire \memdatout[10] ; + wire \memdatout[11] ; + wire \memdatout[12] ; + wire \memdatout[13] ; + wire \memdatout[14] ; + wire \memdatout[15] ; + wire \memdatout[1] ; + wire \memdatout[2] ; + wire \memdatout[3] ; + wire \memdatout[4] ; + wire \memdatout[5] ; + wire \memdatout[6] ; + wire \memdatout[7] ; + wire \memdatout[8] ; + wire \memdatout[9] ; + wire memen; + wire memrw; + wire rst; - user_proj_example mprj (.vccd1(vccd1), + cpu cpu0 (.clk(clk), + .en(cpuen), + .en_inp(enkbd), + .en_out(endisp), + .rdwr(cpurw), + .rst(rst), + .vccd1(vccd1), + .vssd1(vssd1), + .addr({\adr_cpu[11] , + \adr_cpu[10] , + \adr_cpu[9] , + \adr_cpu[8] , + \adr_cpu[7] , + \adr_cpu[6] , + \adr_cpu[5] , + \adr_cpu[4] , + \adr_cpu[3] , + \adr_cpu[2] , + \adr_cpu[1] , + \adr_cpu[0] }), + .datain({\cpdatin[15] , + \cpdatin[14] , + \cpdatin[13] , + \cpdatin[12] , + \cpdatin[11] , + \cpdatin[10] , + \cpdatin[9] , + \cpdatin[8] , + \cpdatin[7] , + \cpdatin[6] , + \cpdatin[5] , + \cpdatin[4] , + \cpdatin[3] , + \cpdatin[2] , + \cpdatin[1] , + \cpdatin[0] }), + .dataout({\cpdatout[15] , + \cpdatout[14] , + \cpdatout[13] , + \cpdatout[12] , + \cpdatout[11] , + \cpdatout[10] , + \cpdatout[9] , + \cpdatout[8] , + \cpdatout[7] , + \cpdatout[6] , + \cpdatout[5] , + \cpdatout[4] , + \cpdatout[3] , + \cpdatout[2] , + \cpdatout[1] , + \cpdatout[0] }), + .display({io_out[29], + io_out[28], + io_out[27], + io_out[26], + io_out[25], + io_out[24], + io_out[23], + io_out[22]}), + .keyboard({io_in[37], + io_in[36], + io_in[35], + io_in[34], + io_in[33], + io_in[32], + io_in[31], + io_in[30]})); + sky130_sram_1kbyte_1rw1r_8x1024_8 memHword (.csb0(memen), + .web0(memrw), + .clk0(clk), + .vccd1(vccd1), + .vssd1(vssd1), + .addr0({\adr_mem[9] , + \adr_mem[8] , + \adr_mem[7] , + \adr_mem[6] , + \adr_mem[5] , + \adr_mem[4] , + \adr_mem[3] , + \adr_mem[2] , + \adr_mem[1] , + \adr_mem[0] }), + .addr1({_NC1, + _NC2, + _NC3, + _NC4, + _NC5, + _NC6, + _NC7, + _NC8, + _NC9, + _NC10}), + .din0({\memdatout[15] , + \memdatout[14] , + \memdatout[13] , + \memdatout[12] , + \memdatout[11] , + \memdatout[10] , + \memdatout[9] , + \memdatout[8] }), + .dout0({\memdatin[15] , + \memdatin[14] , + \memdatin[13] , + \memdatin[12] , + \memdatin[11] , + \memdatin[10] , + \memdatin[9] , + \memdatin[8] }), + .dout1({_NC11, + _NC12, + _NC13, + _NC14, + _NC15, + _NC16, + _NC17, + _NC18}), + .wmask0({_NC19})); + sky130_sram_1kbyte_1rw1r_8x1024_8 memLword (.csb0(memen), + .web0(memrw), + .clk0(clk), + .vccd1(vccd1), + .vssd1(vssd1), + .addr0({\adr_mem[9] , + \adr_mem[8] , + \adr_mem[7] , + \adr_mem[6] , + \adr_mem[5] , + \adr_mem[4] , + \adr_mem[3] , + \adr_mem[2] , + \adr_mem[1] , + \adr_mem[0] }), + .addr1({_NC20, + _NC21, + _NC22, + _NC23, + _NC24, + _NC25, + _NC26, + _NC27, + _NC28, + _NC29}), + .din0({\memdatout[7] , + \memdatout[6] , + \memdatout[5] , + \memdatout[4] , + \memdatout[3] , + \memdatout[2] , + \memdatout[1] , + \memdatout[0] }), + .dout0({\memdatin[7] , + \memdatin[6] , + \memdatin[5] , + \memdatin[4] , + \memdatin[3] , + \memdatin[2] , + \memdatin[1] , + \memdatin[0] }), + .dout1({_NC30, + _NC31, + _NC32, + _NC33, + _NC34, + _NC35, + _NC36, + _NC37}), + .wmask0({_NC38})); + soc_config mprj (.en_display(endisp), + .en_from_cpu(cpuen), + .en_keyboard(enkbd), + .en_to_mem(memen), + .rw_from_cpu(cpurw), + .rw_to_mem(memrw), + .soc_clk(clk), + .soc_rst(rst), + .user_clock2(user_clock2), + .vccd1(vccd1), .vssd1(vssd1), .wb_clk_i(wb_clk_i), .wb_rst_i(wb_rst_i), @@ -62,6 +333,92 @@ .wbs_cyc_i(wbs_cyc_i), .wbs_stb_i(wbs_stb_i), .wbs_we_i(wbs_we_i), + .addr_from_cpu({\adr_cpu[11] , + \adr_cpu[10] , + \adr_cpu[9] , + \adr_cpu[8] , + \adr_cpu[7] , + \adr_cpu[6] , + \adr_cpu[5] , + \adr_cpu[4] , + \adr_cpu[3] , + \adr_cpu[2] , + \adr_cpu[1] , + \adr_cpu[0] }), + .addr_to_mem({\adr_mem[9] , + \adr_mem[8] , + \adr_mem[7] , + \adr_mem[6] , + \adr_mem[5] , + \adr_mem[4] , + \adr_mem[3] , + \adr_mem[2] , + \adr_mem[1] , + \adr_mem[0] }), + .data_from_cpu({\cpdatout[15] , + \cpdatout[14] , + \cpdatout[13] , + \cpdatout[12] , + \cpdatout[11] , + \cpdatout[10] , + \cpdatout[9] , + \cpdatout[8] , + \cpdatout[7] , + \cpdatout[6] , + \cpdatout[5] , + \cpdatout[4] , + \cpdatout[3] , + \cpdatout[2] , + \cpdatout[1] , + \cpdatout[0] }), + .data_from_mem({\memdatin[15] , + \memdatin[14] , + \memdatin[13] , + \memdatin[12] , + \memdatin[11] , + \memdatin[10] , + \memdatin[9] , + \memdatin[8] , + \memdatin[7] , + \memdatin[6] , + \memdatin[5] , + \memdatin[4] , + \memdatin[3] , + \memdatin[2] , + \memdatin[1] , + \memdatin[0] }), + .data_to_cpu({\cpdatin[15] , + \cpdatin[14] , + \cpdatin[13] , + \cpdatin[12] , + \cpdatin[11] , + \cpdatin[10] , + \cpdatin[9] , + \cpdatin[8] , + \cpdatin[7] , + \cpdatin[6] , + \cpdatin[5] , + \cpdatin[4] , + \cpdatin[3] , + \cpdatin[2] , + \cpdatin[1] , + \cpdatin[0] }), + .data_to_mem({\memdatout[15] , + \memdatout[14] , + \memdatout[13] , + \memdatout[12] , + \memdatout[11] , + \memdatout[10] , + \memdatout[9] , + \memdatout[8] , + \memdatout[7] , + \memdatout[6] , + \memdatout[5] , + \memdatout[4] , + \memdatout[3] , + \memdatout[2] , + \memdatout[1] , + \memdatout[0] }), .io_in({io_in[37], io_in[36], io_in[35],