blob: 32231cf92ff05cea3d8b5c815a10d62d7c4d7324 [file] [log] [blame]
module user_project_wrapper (user_clock2,
vccd1,
vccd2,
vdda1,
vdda2,
vssa1,
vssa2,
vssd1,
vssd2,
wb_clk_i,
wb_rst_i,
wbs_ack_o,
wbs_cyc_i,
wbs_stb_i,
wbs_we_i,
analog_io,
io_in,
io_oeb,
io_out,
la_data_in,
la_data_out,
la_oenb,
user_irq,
wbs_adr_i,
wbs_dat_i,
wbs_dat_o,
wbs_sel_i);
input user_clock2;
input vccd1;
input vccd2;
input vdda1;
input vdda2;
input vssa1;
input vssa2;
input vssd1;
input vssd2;
input wb_clk_i;
input wb_rst_i;
output wbs_ack_o;
input wbs_cyc_i;
input wbs_stb_i;
input wbs_we_i;
inout [28:0] analog_io;
input [37:0] io_in;
output [37:0] io_oeb;
output [37:0] io_out;
input [127:0] la_data_in;
output [127:0] la_data_out;
input [127:0] la_oenb;
output [2:0] user_irq;
input [31:0] wbs_adr_i;
input [31:0] wbs_dat_i;
output [31:0] wbs_dat_o;
input [3:0] wbs_sel_i;
wire \imem_data[0] ;
wire \imem_data[10] ;
wire \imem_data[11] ;
wire \imem_data[12] ;
wire \imem_data[13] ;
wire \imem_data[14] ;
wire \imem_data[15] ;
wire \imem_data[16] ;
wire \imem_data[17] ;
wire \imem_data[18] ;
wire \imem_data[19] ;
wire \imem_data[1] ;
wire \imem_data[20] ;
wire \imem_data[21] ;
wire \imem_data[22] ;
wire \imem_data[23] ;
wire \imem_data[24] ;
wire \imem_data[25] ;
wire \imem_data[26] ;
wire \imem_data[27] ;
wire \imem_data[28] ;
wire \imem_data[29] ;
wire \imem_data[2] ;
wire \imem_data[30] ;
wire \imem_data[31] ;
wire \imem_data[3] ;
wire \imem_data[4] ;
wire \imem_data[5] ;
wire \imem_data[6] ;
wire \imem_data[7] ;
wire \imem_data[8] ;
wire \imem_data[9] ;
wire \mem_addr[0] ;
wire \mem_addr[1] ;
wire \mem_addr[2] ;
wire \mem_addr[3] ;
wire \mem_addr[4] ;
wire \mem_addr[5] ;
wire \mem_addr[6] ;
wire \mem_addr[7] ;
wire mem_wr;
sram_32_256_sky130A mem (.csb0(la_data_in[40]),
.web0(mem_wr),
.clk0(wb_clk_i),
.vccd1(vccd1),
.vssd1(vssd1),
.addr0({\mem_addr[7] ,
\mem_addr[6] ,
\mem_addr[5] ,
\mem_addr[4] ,
\mem_addr[3] ,
\mem_addr[2] ,
\mem_addr[1] ,
\mem_addr[0] }),
.din0({la_data_in[31],
la_data_in[30],
la_data_in[29],
la_data_in[28],
la_data_in[27],
la_data_in[26],
la_data_in[25],
la_data_in[24],
la_data_in[23],
la_data_in[22],
la_data_in[21],
la_data_in[20],
la_data_in[19],
la_data_in[18],
la_data_in[17],
la_data_in[16],
la_data_in[15],
la_data_in[14],
la_data_in[13],
la_data_in[12],
la_data_in[11],
la_data_in[10],
la_data_in[9],
la_data_in[8],
la_data_in[7],
la_data_in[6],
la_data_in[5],
la_data_in[4],
la_data_in[3],
la_data_in[2],
la_data_in[1],
la_data_in[0]}),
.dout0({\imem_data[31] ,
\imem_data[30] ,
\imem_data[29] ,
\imem_data[28] ,
\imem_data[27] ,
\imem_data[26] ,
\imem_data[25] ,
\imem_data[24] ,
\imem_data[23] ,
\imem_data[22] ,
\imem_data[21] ,
\imem_data[20] ,
\imem_data[19] ,
\imem_data[18] ,
\imem_data[17] ,
\imem_data[16] ,
\imem_data[15] ,
\imem_data[14] ,
\imem_data[13] ,
\imem_data[12] ,
\imem_data[11] ,
\imem_data[10] ,
\imem_data[9] ,
\imem_data[8] ,
\imem_data[7] ,
\imem_data[6] ,
\imem_data[5] ,
\imem_data[4] ,
\imem_data[3] ,
\imem_data[2] ,
\imem_data[1] ,
\imem_data[0] }));
user_proj_example mprj (.CLK(wb_clk_i),
.init_en(la_data_in[36]),
.mem_wr(mem_wr),
.reset(la_data_in[32]),
.vccd1(vccd1),
.vssd1(vssd1),
.OUT({la_data_out[73],
la_data_out[72],
la_data_out[71],
la_data_out[70],
la_data_out[69],
la_data_out[68],
la_data_out[67],
la_data_out[66],
la_data_out[65],
la_data_out[64]}),
.imem_data({\imem_data[31] ,
\imem_data[30] ,
\imem_data[29] ,
\imem_data[28] ,
\imem_data[27] ,
\imem_data[26] ,
\imem_data[25] ,
\imem_data[24] ,
\imem_data[23] ,
\imem_data[22] ,
\imem_data[21] ,
\imem_data[20] ,
\imem_data[19] ,
\imem_data[18] ,
\imem_data[17] ,
\imem_data[16] ,
\imem_data[15] ,
\imem_data[14] ,
\imem_data[13] ,
\imem_data[12] ,
\imem_data[11] ,
\imem_data[10] ,
\imem_data[9] ,
\imem_data[8] ,
\imem_data[7] ,
\imem_data[6] ,
\imem_data[5] ,
\imem_data[4] ,
\imem_data[3] ,
\imem_data[2] ,
\imem_data[1] ,
\imem_data[0] }),
.init_addr({la_data_in[51],
la_data_in[50],
la_data_in[49],
la_data_in[48],
la_data_in[47],
la_data_in[46],
la_data_in[45],
la_data_in[44]}),
.mem_addr({\mem_addr[7] ,
\mem_addr[6] ,
\mem_addr[5] ,
\mem_addr[4] ,
\mem_addr[3] ,
\mem_addr[2] ,
\mem_addr[1] ,
\mem_addr[0] }));
endmodule