Add info.yaml and top level gl verilog Signed-off-by: gatecat <gatecat@ds0.me>
diff --git a/info.yaml b/info.yaml new file mode 100644 index 0000000..86523c8 --- /dev/null +++ b/info.yaml
@@ -0,0 +1,18 @@ +--- +project: + description: "A test SoC using Coriolis for place and route." + foundry: "SkyWater" + git_url: "https://github.com/ChipFlow/caravel_user_project_mpw3" + organization: "ChipFlow" + organization_url: "https://github.com/ChipFlow" + owner: "gatecat" + process: "SKY130" + project_name: "nmigen_coriolis_soc" + project_id: "00000000" + tags: + - "Coriolis" + category: "Test Harness" + top_level_netlist: "caravel/verilog/gl/caravel.v" + user_level_netlist: "verilog/gl/user_project_wrapper.v" + version: "1.00" + cover_image: "docs/source/_static/caravel_harness.png"
diff --git a/verilog/gl/user_project_wrapper.v b/verilog/gl/user_project_wrapper.v new file mode 100644 index 0000000..6207feb --- /dev/null +++ b/verilog/gl/user_project_wrapper.v
@@ -0,0 +1,93 @@ +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; + +via4_3100x3100 via ( + .vccd1(vccd1), + .vssd1(vssd1) +); + +corona_cts corona ( + .vccd1(vccd1), + .vssd1(vssd1), + .io_in(io_in), + .io_oeb(io_oeb), + .io_out(io_out) +); + +endmodule + +(* keep *) +module via4_3100x3100( + input vccd1, + input vssd1 +); + // Entirely pointless, but required to make the GL netlist match the GDS +endmodule + +module corona_cts( + input vccd1, + input vssd1, + input [37:0] io_in, + output [37:0] io_oeb, + output [37:0] io_out +); + user_project_core_lambdasoc_cts core( + .vccd1(vccd1), + .vssd1(vssd1), + .io_in(io_in), + .io_oeb(io_oeb), + .io_out(io_out) + ); +endmodule