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],