removed unused ios
diff --git a/verilog/rtl/azadi_soc_top.v b/verilog/rtl/azadi_soc_top.v index 4389a28..9f7c121 100644 --- a/verilog/rtl/azadi_soc_top.v +++ b/verilog/rtl/azadi_soc_top.v
@@ -17011,6 +17011,7 @@ assign NaN_b_SO = NaN_b_SP; assign SNaN_SO = SNaN_SP; endmodule + module prim_clock_gating ( clk_i, en_i,
diff --git a/verilog/rtl/azadi_soc_top_caravel.v b/verilog/rtl/azadi_soc_top_caravel.v index fd37254..26d6561 100644 --- a/verilog/rtl/azadi_soc_top_caravel.v +++ b/verilog/rtl/azadi_soc_top_caravel.v
@@ -4,53 +4,23 @@ module azadi_soc_top_caravel ( `ifdef USE_POWER_PINS - inout vdda1, // User area 1 3.3V supply - inout vdda2, // User area 2 3.3V supply - inout vssa1, // User area 1 analog ground - inout vssa2, // User area 2 analog ground inout vccd1, // User area 1 1.8V supply - inout vccd2, // User area 2 1.8v supply inout vssd1, // User area 1 digital ground - inout vssd2, // User area 2 digital ground `endif // Wishbone Slave ports (WB MI A) input wb_clk_i, input wb_rst_i, - input wbs_stb_i, - input wbs_cyc_i, - input wbs_we_i, - input [3:0] wbs_sel_i, - input [31:0] wbs_dat_i, - input [31:0] wbs_adr_i, - output wbs_ack_o, - output [31:0] wbs_dat_o, // Logic Analyzer Signals - input [127:0] la_data_in, - output [127:0] la_data_out, - input [127:0] la_oenb, + input [15:0] la_data_in, // IOs, MPRJ_IO_PADS = 38 input [`MPRJ_IO_PADS-1:0] io_in, output [`MPRJ_IO_PADS-1:0] io_out, - output [`MPRJ_IO_PADS-1:0] io_oeb, - - // Analog (direct connection to GPIO pad---use with caution) - // Note that analog I/O is not available on the 7 lowest-numbered - // GPIO pads, and so the analog_io indexing is offset from the - // GPIO indexing by 7 (also upper 2 GPIOs do not have analog_io). - inout [`MPRJ_IO_PADS-10:0] analog_io, - - // Independent clock (on independent integer divider) - input user_clock2, - - // User maskable interrupt signals - output [2:0] user_irq + output [`MPRJ_IO_PADS-1:0] io_oeb ); - wire clk_i; - wire rst_ni; wire prog; // Clocks per bit @@ -61,14 +31,6 @@ wire [31:0] gpio_o; wire [31:0] gpio_oe; - // jtag interface - wire jtag_tck; - wire jtag_tms; - wire jtag_trst; - wire jtag_tdi; - wire jtag_tdo; - wire jtag_tdo_oe; - // uart-periph interface wire uart_tx; wire uart_rx; @@ -86,15 +48,21 @@ wire sd_oe; wire sd_i; + // unused wires + wire unused_00; + wire unused_01; + wire unused_02; + wire unused_03; + // Note: Output enable is active low for IO pads assign io_oeb[ 0] = ~gpio_oe[30]; assign gpio_i[30] = io_in [ 0]; assign io_out[ 0] = gpio_o [30]; // SPI 0 - assign io_oeb[1] = ~(sd_oe | gpio_oe[31]); - assign io_out[1] = sd_oe ? sd_o : gpio_o[31]; - assign gpio_i[31] = io_in[1]; + assign io_oeb[1] = ~sd_oe; + assign io_out[1] = sd_o; + assign unused_00 = io_in[1]; assign io_oeb[2] = 1'b1; assign io_out[2] = 1'b0; @@ -102,9 +70,11 @@ assign io_oeb[3] = ~sd_oe; assign io_out[3] = ss_o[0]; + assign unused_01 = io_in[3]; assign io_oeb[4] = 1'b0; assign io_out[4] = sclk_o; + assign unused_02 = io_in[4]; // UART assign io_oeb[5] = 1'b1; @@ -113,6 +83,7 @@ assign io_oeb[6] = 1'b0; assign io_out[6] = uart_tx; + assign unused_03 = io_in[6]; // Programming Button assign io_oeb[7] = 1'b1; @@ -123,6 +94,10 @@ assign io_oeb[25:8] = ~gpio_oe[18:0]; assign gpio_i[18:0] = io_in [25:8]; assign io_out[25:8] = gpio_o [18:0]; + + assign io_oeb[26] = ~gpio_oe[31]; + assign gpio_i[31] = io_in [26]; + assign io_out[26] = gpio_o [31]; // GPIO 19-21, SPI SS assign io_oeb[27] = ~(sd_oe | gpio_oe[19]);