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]);