You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2358 lines
103 KiB
Verilog

// -----------------------------------------------------------------------------
// Auto-Generated by: __ _ __ _ __
// / / (_) /____ | |/_/
// / /__/ / __/ -_)> <
// /____/_/\__/\__/_/|_|
// Build your hardware, easily!
// https://github.com/enjoy-digital/litex
//
// Filename : top.v
// Device : caravel_user
// LiteX sha1 : 85d6cb4b
// Date : 2021-11-25 10:16:15
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Module
//------------------------------------------------------------------------------
module top (
input wire wb_rst_i,
input wire user_clock2,
input wire wbs_cyc_i,
input wire wbs_stb_i,
input wire wbs_we_i,
input wire [3:0] wbs_sel_i,
input wire [31:0] wbs_adr_i,
input wire wbs_ack_o,
input wire [31:0] wbs_dat_o,
input wire [31:0] wbs_dat_i,
input wire [18:0] in_in,
input wire [18:0] in_out,
input wire in_oeb,
input wire [2:0] user_irq,
input wire [127:0] la_data_in,
input wire [127:0] la_data_out,
input wire [127:0] la_oenb,
input wire wb_clk_i
);
//------------------------------------------------------------------------------
// Signals
//------------------------------------------------------------------------------
reg basesoc_basesoc_soc_rst = 1'd0;
wire basesoc_basesoc_cpu_rst;
reg [1:0] basesoc_basesoc_reset_storage = 2'd0;
reg basesoc_basesoc_reset_re = 1'd0;
reg [31:0] basesoc_basesoc_scratch_storage = 32'd305419896;
reg basesoc_basesoc_scratch_re = 1'd0;
wire [31:0] basesoc_basesoc_bus_errors_status;
wire basesoc_basesoc_bus_errors_we;
reg basesoc_basesoc_bus_errors_re = 1'd0;
wire basesoc_basesoc_bus_error;
reg [31:0] basesoc_basesoc_bus_errors = 32'd0;
wire basesoc_basesoc_reset;
wire [31:0] basesoc_basesoc_interrupt;
reg basesoc_basesoc_interruptS = 1'd0;
wire [29:0] basesoc_basesoc_ibus_adr;
wire [31:0] basesoc_basesoc_ibus_dat_w;
wire [31:0] basesoc_basesoc_ibus_dat_r;
wire [3:0] basesoc_basesoc_ibus_sel;
wire basesoc_basesoc_ibus_cyc;
wire basesoc_basesoc_ibus_stb;
wire basesoc_basesoc_ibus_ack;
wire basesoc_basesoc_ibus_we;
wire [2:0] basesoc_basesoc_ibus_cti;
wire [1:0] basesoc_basesoc_ibus_bte;
wire basesoc_basesoc_ibus_err;
wire [29:0] basesoc_basesoc_dbus_adr;
wire [31:0] basesoc_basesoc_dbus_dat_w;
wire [31:0] basesoc_basesoc_dbus_dat_r;
wire [3:0] basesoc_basesoc_dbus_sel;
wire basesoc_basesoc_dbus_cyc;
wire basesoc_basesoc_dbus_stb;
wire basesoc_basesoc_dbus_ack;
wire basesoc_basesoc_dbus_we;
wire [2:0] basesoc_basesoc_dbus_cti;
wire [1:0] basesoc_basesoc_dbus_bte;
wire basesoc_basesoc_dbus_err;
reg [31:0] basesoc_basesoc_a2p = 32'd0;
reg [31:0] basesoc_basesoc_load_storage = 32'd0;
reg basesoc_basesoc_load_re = 1'd0;
reg [31:0] basesoc_basesoc_reload_storage = 32'd0;
reg basesoc_basesoc_reload_re = 1'd0;
reg basesoc_basesoc_en_storage = 1'd0;
reg basesoc_basesoc_en_re = 1'd0;
reg basesoc_basesoc_update_value_storage = 1'd0;
reg basesoc_basesoc_update_value_re = 1'd0;
reg [31:0] basesoc_basesoc_value_status = 32'd0;
wire basesoc_basesoc_value_we;
reg basesoc_basesoc_value_re = 1'd0;
wire basesoc_basesoc_irq;
wire basesoc_basesoc_zero_status;
reg basesoc_basesoc_zero_pending = 1'd0;
wire basesoc_basesoc_zero_trigger;
reg basesoc_basesoc_zero_clear = 1'd0;
reg basesoc_basesoc_zero_trigger_d = 1'd0;
wire basesoc_basesoc_zero0;
wire basesoc_basesoc_status_status;
wire basesoc_basesoc_status_we;
reg basesoc_basesoc_status_re = 1'd0;
wire basesoc_basesoc_zero1;
wire basesoc_basesoc_pending_status;
wire basesoc_basesoc_pending_we;
reg basesoc_basesoc_pending_re = 1'd0;
reg basesoc_basesoc_pending_r = 1'd0;
wire basesoc_basesoc_zero2;
reg basesoc_basesoc_enable_storage = 1'd0;
reg basesoc_basesoc_enable_re = 1'd0;
reg [31:0] basesoc_basesoc_value = 32'd0;
wire basesoc_user_clock2;
wire [18:0] basesoc_in_in;
wire [18:0] basesoc_in_out;
wire [18:0] basesoc_in_oeb;
wire basesoc0;
wire basesoc1;
wire basesoc2;
wire [18:0] basesoc3;
wire [7:0] basesoc4;
wire [2:0] basesoc_user_irq;
wire [127:0] basesoc_la_data_in;
wire [127:0] basesoc_la_data_out;
wire [127:0] basesoc_la_oenb;
wire [29:0] basesoc_sram_bus_adr;
wire [31:0] basesoc_sram_bus_dat_w;
wire [31:0] basesoc_sram_bus_dat_r;
wire [3:0] basesoc_sram_bus_sel;
wire basesoc_sram_bus_cyc;
wire basesoc_sram_bus_stb;
wire basesoc_sram_bus_ack;
wire basesoc_sram_bus_we;
wire [2:0] basesoc_sram_bus_cti;
wire [1:0] basesoc_sram_bus_bte;
reg basesoc_sram_bus_err = 1'd0;
wire basesoc_scl;
wire basesoc_oe;
wire basesoc_sda0;
reg [2:0] basesoc__w_storage = 3'd0;
reg basesoc__w_re = 1'd0;
wire basesoc_sda1;
wire basesoc__r_status;
wire basesoc__r_we;
reg basesoc__r_re = 1'd0;
reg [31:0] basesoc_uart_0_phy_storage = 32'd9895604;
reg basesoc_uart_0_phy_re = 1'd0;
wire basesoc_uart_0_phy_tx_sink_valid;
reg basesoc_uart_0_phy_tx_sink_ready = 1'd0;
wire basesoc_uart_0_phy_tx_sink_first;
wire basesoc_uart_0_phy_tx_sink_last;
wire [7:0] basesoc_uart_0_phy_tx_sink_payload_data;
reg [7:0] basesoc_uart_0_phy_tx_data = 8'd0;
reg [3:0] basesoc_uart_0_phy_tx_count = 4'd0;
reg basesoc_uart_0_phy_tx_enable = 1'd0;
reg basesoc_uart_0_phy_tx_tick = 1'd0;
reg [31:0] basesoc_uart_0_phy_tx_phase = 32'd0;
reg basesoc_uart_0_phy_rx_source_valid = 1'd0;
wire basesoc_uart_0_phy_rx_source_ready;
reg basesoc_uart_0_phy_rx_source_first = 1'd0;
reg basesoc_uart_0_phy_rx_source_last = 1'd0;
reg [7:0] basesoc_uart_0_phy_rx_source_payload_data = 8'd0;
reg [7:0] basesoc_uart_0_phy_rx_data = 8'd0;
reg [3:0] basesoc_uart_0_phy_rx_count = 4'd0;
reg basesoc_uart_0_phy_rx_enable = 1'd0;
reg basesoc_uart_0_phy_rx_tick = 1'd0;
reg [31:0] basesoc_uart_0_phy_rx_phase = 32'd0;
wire basesoc_uart_0_phy_rx_rx;
reg basesoc_uart_0_phy_rx_rx_d = 1'd0;
reg basesoc_uart_0_rxtx_re = 1'd0;
wire [7:0] basesoc_uart_0_rxtx_r;
reg basesoc_uart_0_rxtx_we = 1'd0;
wire [7:0] basesoc_uart_0_rxtx_w;
wire basesoc_uart_0_txfull_status;
wire basesoc_uart_0_txfull_we;
reg basesoc_uart_0_txfull_re = 1'd0;
wire basesoc_uart_0_rxempty_status;
wire basesoc_uart_0_rxempty_we;
reg basesoc_uart_0_rxempty_re = 1'd0;
wire basesoc_uart_0_irq;
wire basesoc_uart_0_tx_status;
reg basesoc_uart_0_tx_pending = 1'd0;
wire basesoc_uart_0_tx_trigger;
reg basesoc_uart_0_tx_clear = 1'd0;
reg basesoc_uart_0_tx_trigger_d = 1'd0;
wire basesoc_uart_0_rx_status;
reg basesoc_uart_0_rx_pending = 1'd0;
wire basesoc_uart_0_rx_trigger;
reg basesoc_uart_0_rx_clear = 1'd0;
reg basesoc_uart_0_rx_trigger_d = 1'd0;
wire basesoc_uart_0_tx0;
wire basesoc_uart_0_rx0;
reg [1:0] basesoc_uart_0_status_status = 2'd0;
wire basesoc_uart_0_status_we;
reg basesoc_uart_0_status_re = 1'd0;
wire basesoc_uart_0_tx1;
wire basesoc_uart_0_rx1;
reg [1:0] basesoc_uart_0_pending_status = 2'd0;
wire basesoc_uart_0_pending_we;
reg basesoc_uart_0_pending_re = 1'd0;
reg [1:0] basesoc_uart_0_pending_r = 2'd0;
wire basesoc_uart_0_tx2;
wire basesoc_uart_0_rx2;
reg [1:0] basesoc_uart_0_enable_storage = 2'd0;
reg basesoc_uart_0_enable_re = 1'd0;
wire basesoc_uart_0_txempty_status;
wire basesoc_uart_0_txempty_we;
reg basesoc_uart_0_txempty_re = 1'd0;
wire basesoc_uart_0_rxfull_status;
wire basesoc_uart_0_rxfull_we;
reg basesoc_uart_0_rxfull_re = 1'd0;
wire basesoc_uart_0_uart_sink_valid;
wire basesoc_uart_0_uart_sink_ready;
wire basesoc_uart_0_uart_sink_first;
wire basesoc_uart_0_uart_sink_last;
wire [7:0] basesoc_uart_0_uart_sink_payload_data;
wire basesoc_uart_0_uart_source_valid;
wire basesoc_uart_0_uart_source_ready;
wire basesoc_uart_0_uart_source_first;
wire basesoc_uart_0_uart_source_last;
wire [7:0] basesoc_uart_0_uart_source_payload_data;
wire basesoc_uart_0_tx_fifo_sink_valid;
wire basesoc_uart_0_tx_fifo_sink_ready;
reg basesoc_uart_0_tx_fifo_sink_first = 1'd0;
reg basesoc_uart_0_tx_fifo_sink_last = 1'd0;
wire [7:0] basesoc_uart_0_tx_fifo_sink_payload_data;
wire basesoc_uart_0_tx_fifo_source_valid;
wire basesoc_uart_0_tx_fifo_source_ready;
wire basesoc_uart_0_tx_fifo_source_first;
wire basesoc_uart_0_tx_fifo_source_last;
wire [7:0] basesoc_uart_0_tx_fifo_source_payload_data;
wire basesoc_uart_0_tx_fifo_re;
reg basesoc_uart_0_tx_fifo_readable = 1'd0;
wire basesoc_uart_0_tx_fifo_syncfifo_we;
wire basesoc_uart_0_tx_fifo_syncfifo_writable;
wire basesoc_uart_0_tx_fifo_syncfifo_re;
wire basesoc_uart_0_tx_fifo_syncfifo_readable;
wire [9:0] basesoc_uart_0_tx_fifo_syncfifo_din;
wire [9:0] basesoc_uart_0_tx_fifo_syncfifo_dout;
reg [4:0] basesoc_uart_0_tx_fifo_level0 = 5'd0;
reg basesoc_uart_0_tx_fifo_replace = 1'd0;
reg [3:0] basesoc_uart_0_tx_fifo_produce = 4'd0;
reg [3:0] basesoc_uart_0_tx_fifo_consume = 4'd0;
reg [3:0] basesoc_uart_0_tx_fifo_wrport_adr = 4'd0;
wire [9:0] basesoc_uart_0_tx_fifo_wrport_dat_r;
wire basesoc_uart_0_tx_fifo_wrport_we;
wire [9:0] basesoc_uart_0_tx_fifo_wrport_dat_w;
wire basesoc_uart_0_tx_fifo_do_read;
wire [3:0] basesoc_uart_0_tx_fifo_rdport_adr;
wire [9:0] basesoc_uart_0_tx_fifo_rdport_dat_r;
wire basesoc_uart_0_tx_fifo_rdport_re;
wire [4:0] basesoc_uart_0_tx_fifo_level1;
wire [7:0] basesoc_uart_0_tx_fifo_fifo_in_payload_data;
wire basesoc_uart_0_tx_fifo_fifo_in_first;
wire basesoc_uart_0_tx_fifo_fifo_in_last;
wire [7:0] basesoc_uart_0_tx_fifo_fifo_out_payload_data;
wire basesoc_uart_0_tx_fifo_fifo_out_first;
wire basesoc_uart_0_tx_fifo_fifo_out_last;
wire basesoc_uart_0_rx_fifo_sink_valid;
wire basesoc_uart_0_rx_fifo_sink_ready;
wire basesoc_uart_0_rx_fifo_sink_first;
wire basesoc_uart_0_rx_fifo_sink_last;
wire [7:0] basesoc_uart_0_rx_fifo_sink_payload_data;
wire basesoc_uart_0_rx_fifo_source_valid;
wire basesoc_uart_0_rx_fifo_source_ready;
wire basesoc_uart_0_rx_fifo_source_first;
wire basesoc_uart_0_rx_fifo_source_last;
wire [7:0] basesoc_uart_0_rx_fifo_source_payload_data;
wire basesoc_uart_0_rx_fifo_re;
reg basesoc_uart_0_rx_fifo_readable = 1'd0;
wire basesoc_uart_0_rx_fifo_syncfifo_we;
wire basesoc_uart_0_rx_fifo_syncfifo_writable;
wire basesoc_uart_0_rx_fifo_syncfifo_re;
wire basesoc_uart_0_rx_fifo_syncfifo_readable;
wire [9:0] basesoc_uart_0_rx_fifo_syncfifo_din;
wire [9:0] basesoc_uart_0_rx_fifo_syncfifo_dout;
reg [4:0] basesoc_uart_0_rx_fifo_level0 = 5'd0;
reg basesoc_uart_0_rx_fifo_replace = 1'd0;
reg [3:0] basesoc_uart_0_rx_fifo_produce = 4'd0;
reg [3:0] basesoc_uart_0_rx_fifo_consume = 4'd0;
reg [3:0] basesoc_uart_0_rx_fifo_wrport_adr = 4'd0;
wire [9:0] basesoc_uart_0_rx_fifo_wrport_dat_r;
wire basesoc_uart_0_rx_fifo_wrport_we;
wire [9:0] basesoc_uart_0_rx_fifo_wrport_dat_w;
wire basesoc_uart_0_rx_fifo_do_read;
wire [3:0] basesoc_uart_0_rx_fifo_rdport_adr;
wire [9:0] basesoc_uart_0_rx_fifo_rdport_dat_r;
wire basesoc_uart_0_rx_fifo_rdport_re;
wire [4:0] basesoc_uart_0_rx_fifo_level1;
wire [7:0] basesoc_uart_0_rx_fifo_fifo_in_payload_data;
wire basesoc_uart_0_rx_fifo_fifo_in_first;
wire basesoc_uart_0_rx_fifo_fifo_in_last;
wire [7:0] basesoc_uart_0_rx_fifo_fifo_out_payload_data;
wire basesoc_uart_0_rx_fifo_fifo_out_first;
wire basesoc_uart_0_rx_fifo_fifo_out_last;
reg [31:0] basesoc_uart_1_phy_storage = 32'd9895604;
reg basesoc_uart_1_phy_re = 1'd0;
wire basesoc_uart_1_phy_tx_sink_valid;
reg basesoc_uart_1_phy_tx_sink_ready = 1'd0;
wire basesoc_uart_1_phy_tx_sink_first;
wire basesoc_uart_1_phy_tx_sink_last;
wire [7:0] basesoc_uart_1_phy_tx_sink_payload_data;
reg [7:0] basesoc_uart_1_phy_tx_data = 8'd0;
reg [3:0] basesoc_uart_1_phy_tx_count = 4'd0;
reg basesoc_uart_1_phy_tx_enable = 1'd0;
reg basesoc_uart_1_phy_tx_tick = 1'd0;
reg [31:0] basesoc_uart_1_phy_tx_phase = 32'd0;
reg basesoc_uart_1_phy_rx_source_valid = 1'd0;
wire basesoc_uart_1_phy_rx_source_ready;
reg basesoc_uart_1_phy_rx_source_first = 1'd0;
reg basesoc_uart_1_phy_rx_source_last = 1'd0;
reg [7:0] basesoc_uart_1_phy_rx_source_payload_data = 8'd0;
reg [7:0] basesoc_uart_1_phy_rx_data = 8'd0;
reg [3:0] basesoc_uart_1_phy_rx_count = 4'd0;
reg basesoc_uart_1_phy_rx_enable = 1'd0;
reg basesoc_uart_1_phy_rx_tick = 1'd0;
reg [31:0] basesoc_uart_1_phy_rx_phase = 32'd0;
wire basesoc_uart_1_phy_rx_rx;
reg basesoc_uart_1_phy_rx_rx_d = 1'd0;
reg basesoc_uart_1_rxtx_re = 1'd0;
wire [7:0] basesoc_uart_1_rxtx_r;
reg basesoc_uart_1_rxtx_we = 1'd0;
wire [7:0] basesoc_uart_1_rxtx_w;
wire basesoc_uart_1_txfull_status;
wire basesoc_uart_1_txfull_we;
reg basesoc_uart_1_txfull_re = 1'd0;
wire basesoc_uart_1_rxempty_status;
wire basesoc_uart_1_rxempty_we;
reg basesoc_uart_1_rxempty_re = 1'd0;
wire basesoc_uart_1_irq;
wire basesoc_uart_1_tx_status;
reg basesoc_uart_1_tx_pending = 1'd0;
wire basesoc_uart_1_tx_trigger;
reg basesoc_uart_1_tx_clear = 1'd0;
reg basesoc_uart_1_tx_trigger_d = 1'd0;
wire basesoc_uart_1_rx_status;
reg basesoc_uart_1_rx_pending = 1'd0;
wire basesoc_uart_1_rx_trigger;
reg basesoc_uart_1_rx_clear = 1'd0;
reg basesoc_uart_1_rx_trigger_d = 1'd0;
wire basesoc_uart_1_tx0;
wire basesoc_uart_1_rx0;
reg [1:0] basesoc_uart_1_status_status = 2'd0;
wire basesoc_uart_1_status_we;
reg basesoc_uart_1_status_re = 1'd0;
wire basesoc_uart_1_tx1;
wire basesoc_uart_1_rx1;
reg [1:0] basesoc_uart_1_pending_status = 2'd0;
wire basesoc_uart_1_pending_we;
reg basesoc_uart_1_pending_re = 1'd0;
reg [1:0] basesoc_uart_1_pending_r = 2'd0;
wire basesoc_uart_1_tx2;
wire basesoc_uart_1_rx2;
reg [1:0] basesoc_uart_1_enable_storage = 2'd0;
reg basesoc_uart_1_enable_re = 1'd0;
wire basesoc_uart_1_txempty_status;
wire basesoc_uart_1_txempty_we;
reg basesoc_uart_1_txempty_re = 1'd0;
wire basesoc_uart_1_rxfull_status;
wire basesoc_uart_1_rxfull_we;
reg basesoc_uart_1_rxfull_re = 1'd0;
wire basesoc_uart_1_uart_sink_valid;
wire basesoc_uart_1_uart_sink_ready;
wire basesoc_uart_1_uart_sink_first;
wire basesoc_uart_1_uart_sink_last;
wire [7:0] basesoc_uart_1_uart_sink_payload_data;
wire basesoc_uart_1_uart_source_valid;
wire basesoc_uart_1_uart_source_ready;
wire basesoc_uart_1_uart_source_first;
wire basesoc_uart_1_uart_source_last;
wire [7:0] basesoc_uart_1_uart_source_payload_data;
wire basesoc_uart_1_tx_fifo_sink_valid;
wire basesoc_uart_1_tx_fifo_sink_ready;
reg basesoc_uart_1_tx_fifo_sink_first = 1'd0;
reg basesoc_uart_1_tx_fifo_sink_last = 1'd0;
wire [7:0] basesoc_uart_1_tx_fifo_sink_payload_data;
wire basesoc_uart_1_tx_fifo_source_valid;
wire basesoc_uart_1_tx_fifo_source_ready;
wire basesoc_uart_1_tx_fifo_source_first;
wire basesoc_uart_1_tx_fifo_source_last;
wire [7:0] basesoc_uart_1_tx_fifo_source_payload_data;
wire basesoc_uart_1_tx_fifo_re;
reg basesoc_uart_1_tx_fifo_readable = 1'd0;
wire basesoc_uart_1_tx_fifo_syncfifo_we;
wire basesoc_uart_1_tx_fifo_syncfifo_writable;
wire basesoc_uart_1_tx_fifo_syncfifo_re;
wire basesoc_uart_1_tx_fifo_syncfifo_readable;
wire [9:0] basesoc_uart_1_tx_fifo_syncfifo_din;
wire [9:0] basesoc_uart_1_tx_fifo_syncfifo_dout;
reg [4:0] basesoc_uart_1_tx_fifo_level0 = 5'd0;
reg basesoc_uart_1_tx_fifo_replace = 1'd0;
reg [3:0] basesoc_uart_1_tx_fifo_produce = 4'd0;
reg [3:0] basesoc_uart_1_tx_fifo_consume = 4'd0;
reg [3:0] basesoc_uart_1_tx_fifo_wrport_adr = 4'd0;
wire [9:0] basesoc_uart_1_tx_fifo_wrport_dat_r;
wire basesoc_uart_1_tx_fifo_wrport_we;
wire [9:0] basesoc_uart_1_tx_fifo_wrport_dat_w;
wire basesoc_uart_1_tx_fifo_do_read;
wire [3:0] basesoc_uart_1_tx_fifo_rdport_adr;
wire [9:0] basesoc_uart_1_tx_fifo_rdport_dat_r;
wire basesoc_uart_1_tx_fifo_rdport_re;
wire [4:0] basesoc_uart_1_tx_fifo_level1;
wire [7:0] basesoc_uart_1_tx_fifo_fifo_in_payload_data;
wire basesoc_uart_1_tx_fifo_fifo_in_first;
wire basesoc_uart_1_tx_fifo_fifo_in_last;
wire [7:0] basesoc_uart_1_tx_fifo_fifo_out_payload_data;
wire basesoc_uart_1_tx_fifo_fifo_out_first;
wire basesoc_uart_1_tx_fifo_fifo_out_last;
wire basesoc_uart_1_rx_fifo_sink_valid;
wire basesoc_uart_1_rx_fifo_sink_ready;
wire basesoc_uart_1_rx_fifo_sink_first;
wire basesoc_uart_1_rx_fifo_sink_last;
wire [7:0] basesoc_uart_1_rx_fifo_sink_payload_data;
wire basesoc_uart_1_rx_fifo_source_valid;
wire basesoc_uart_1_rx_fifo_source_ready;
wire basesoc_uart_1_rx_fifo_source_first;
wire basesoc_uart_1_rx_fifo_source_last;
wire [7:0] basesoc_uart_1_rx_fifo_source_payload_data;
wire basesoc_uart_1_rx_fifo_re;
reg basesoc_uart_1_rx_fifo_readable = 1'd0;
wire basesoc_uart_1_rx_fifo_syncfifo_we;
wire basesoc_uart_1_rx_fifo_syncfifo_writable;
wire basesoc_uart_1_rx_fifo_syncfifo_re;
wire basesoc_uart_1_rx_fifo_syncfifo_readable;
wire [9:0] basesoc_uart_1_rx_fifo_syncfifo_din;
wire [9:0] basesoc_uart_1_rx_fifo_syncfifo_dout;
reg [4:0] basesoc_uart_1_rx_fifo_level0 = 5'd0;
reg basesoc_uart_1_rx_fifo_replace = 1'd0;
reg [3:0] basesoc_uart_1_rx_fifo_produce = 4'd0;
reg [3:0] basesoc_uart_1_rx_fifo_consume = 4'd0;
reg [3:0] basesoc_uart_1_rx_fifo_wrport_adr = 4'd0;
wire [9:0] basesoc_uart_1_rx_fifo_wrport_dat_r;
wire basesoc_uart_1_rx_fifo_wrport_we;
wire [9:0] basesoc_uart_1_rx_fifo_wrport_dat_w;
wire basesoc_uart_1_rx_fifo_do_read;
wire [3:0] basesoc_uart_1_rx_fifo_rdport_adr;
wire [9:0] basesoc_uart_1_rx_fifo_rdport_dat_r;
wire basesoc_uart_1_rx_fifo_rdport_re;
wire [4:0] basesoc_uart_1_rx_fifo_level1;
wire [7:0] basesoc_uart_1_rx_fifo_fifo_in_payload_data;
wire basesoc_uart_1_rx_fifo_fifo_in_first;
wire basesoc_uart_1_rx_fifo_fifo_in_last;
wire [7:0] basesoc_uart_1_rx_fifo_fifo_out_payload_data;
wire basesoc_uart_1_rx_fifo_fifo_out_first;
wire basesoc_uart_1_rx_fifo_fifo_out_last;
reg rs232phytx0_state = 1'd0;
reg rs232phytx0_next_state = 1'd0;
reg [3:0] basesoc_uart_0_phy_tx_count_rs232phytx0_next_value0 = 4'd0;
reg basesoc_uart_0_phy_tx_count_rs232phytx0_next_value_ce0 = 1'd0;
reg rs232phytx0_next_value = 1'd0;
reg rs232phytx0_next_value_ce = 1'd0;
reg [7:0] basesoc_uart_0_phy_tx_data_rs232phytx0_next_value1 = 8'd0;
reg basesoc_uart_0_phy_tx_data_rs232phytx0_next_value_ce1 = 1'd0;
reg rs232phyrx0_state = 1'd0;
reg rs232phyrx0_next_state = 1'd0;
reg [3:0] basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value0 = 4'd0;
reg basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value_ce0 = 1'd0;
reg [7:0] basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value1 = 8'd0;
reg basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value_ce1 = 1'd0;
reg rs232phytx1_state = 1'd0;
reg rs232phytx1_next_state = 1'd0;
reg [3:0] basesoc_uart_1_phy_tx_count_rs232phytx1_next_value0 = 4'd0;
reg basesoc_uart_1_phy_tx_count_rs232phytx1_next_value_ce0 = 1'd0;
reg rs232phytx1_next_value = 1'd0;
reg rs232phytx1_next_value_ce = 1'd0;
reg [7:0] basesoc_uart_1_phy_tx_data_rs232phytx1_next_value1 = 8'd0;
reg basesoc_uart_1_phy_tx_data_rs232phytx1_next_value_ce1 = 1'd0;
reg rs232phyrx1_state = 1'd0;
reg rs232phyrx1_next_state = 1'd0;
reg [3:0] basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value0 = 4'd0;
reg basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value_ce0 = 1'd0;
reg [7:0] basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value1 = 8'd0;
reg basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value_ce1 = 1'd0;
reg [13:0] basesoc_adr = 14'd0;
reg basesoc_we = 1'd0;
reg [31:0] basesoc_dat_w = 32'd0;
wire [31:0] basesoc_dat_r;
wire [29:0] basesoc_wishbone_adr;
wire [31:0] basesoc_wishbone_dat_w;
reg [31:0] basesoc_wishbone_dat_r = 32'd0;
wire [3:0] basesoc_wishbone_sel;
wire basesoc_wishbone_cyc;
wire basesoc_wishbone_stb;
reg basesoc_wishbone_ack = 1'd0;
wire basesoc_wishbone_we;
wire [2:0] basesoc_wishbone_cti;
wire [1:0] basesoc_wishbone_bte;
reg basesoc_wishbone_err = 1'd0;
wire [29:0] shared_adr;
wire [31:0] shared_dat_w;
reg [31:0] shared_dat_r = 32'd0;
wire [3:0] shared_sel;
wire shared_cyc;
wire shared_stb;
reg shared_ack = 1'd0;
wire shared_we;
wire [2:0] shared_cti;
wire [1:0] shared_bte;
wire shared_err;
wire [1:0] request;
reg grant = 1'd0;
reg [1:0] slave_sel = 2'd0;
reg [1:0] slave_sel_r = 2'd0;
reg error = 1'd0;
wire wait_1;
wire done;
reg [19:0] count = 20'd1000000;
wire [13:0] csr_bankarray_interface0_bank_bus_adr;
wire csr_bankarray_interface0_bank_bus_we;
wire [31:0] csr_bankarray_interface0_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface0_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank0_reset0_re = 1'd0;
wire [1:0] csr_bankarray_csrbank0_reset0_r;
reg csr_bankarray_csrbank0_reset0_we = 1'd0;
wire [1:0] csr_bankarray_csrbank0_reset0_w;
reg csr_bankarray_csrbank0_scratch0_re = 1'd0;
wire [31:0] csr_bankarray_csrbank0_scratch0_r;
reg csr_bankarray_csrbank0_scratch0_we = 1'd0;
wire [31:0] csr_bankarray_csrbank0_scratch0_w;
reg csr_bankarray_csrbank0_bus_errors_re = 1'd0;
wire [31:0] csr_bankarray_csrbank0_bus_errors_r;
reg csr_bankarray_csrbank0_bus_errors_we = 1'd0;
wire [31:0] csr_bankarray_csrbank0_bus_errors_w;
wire csr_bankarray_csrbank0_sel;
wire [13:0] csr_bankarray_interface1_bank_bus_adr;
wire csr_bankarray_interface1_bank_bus_we;
wire [31:0] csr_bankarray_interface1_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface1_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank1_w0_re = 1'd0;
wire [2:0] csr_bankarray_csrbank1_w0_r;
reg csr_bankarray_csrbank1_w0_we = 1'd0;
wire [2:0] csr_bankarray_csrbank1_w0_w;
reg csr_bankarray_csrbank1_r_re = 1'd0;
wire csr_bankarray_csrbank1_r_r;
reg csr_bankarray_csrbank1_r_we = 1'd0;
wire csr_bankarray_csrbank1_r_w;
wire csr_bankarray_csrbank1_sel;
wire [13:0] csr_bankarray_sram_bus_adr;
wire csr_bankarray_sram_bus_we;
wire [31:0] csr_bankarray_sram_bus_dat_w;
reg [31:0] csr_bankarray_sram_bus_dat_r = 32'd0;
wire [5:0] csr_bankarray_adr;
wire [7:0] csr_bankarray_dat_r;
wire csr_bankarray_sel;
reg csr_bankarray_sel_r = 1'd0;
wire [13:0] csr_bankarray_interface2_bank_bus_adr;
wire csr_bankarray_interface2_bank_bus_we;
wire [31:0] csr_bankarray_interface2_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface2_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank2_load0_re = 1'd0;
wire [31:0] csr_bankarray_csrbank2_load0_r;
reg csr_bankarray_csrbank2_load0_we = 1'd0;
wire [31:0] csr_bankarray_csrbank2_load0_w;
reg csr_bankarray_csrbank2_reload0_re = 1'd0;
wire [31:0] csr_bankarray_csrbank2_reload0_r;
reg csr_bankarray_csrbank2_reload0_we = 1'd0;
wire [31:0] csr_bankarray_csrbank2_reload0_w;
reg csr_bankarray_csrbank2_en0_re = 1'd0;
wire csr_bankarray_csrbank2_en0_r;
reg csr_bankarray_csrbank2_en0_we = 1'd0;
wire csr_bankarray_csrbank2_en0_w;
reg csr_bankarray_csrbank2_update_value0_re = 1'd0;
wire csr_bankarray_csrbank2_update_value0_r;
reg csr_bankarray_csrbank2_update_value0_we = 1'd0;
wire csr_bankarray_csrbank2_update_value0_w;
reg csr_bankarray_csrbank2_value_re = 1'd0;
wire [31:0] csr_bankarray_csrbank2_value_r;
reg csr_bankarray_csrbank2_value_we = 1'd0;
wire [31:0] csr_bankarray_csrbank2_value_w;
reg csr_bankarray_csrbank2_ev_status_re = 1'd0;
wire csr_bankarray_csrbank2_ev_status_r;
reg csr_bankarray_csrbank2_ev_status_we = 1'd0;
wire csr_bankarray_csrbank2_ev_status_w;
reg csr_bankarray_csrbank2_ev_pending_re = 1'd0;
wire csr_bankarray_csrbank2_ev_pending_r;
reg csr_bankarray_csrbank2_ev_pending_we = 1'd0;
wire csr_bankarray_csrbank2_ev_pending_w;
reg csr_bankarray_csrbank2_ev_enable0_re = 1'd0;
wire csr_bankarray_csrbank2_ev_enable0_r;
reg csr_bankarray_csrbank2_ev_enable0_we = 1'd0;
wire csr_bankarray_csrbank2_ev_enable0_w;
wire csr_bankarray_csrbank2_sel;
wire [13:0] csr_bankarray_interface3_bank_bus_adr;
wire csr_bankarray_interface3_bank_bus_we;
wire [31:0] csr_bankarray_interface3_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface3_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank3_txfull_re = 1'd0;
wire csr_bankarray_csrbank3_txfull_r;
reg csr_bankarray_csrbank3_txfull_we = 1'd0;
wire csr_bankarray_csrbank3_txfull_w;
reg csr_bankarray_csrbank3_rxempty_re = 1'd0;
wire csr_bankarray_csrbank3_rxempty_r;
reg csr_bankarray_csrbank3_rxempty_we = 1'd0;
wire csr_bankarray_csrbank3_rxempty_w;
reg csr_bankarray_csrbank3_ev_status_re = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_status_r;
reg csr_bankarray_csrbank3_ev_status_we = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_status_w;
reg csr_bankarray_csrbank3_ev_pending_re = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_pending_r;
reg csr_bankarray_csrbank3_ev_pending_we = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_pending_w;
reg csr_bankarray_csrbank3_ev_enable0_re = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_enable0_r;
reg csr_bankarray_csrbank3_ev_enable0_we = 1'd0;
wire [1:0] csr_bankarray_csrbank3_ev_enable0_w;
reg csr_bankarray_csrbank3_txempty_re = 1'd0;
wire csr_bankarray_csrbank3_txempty_r;
reg csr_bankarray_csrbank3_txempty_we = 1'd0;
wire csr_bankarray_csrbank3_txempty_w;
reg csr_bankarray_csrbank3_rxfull_re = 1'd0;
wire csr_bankarray_csrbank3_rxfull_r;
reg csr_bankarray_csrbank3_rxfull_we = 1'd0;
wire csr_bankarray_csrbank3_rxfull_w;
wire csr_bankarray_csrbank3_sel;
wire [13:0] csr_bankarray_interface4_bank_bus_adr;
wire csr_bankarray_interface4_bank_bus_we;
wire [31:0] csr_bankarray_interface4_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface4_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank4_tuning_word0_re = 1'd0;
wire [31:0] csr_bankarray_csrbank4_tuning_word0_r;
reg csr_bankarray_csrbank4_tuning_word0_we = 1'd0;
wire [31:0] csr_bankarray_csrbank4_tuning_word0_w;
wire csr_bankarray_csrbank4_sel;
wire [13:0] csr_bankarray_interface5_bank_bus_adr;
wire csr_bankarray_interface5_bank_bus_we;
wire [31:0] csr_bankarray_interface5_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface5_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank5_txfull_re = 1'd0;
wire csr_bankarray_csrbank5_txfull_r;
reg csr_bankarray_csrbank5_txfull_we = 1'd0;
wire csr_bankarray_csrbank5_txfull_w;
reg csr_bankarray_csrbank5_rxempty_re = 1'd0;
wire csr_bankarray_csrbank5_rxempty_r;
reg csr_bankarray_csrbank5_rxempty_we = 1'd0;
wire csr_bankarray_csrbank5_rxempty_w;
reg csr_bankarray_csrbank5_ev_status_re = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_status_r;
reg csr_bankarray_csrbank5_ev_status_we = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_status_w;
reg csr_bankarray_csrbank5_ev_pending_re = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_pending_r;
reg csr_bankarray_csrbank5_ev_pending_we = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_pending_w;
reg csr_bankarray_csrbank5_ev_enable0_re = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_enable0_r;
reg csr_bankarray_csrbank5_ev_enable0_we = 1'd0;
wire [1:0] csr_bankarray_csrbank5_ev_enable0_w;
reg csr_bankarray_csrbank5_txempty_re = 1'd0;
wire csr_bankarray_csrbank5_txempty_r;
reg csr_bankarray_csrbank5_txempty_we = 1'd0;
wire csr_bankarray_csrbank5_txempty_w;
reg csr_bankarray_csrbank5_rxfull_re = 1'd0;
wire csr_bankarray_csrbank5_rxfull_r;
reg csr_bankarray_csrbank5_rxfull_we = 1'd0;
wire csr_bankarray_csrbank5_rxfull_w;
wire csr_bankarray_csrbank5_sel;
wire [13:0] csr_bankarray_interface6_bank_bus_adr;
wire csr_bankarray_interface6_bank_bus_we;
wire [31:0] csr_bankarray_interface6_bank_bus_dat_w;
reg [31:0] csr_bankarray_interface6_bank_bus_dat_r = 32'd0;
reg csr_bankarray_csrbank6_tuning_word0_re = 1'd0;
wire [31:0] csr_bankarray_csrbank6_tuning_word0_r;
reg csr_bankarray_csrbank6_tuning_word0_we = 1'd0;
wire [31:0] csr_bankarray_csrbank6_tuning_word0_w;
wire csr_bankarray_csrbank6_sel;
wire [13:0] csr_interconnect_adr;
wire csr_interconnect_we;
wire [31:0] csr_interconnect_dat_w;
wire [31:0] csr_interconnect_dat_r;
reg state = 1'd0;
reg next_state = 1'd0;
wire sys_clk;
reg sys_rst = 1'd0;
wire por_clk;
reg int_rst = 1'd1;
reg [29:0] array_muxed0 = 30'd0;
reg [31:0] array_muxed1 = 32'd0;
reg [3:0] array_muxed2 = 4'd0;
reg array_muxed3 = 1'd0;
reg array_muxed4 = 1'd0;
reg array_muxed5 = 1'd0;
reg [2:0] array_muxed6 = 3'd0;
reg [1:0] array_muxed7 = 2'd0;
reg multiregimpl0_regs0 = 1'd0;
reg multiregimpl0_regs1 = 1'd0;
reg multiregimpl1_regs0 = 1'd0;
reg multiregimpl1_regs1 = 1'd0;
//------------------------------------------------------------------------------
// Combinatorial Logic
//------------------------------------------------------------------------------
assign basesoc_basesoc_reset = (basesoc_basesoc_soc_rst | basesoc_basesoc_cpu_rst);
assign basesoc_user_clock2 = user_clock2;
assign basesoc_in_in = in_in;
assign basesoc_in_out = in_out;
assign basesoc_in_oeb = in_oeb;
assign basesoc_user_irq = user_irq;
assign basesoc_la_data_in = la_data_in;
assign basesoc_la_data_out = la_data_out;
assign basesoc_la_oenb = la_oenb;
assign basesoc_basesoc_bus_error = error;
assign basesoc_basesoc_interrupt[0] = basesoc_basesoc_irq;
assign basesoc_basesoc_bus_errors_status = basesoc_basesoc_bus_errors;
assign basesoc_basesoc_zero_trigger = (basesoc_basesoc_value == 1'd0);
assign basesoc_basesoc_zero0 = basesoc_basesoc_zero_status;
assign basesoc_basesoc_zero1 = basesoc_basesoc_zero_pending;
always @(*) begin
basesoc_basesoc_zero_clear <= 1'd0;
if ((basesoc_basesoc_pending_re & basesoc_basesoc_pending_r)) begin
basesoc_basesoc_zero_clear <= 1'd1;
end
end
assign basesoc_basesoc_irq = (basesoc_basesoc_pending_status & basesoc_basesoc_enable_storage);
assign basesoc_basesoc_zero_status = basesoc_basesoc_zero_trigger;
always @(*) begin
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value_ce1 <= 1'd0;
basesoc_uart_0_phy_tx_enable <= 1'd0;
rs232phytx0_next_state <= 1'd0;
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value0 <= 4'd0;
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value_ce0 <= 1'd0;
rs232phytx0_next_value <= 1'd0;
rs232phytx0_next_value_ce <= 1'd0;
basesoc_uart_0_phy_tx_sink_ready <= 1'd0;
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value1 <= 8'd0;
rs232phytx0_next_state <= rs232phytx0_state;
case (rs232phytx0_state)
1'd1: begin
basesoc_uart_0_phy_tx_enable <= 1'd1;
if (basesoc_uart_0_phy_tx_tick) begin
rs232phytx0_next_value <= basesoc_uart_0_phy_tx_data;
rs232phytx0_next_value_ce <= 1'd1;
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value0 <= (basesoc_uart_0_phy_tx_count + 1'd1);
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value_ce0 <= 1'd1;
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value1 <= {1'd1, basesoc_uart_0_phy_tx_data[7:1]};
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value_ce1 <= 1'd1;
if ((basesoc_uart_0_phy_tx_count == 4'd9)) begin
basesoc_uart_0_phy_tx_sink_ready <= 1'd1;
rs232phytx0_next_state <= 1'd0;
end
end
end
default: begin
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value0 <= 1'd0;
basesoc_uart_0_phy_tx_count_rs232phytx0_next_value_ce0 <= 1'd1;
rs232phytx0_next_value <= 1'd1;
rs232phytx0_next_value_ce <= 1'd1;
if (basesoc_uart_0_phy_tx_sink_valid) begin
rs232phytx0_next_value <= 1'd0;
rs232phytx0_next_value_ce <= 1'd1;
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value1 <= basesoc_uart_0_phy_tx_sink_payload_data;
basesoc_uart_0_phy_tx_data_rs232phytx0_next_value_ce1 <= 1'd1;
rs232phytx0_next_state <= 1'd1;
end
end
endcase
end
always @(*) begin
basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value_ce1 <= 1'd0;
basesoc_uart_0_phy_rx_source_payload_data <= 8'd0;
basesoc_uart_0_phy_rx_enable <= 1'd0;
rs232phyrx0_next_state <= 1'd0;
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value0 <= 4'd0;
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value_ce0 <= 1'd0;
basesoc_uart_0_phy_rx_source_valid <= 1'd0;
basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value1 <= 8'd0;
rs232phyrx0_next_state <= rs232phyrx0_state;
case (rs232phyrx0_state)
1'd1: begin
basesoc_uart_0_phy_rx_enable <= 1'd1;
if (basesoc_uart_0_phy_rx_tick) begin
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value0 <= (basesoc_uart_0_phy_rx_count + 1'd1);
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value_ce0 <= 1'd1;
basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value1 <= {basesoc_uart_0_phy_rx_rx, basesoc_uart_0_phy_rx_data[7:1]};
basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value_ce1 <= 1'd1;
if ((basesoc_uart_0_phy_rx_count == 4'd9)) begin
basesoc_uart_0_phy_rx_source_valid <= (basesoc_uart_0_phy_rx_rx == 1'd1);
basesoc_uart_0_phy_rx_source_payload_data <= basesoc_uart_0_phy_rx_data;
rs232phyrx0_next_state <= 1'd0;
end
end
end
default: begin
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value0 <= 1'd0;
basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value_ce0 <= 1'd1;
if (((basesoc_uart_0_phy_rx_rx == 1'd0) & (basesoc_uart_0_phy_rx_rx_d == 1'd1))) begin
rs232phyrx0_next_state <= 1'd1;
end
end
endcase
end
assign basesoc_uart_0_uart_sink_valid = basesoc_uart_0_phy_rx_source_valid;
assign basesoc_uart_0_phy_rx_source_ready = basesoc_uart_0_uart_sink_ready;
assign basesoc_uart_0_uart_sink_first = basesoc_uart_0_phy_rx_source_first;
assign basesoc_uart_0_uart_sink_last = basesoc_uart_0_phy_rx_source_last;
assign basesoc_uart_0_uart_sink_payload_data = basesoc_uart_0_phy_rx_source_payload_data;
assign basesoc_uart_0_phy_tx_sink_valid = basesoc_uart_0_uart_source_valid;
assign basesoc_uart_0_uart_source_ready = basesoc_uart_0_phy_tx_sink_ready;
assign basesoc_uart_0_phy_tx_sink_first = basesoc_uart_0_uart_source_first;
assign basesoc_uart_0_phy_tx_sink_last = basesoc_uart_0_uart_source_last;
assign basesoc_uart_0_phy_tx_sink_payload_data = basesoc_uart_0_uart_source_payload_data;
assign basesoc_uart_0_tx_fifo_sink_valid = basesoc_uart_0_rxtx_re;
assign basesoc_uart_0_tx_fifo_sink_payload_data = basesoc_uart_0_rxtx_r;
assign basesoc_uart_0_uart_source_valid = basesoc_uart_0_tx_fifo_source_valid;
assign basesoc_uart_0_tx_fifo_source_ready = basesoc_uart_0_uart_source_ready;
assign basesoc_uart_0_uart_source_first = basesoc_uart_0_tx_fifo_source_first;
assign basesoc_uart_0_uart_source_last = basesoc_uart_0_tx_fifo_source_last;
assign basesoc_uart_0_uart_source_payload_data = basesoc_uart_0_tx_fifo_source_payload_data;
assign basesoc_uart_0_txfull_status = (~basesoc_uart_0_tx_fifo_sink_ready);
assign basesoc_uart_0_txempty_status = (~basesoc_uart_0_tx_fifo_source_valid);
assign basesoc_uart_0_tx_trigger = basesoc_uart_0_tx_fifo_sink_ready;
assign basesoc_uart_0_rx_fifo_sink_valid = basesoc_uart_0_uart_sink_valid;
assign basesoc_uart_0_uart_sink_ready = basesoc_uart_0_rx_fifo_sink_ready;
assign basesoc_uart_0_rx_fifo_sink_first = basesoc_uart_0_uart_sink_first;
assign basesoc_uart_0_rx_fifo_sink_last = basesoc_uart_0_uart_sink_last;
assign basesoc_uart_0_rx_fifo_sink_payload_data = basesoc_uart_0_uart_sink_payload_data;
assign basesoc_uart_0_rxtx_w = basesoc_uart_0_rx_fifo_source_payload_data;
assign basesoc_uart_0_rx_fifo_source_ready = (basesoc_uart_0_rx_clear | (1'd0 & basesoc_uart_0_rxtx_we));
assign basesoc_uart_0_rxempty_status = (~basesoc_uart_0_rx_fifo_source_valid);
assign basesoc_uart_0_rxfull_status = (~basesoc_uart_0_rx_fifo_sink_ready);
assign basesoc_uart_0_rx_trigger = basesoc_uart_0_rx_fifo_source_valid;
assign basesoc_uart_0_tx0 = basesoc_uart_0_tx_status;
assign basesoc_uart_0_tx1 = basesoc_uart_0_tx_pending;
always @(*) begin
basesoc_uart_0_tx_clear <= 1'd0;
if ((basesoc_uart_0_pending_re & basesoc_uart_0_pending_r[0])) begin
basesoc_uart_0_tx_clear <= 1'd1;
end
end
assign basesoc_uart_0_rx0 = basesoc_uart_0_rx_status;
assign basesoc_uart_0_rx1 = basesoc_uart_0_rx_pending;
always @(*) begin
basesoc_uart_0_rx_clear <= 1'd0;
if ((basesoc_uart_0_pending_re & basesoc_uart_0_pending_r[1])) begin
basesoc_uart_0_rx_clear <= 1'd1;
end
end
assign basesoc_uart_0_irq = ((basesoc_uart_0_pending_status[0] & basesoc_uart_0_enable_storage[0]) | (basesoc_uart_0_pending_status[1] & basesoc_uart_0_enable_storage[1]));
assign basesoc_uart_0_tx_status = basesoc_uart_0_tx_trigger;
assign basesoc_uart_0_rx_status = basesoc_uart_0_rx_trigger;
assign basesoc_uart_0_tx_fifo_syncfifo_din = {basesoc_uart_0_tx_fifo_fifo_in_last, basesoc_uart_0_tx_fifo_fifo_in_first, basesoc_uart_0_tx_fifo_fifo_in_payload_data};
assign {basesoc_uart_0_tx_fifo_fifo_out_last, basesoc_uart_0_tx_fifo_fifo_out_first, basesoc_uart_0_tx_fifo_fifo_out_payload_data} = basesoc_uart_0_tx_fifo_syncfifo_dout;
assign basesoc_uart_0_tx_fifo_sink_ready = basesoc_uart_0_tx_fifo_syncfifo_writable;
assign basesoc_uart_0_tx_fifo_syncfifo_we = basesoc_uart_0_tx_fifo_sink_valid;
assign basesoc_uart_0_tx_fifo_fifo_in_first = basesoc_uart_0_tx_fifo_sink_first;
assign basesoc_uart_0_tx_fifo_fifo_in_last = basesoc_uart_0_tx_fifo_sink_last;
assign basesoc_uart_0_tx_fifo_fifo_in_payload_data = basesoc_uart_0_tx_fifo_sink_payload_data;
assign basesoc_uart_0_tx_fifo_source_valid = basesoc_uart_0_tx_fifo_readable;
assign basesoc_uart_0_tx_fifo_source_first = basesoc_uart_0_tx_fifo_fifo_out_first;
assign basesoc_uart_0_tx_fifo_source_last = basesoc_uart_0_tx_fifo_fifo_out_last;
assign basesoc_uart_0_tx_fifo_source_payload_data = basesoc_uart_0_tx_fifo_fifo_out_payload_data;
assign basesoc_uart_0_tx_fifo_re = basesoc_uart_0_tx_fifo_source_ready;
assign basesoc_uart_0_tx_fifo_syncfifo_re = (basesoc_uart_0_tx_fifo_syncfifo_readable & ((~basesoc_uart_0_tx_fifo_readable) | basesoc_uart_0_tx_fifo_re));
assign basesoc_uart_0_tx_fifo_level1 = (basesoc_uart_0_tx_fifo_level0 + basesoc_uart_0_tx_fifo_readable);
always @(*) begin
basesoc_uart_0_tx_fifo_wrport_adr <= 4'd0;
if (basesoc_uart_0_tx_fifo_replace) begin
basesoc_uart_0_tx_fifo_wrport_adr <= (basesoc_uart_0_tx_fifo_produce - 1'd1);
end else begin
basesoc_uart_0_tx_fifo_wrport_adr <= basesoc_uart_0_tx_fifo_produce;
end
end
assign basesoc_uart_0_tx_fifo_wrport_dat_w = basesoc_uart_0_tx_fifo_syncfifo_din;
assign basesoc_uart_0_tx_fifo_wrport_we = (basesoc_uart_0_tx_fifo_syncfifo_we & (basesoc_uart_0_tx_fifo_syncfifo_writable | basesoc_uart_0_tx_fifo_replace));
assign basesoc_uart_0_tx_fifo_do_read = (basesoc_uart_0_tx_fifo_syncfifo_readable & basesoc_uart_0_tx_fifo_syncfifo_re);
assign basesoc_uart_0_tx_fifo_rdport_adr = basesoc_uart_0_tx_fifo_consume;
assign basesoc_uart_0_tx_fifo_syncfifo_dout = basesoc_uart_0_tx_fifo_rdport_dat_r;
assign basesoc_uart_0_tx_fifo_rdport_re = basesoc_uart_0_tx_fifo_do_read;
assign basesoc_uart_0_tx_fifo_syncfifo_writable = (basesoc_uart_0_tx_fifo_level0 != 5'd16);
assign basesoc_uart_0_tx_fifo_syncfifo_readable = (basesoc_uart_0_tx_fifo_level0 != 1'd0);
assign basesoc_uart_0_rx_fifo_syncfifo_din = {basesoc_uart_0_rx_fifo_fifo_in_last, basesoc_uart_0_rx_fifo_fifo_in_first, basesoc_uart_0_rx_fifo_fifo_in_payload_data};
assign {basesoc_uart_0_rx_fifo_fifo_out_last, basesoc_uart_0_rx_fifo_fifo_out_first, basesoc_uart_0_rx_fifo_fifo_out_payload_data} = basesoc_uart_0_rx_fifo_syncfifo_dout;
assign basesoc_uart_0_rx_fifo_sink_ready = basesoc_uart_0_rx_fifo_syncfifo_writable;
assign basesoc_uart_0_rx_fifo_syncfifo_we = basesoc_uart_0_rx_fifo_sink_valid;
assign basesoc_uart_0_rx_fifo_fifo_in_first = basesoc_uart_0_rx_fifo_sink_first;
assign basesoc_uart_0_rx_fifo_fifo_in_last = basesoc_uart_0_rx_fifo_sink_last;
assign basesoc_uart_0_rx_fifo_fifo_in_payload_data = basesoc_uart_0_rx_fifo_sink_payload_data;
assign basesoc_uart_0_rx_fifo_source_valid = basesoc_uart_0_rx_fifo_readable;
assign basesoc_uart_0_rx_fifo_source_first = basesoc_uart_0_rx_fifo_fifo_out_first;
assign basesoc_uart_0_rx_fifo_source_last = basesoc_uart_0_rx_fifo_fifo_out_last;
assign basesoc_uart_0_rx_fifo_source_payload_data = basesoc_uart_0_rx_fifo_fifo_out_payload_data;
assign basesoc_uart_0_rx_fifo_re = basesoc_uart_0_rx_fifo_source_ready;
assign basesoc_uart_0_rx_fifo_syncfifo_re = (basesoc_uart_0_rx_fifo_syncfifo_readable & ((~basesoc_uart_0_rx_fifo_readable) | basesoc_uart_0_rx_fifo_re));
assign basesoc_uart_0_rx_fifo_level1 = (basesoc_uart_0_rx_fifo_level0 + basesoc_uart_0_rx_fifo_readable);
always @(*) begin
basesoc_uart_0_rx_fifo_wrport_adr <= 4'd0;
if (basesoc_uart_0_rx_fifo_replace) begin
basesoc_uart_0_rx_fifo_wrport_adr <= (basesoc_uart_0_rx_fifo_produce - 1'd1);
end else begin
basesoc_uart_0_rx_fifo_wrport_adr <= basesoc_uart_0_rx_fifo_produce;
end
end
assign basesoc_uart_0_rx_fifo_wrport_dat_w = basesoc_uart_0_rx_fifo_syncfifo_din;
assign basesoc_uart_0_rx_fifo_wrport_we = (basesoc_uart_0_rx_fifo_syncfifo_we & (basesoc_uart_0_rx_fifo_syncfifo_writable | basesoc_uart_0_rx_fifo_replace));
assign basesoc_uart_0_rx_fifo_do_read = (basesoc_uart_0_rx_fifo_syncfifo_readable & basesoc_uart_0_rx_fifo_syncfifo_re);
assign basesoc_uart_0_rx_fifo_rdport_adr = basesoc_uart_0_rx_fifo_consume;
assign basesoc_uart_0_rx_fifo_syncfifo_dout = basesoc_uart_0_rx_fifo_rdport_dat_r;
assign basesoc_uart_0_rx_fifo_rdport_re = basesoc_uart_0_rx_fifo_do_read;
assign basesoc_uart_0_rx_fifo_syncfifo_writable = (basesoc_uart_0_rx_fifo_level0 != 5'd16);
assign basesoc_uart_0_rx_fifo_syncfifo_readable = (basesoc_uart_0_rx_fifo_level0 != 1'd0);
always @(*) begin
basesoc_uart_1_phy_tx_enable <= 1'd0;
rs232phytx1_next_state <= 1'd0;
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value0 <= 4'd0;
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value_ce0 <= 1'd0;
rs232phytx1_next_value <= 1'd0;
rs232phytx1_next_value_ce <= 1'd0;
basesoc_uart_1_phy_tx_sink_ready <= 1'd0;
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value1 <= 8'd0;
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value_ce1 <= 1'd0;
rs232phytx1_next_state <= rs232phytx1_state;
case (rs232phytx1_state)
1'd1: begin
basesoc_uart_1_phy_tx_enable <= 1'd1;
if (basesoc_uart_1_phy_tx_tick) begin
rs232phytx1_next_value <= basesoc_uart_1_phy_tx_data;
rs232phytx1_next_value_ce <= 1'd1;
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value0 <= (basesoc_uart_1_phy_tx_count + 1'd1);
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value_ce0 <= 1'd1;
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value1 <= {1'd1, basesoc_uart_1_phy_tx_data[7:1]};
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value_ce1 <= 1'd1;
if ((basesoc_uart_1_phy_tx_count == 4'd9)) begin
basesoc_uart_1_phy_tx_sink_ready <= 1'd1;
rs232phytx1_next_state <= 1'd0;
end
end
end
default: begin
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value0 <= 1'd0;
basesoc_uart_1_phy_tx_count_rs232phytx1_next_value_ce0 <= 1'd1;
rs232phytx1_next_value <= 1'd1;
rs232phytx1_next_value_ce <= 1'd1;
if (basesoc_uart_1_phy_tx_sink_valid) begin
rs232phytx1_next_value <= 1'd0;
rs232phytx1_next_value_ce <= 1'd1;
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value1 <= basesoc_uart_1_phy_tx_sink_payload_data;
basesoc_uart_1_phy_tx_data_rs232phytx1_next_value_ce1 <= 1'd1;
rs232phytx1_next_state <= 1'd1;
end
end
endcase
end
always @(*) begin
basesoc_uart_1_phy_rx_enable <= 1'd0;
rs232phyrx1_next_state <= 1'd0;
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value0 <= 4'd0;
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value_ce0 <= 1'd0;
basesoc_uart_1_phy_rx_source_valid <= 1'd0;
basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value1 <= 8'd0;
basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value_ce1 <= 1'd0;
basesoc_uart_1_phy_rx_source_payload_data <= 8'd0;
rs232phyrx1_next_state <= rs232phyrx1_state;
case (rs232phyrx1_state)
1'd1: begin
basesoc_uart_1_phy_rx_enable <= 1'd1;
if (basesoc_uart_1_phy_rx_tick) begin
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value0 <= (basesoc_uart_1_phy_rx_count + 1'd1);
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value_ce0 <= 1'd1;
basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value1 <= {basesoc_uart_1_phy_rx_rx, basesoc_uart_1_phy_rx_data[7:1]};
basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value_ce1 <= 1'd1;
if ((basesoc_uart_1_phy_rx_count == 4'd9)) begin
basesoc_uart_1_phy_rx_source_valid <= (basesoc_uart_1_phy_rx_rx == 1'd1);
basesoc_uart_1_phy_rx_source_payload_data <= basesoc_uart_1_phy_rx_data;
rs232phyrx1_next_state <= 1'd0;
end
end
end
default: begin
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value0 <= 1'd0;
basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value_ce0 <= 1'd1;
if (((basesoc_uart_1_phy_rx_rx == 1'd0) & (basesoc_uart_1_phy_rx_rx_d == 1'd1))) begin
rs232phyrx1_next_state <= 1'd1;
end
end
endcase
end
assign basesoc_uart_1_uart_sink_valid = basesoc_uart_1_phy_rx_source_valid;
assign basesoc_uart_1_phy_rx_source_ready = basesoc_uart_1_uart_sink_ready;
assign basesoc_uart_1_uart_sink_first = basesoc_uart_1_phy_rx_source_first;
assign basesoc_uart_1_uart_sink_last = basesoc_uart_1_phy_rx_source_last;
assign basesoc_uart_1_uart_sink_payload_data = basesoc_uart_1_phy_rx_source_payload_data;
assign basesoc_uart_1_phy_tx_sink_valid = basesoc_uart_1_uart_source_valid;
assign basesoc_uart_1_uart_source_ready = basesoc_uart_1_phy_tx_sink_ready;
assign basesoc_uart_1_phy_tx_sink_first = basesoc_uart_1_uart_source_first;
assign basesoc_uart_1_phy_tx_sink_last = basesoc_uart_1_uart_source_last;
assign basesoc_uart_1_phy_tx_sink_payload_data = basesoc_uart_1_uart_source_payload_data;
assign basesoc_uart_1_tx_fifo_sink_valid = basesoc_uart_1_rxtx_re;
assign basesoc_uart_1_tx_fifo_sink_payload_data = basesoc_uart_1_rxtx_r;
assign basesoc_uart_1_uart_source_valid = basesoc_uart_1_tx_fifo_source_valid;
assign basesoc_uart_1_tx_fifo_source_ready = basesoc_uart_1_uart_source_ready;
assign basesoc_uart_1_uart_source_first = basesoc_uart_1_tx_fifo_source_first;
assign basesoc_uart_1_uart_source_last = basesoc_uart_1_tx_fifo_source_last;
assign basesoc_uart_1_uart_source_payload_data = basesoc_uart_1_tx_fifo_source_payload_data;
assign basesoc_uart_1_txfull_status = (~basesoc_uart_1_tx_fifo_sink_ready);
assign basesoc_uart_1_txempty_status = (~basesoc_uart_1_tx_fifo_source_valid);
assign basesoc_uart_1_tx_trigger = basesoc_uart_1_tx_fifo_sink_ready;
assign basesoc_uart_1_rx_fifo_sink_valid = basesoc_uart_1_uart_sink_valid;
assign basesoc_uart_1_uart_sink_ready = basesoc_uart_1_rx_fifo_sink_ready;
assign basesoc_uart_1_rx_fifo_sink_first = basesoc_uart_1_uart_sink_first;
assign basesoc_uart_1_rx_fifo_sink_last = basesoc_uart_1_uart_sink_last;
assign basesoc_uart_1_rx_fifo_sink_payload_data = basesoc_uart_1_uart_sink_payload_data;
assign basesoc_uart_1_rxtx_w = basesoc_uart_1_rx_fifo_source_payload_data;
assign basesoc_uart_1_rx_fifo_source_ready = (basesoc_uart_1_rx_clear | (1'd0 & basesoc_uart_1_rxtx_we));
assign basesoc_uart_1_rxempty_status = (~basesoc_uart_1_rx_fifo_source_valid);
assign basesoc_uart_1_rxfull_status = (~basesoc_uart_1_rx_fifo_sink_ready);
assign basesoc_uart_1_rx_trigger = basesoc_uart_1_rx_fifo_source_valid;
assign basesoc_uart_1_tx0 = basesoc_uart_1_tx_status;
assign basesoc_uart_1_tx1 = basesoc_uart_1_tx_pending;
always @(*) begin
basesoc_uart_1_tx_clear <= 1'd0;
if ((basesoc_uart_1_pending_re & basesoc_uart_1_pending_r[0])) begin
basesoc_uart_1_tx_clear <= 1'd1;
end
end
assign basesoc_uart_1_rx0 = basesoc_uart_1_rx_status;
assign basesoc_uart_1_rx1 = basesoc_uart_1_rx_pending;
always @(*) begin
basesoc_uart_1_rx_clear <= 1'd0;
if ((basesoc_uart_1_pending_re & basesoc_uart_1_pending_r[1])) begin
basesoc_uart_1_rx_clear <= 1'd1;
end
end
assign basesoc_uart_1_irq = ((basesoc_uart_1_pending_status[0] & basesoc_uart_1_enable_storage[0]) | (basesoc_uart_1_pending_status[1] & basesoc_uart_1_enable_storage[1]));
assign basesoc_uart_1_tx_status = basesoc_uart_1_tx_trigger;
assign basesoc_uart_1_rx_status = basesoc_uart_1_rx_trigger;
assign basesoc_uart_1_tx_fifo_syncfifo_din = {basesoc_uart_1_tx_fifo_fifo_in_last, basesoc_uart_1_tx_fifo_fifo_in_first, basesoc_uart_1_tx_fifo_fifo_in_payload_data};
assign {basesoc_uart_1_tx_fifo_fifo_out_last, basesoc_uart_1_tx_fifo_fifo_out_first, basesoc_uart_1_tx_fifo_fifo_out_payload_data} = basesoc_uart_1_tx_fifo_syncfifo_dout;
assign basesoc_uart_1_tx_fifo_sink_ready = basesoc_uart_1_tx_fifo_syncfifo_writable;
assign basesoc_uart_1_tx_fifo_syncfifo_we = basesoc_uart_1_tx_fifo_sink_valid;
assign basesoc_uart_1_tx_fifo_fifo_in_first = basesoc_uart_1_tx_fifo_sink_first;
assign basesoc_uart_1_tx_fifo_fifo_in_last = basesoc_uart_1_tx_fifo_sink_last;
assign basesoc_uart_1_tx_fifo_fifo_in_payload_data = basesoc_uart_1_tx_fifo_sink_payload_data;
assign basesoc_uart_1_tx_fifo_source_valid = basesoc_uart_1_tx_fifo_readable;
assign basesoc_uart_1_tx_fifo_source_first = basesoc_uart_1_tx_fifo_fifo_out_first;
assign basesoc_uart_1_tx_fifo_source_last = basesoc_uart_1_tx_fifo_fifo_out_last;
assign basesoc_uart_1_tx_fifo_source_payload_data = basesoc_uart_1_tx_fifo_fifo_out_payload_data;
assign basesoc_uart_1_tx_fifo_re = basesoc_uart_1_tx_fifo_source_ready;
assign basesoc_uart_1_tx_fifo_syncfifo_re = (basesoc_uart_1_tx_fifo_syncfifo_readable & ((~basesoc_uart_1_tx_fifo_readable) | basesoc_uart_1_tx_fifo_re));
assign basesoc_uart_1_tx_fifo_level1 = (basesoc_uart_1_tx_fifo_level0 + basesoc_uart_1_tx_fifo_readable);
always @(*) begin
basesoc_uart_1_tx_fifo_wrport_adr <= 4'd0;
if (basesoc_uart_1_tx_fifo_replace) begin
basesoc_uart_1_tx_fifo_wrport_adr <= (basesoc_uart_1_tx_fifo_produce - 1'd1);
end else begin
basesoc_uart_1_tx_fifo_wrport_adr <= basesoc_uart_1_tx_fifo_produce;
end
end
assign basesoc_uart_1_tx_fifo_wrport_dat_w = basesoc_uart_1_tx_fifo_syncfifo_din;
assign basesoc_uart_1_tx_fifo_wrport_we = (basesoc_uart_1_tx_fifo_syncfifo_we & (basesoc_uart_1_tx_fifo_syncfifo_writable | basesoc_uart_1_tx_fifo_replace));
assign basesoc_uart_1_tx_fifo_do_read = (basesoc_uart_1_tx_fifo_syncfifo_readable & basesoc_uart_1_tx_fifo_syncfifo_re);
assign basesoc_uart_1_tx_fifo_rdport_adr = basesoc_uart_1_tx_fifo_consume;
assign basesoc_uart_1_tx_fifo_syncfifo_dout = basesoc_uart_1_tx_fifo_rdport_dat_r;
assign basesoc_uart_1_tx_fifo_rdport_re = basesoc_uart_1_tx_fifo_do_read;
assign basesoc_uart_1_tx_fifo_syncfifo_writable = (basesoc_uart_1_tx_fifo_level0 != 5'd16);
assign basesoc_uart_1_tx_fifo_syncfifo_readable = (basesoc_uart_1_tx_fifo_level0 != 1'd0);
assign basesoc_uart_1_rx_fifo_syncfifo_din = {basesoc_uart_1_rx_fifo_fifo_in_last, basesoc_uart_1_rx_fifo_fifo_in_first, basesoc_uart_1_rx_fifo_fifo_in_payload_data};
assign {basesoc_uart_1_rx_fifo_fifo_out_last, basesoc_uart_1_rx_fifo_fifo_out_first, basesoc_uart_1_rx_fifo_fifo_out_payload_data} = basesoc_uart_1_rx_fifo_syncfifo_dout;
assign basesoc_uart_1_rx_fifo_sink_ready = basesoc_uart_1_rx_fifo_syncfifo_writable;
assign basesoc_uart_1_rx_fifo_syncfifo_we = basesoc_uart_1_rx_fifo_sink_valid;
assign basesoc_uart_1_rx_fifo_fifo_in_first = basesoc_uart_1_rx_fifo_sink_first;
assign basesoc_uart_1_rx_fifo_fifo_in_last = basesoc_uart_1_rx_fifo_sink_last;
assign basesoc_uart_1_rx_fifo_fifo_in_payload_data = basesoc_uart_1_rx_fifo_sink_payload_data;
assign basesoc_uart_1_rx_fifo_source_valid = basesoc_uart_1_rx_fifo_readable;
assign basesoc_uart_1_rx_fifo_source_first = basesoc_uart_1_rx_fifo_fifo_out_first;
assign basesoc_uart_1_rx_fifo_source_last = basesoc_uart_1_rx_fifo_fifo_out_last;
assign basesoc_uart_1_rx_fifo_source_payload_data = basesoc_uart_1_rx_fifo_fifo_out_payload_data;
assign basesoc_uart_1_rx_fifo_re = basesoc_uart_1_rx_fifo_source_ready;
assign basesoc_uart_1_rx_fifo_syncfifo_re = (basesoc_uart_1_rx_fifo_syncfifo_readable & ((~basesoc_uart_1_rx_fifo_readable) | basesoc_uart_1_rx_fifo_re));
assign basesoc_uart_1_rx_fifo_level1 = (basesoc_uart_1_rx_fifo_level0 + basesoc_uart_1_rx_fifo_readable);
always @(*) begin
basesoc_uart_1_rx_fifo_wrport_adr <= 4'd0;
if (basesoc_uart_1_rx_fifo_replace) begin
basesoc_uart_1_rx_fifo_wrport_adr <= (basesoc_uart_1_rx_fifo_produce - 1'd1);
end else begin
basesoc_uart_1_rx_fifo_wrport_adr <= basesoc_uart_1_rx_fifo_produce;
end
end
assign basesoc_uart_1_rx_fifo_wrport_dat_w = basesoc_uart_1_rx_fifo_syncfifo_din;
assign basesoc_uart_1_rx_fifo_wrport_we = (basesoc_uart_1_rx_fifo_syncfifo_we & (basesoc_uart_1_rx_fifo_syncfifo_writable | basesoc_uart_1_rx_fifo_replace));
assign basesoc_uart_1_rx_fifo_do_read = (basesoc_uart_1_rx_fifo_syncfifo_readable & basesoc_uart_1_rx_fifo_syncfifo_re);
assign basesoc_uart_1_rx_fifo_rdport_adr = basesoc_uart_1_rx_fifo_consume;
assign basesoc_uart_1_rx_fifo_syncfifo_dout = basesoc_uart_1_rx_fifo_rdport_dat_r;
assign basesoc_uart_1_rx_fifo_rdport_re = basesoc_uart_1_rx_fifo_do_read;
assign basesoc_uart_1_rx_fifo_syncfifo_writable = (basesoc_uart_1_rx_fifo_level0 != 5'd16);
assign basesoc_uart_1_rx_fifo_syncfifo_readable = (basesoc_uart_1_rx_fifo_level0 != 1'd0);
always @(*) begin
basesoc_wishbone_dat_r <= 32'd0;
basesoc_adr <= 14'd0;
basesoc_we <= 1'd0;
next_state <= 1'd0;
basesoc_dat_w <= 32'd0;
basesoc_wishbone_ack <= 1'd0;
next_state <= state;
case (state)
1'd1: begin
basesoc_wishbone_ack <= 1'd1;
basesoc_wishbone_dat_r <= basesoc_dat_r;
next_state <= 1'd0;
end
default: begin
basesoc_dat_w <= basesoc_wishbone_dat_w;
if ((basesoc_wishbone_cyc & basesoc_wishbone_stb)) begin
basesoc_adr <= basesoc_wishbone_adr;
basesoc_we <= (basesoc_wishbone_we & (basesoc_wishbone_sel != 1'd0));
next_state <= 1'd1;
end
end
endcase
end
assign shared_adr = array_muxed0;
assign shared_dat_w = array_muxed1;
assign shared_sel = array_muxed2;
assign shared_cyc = array_muxed3;
assign shared_stb = array_muxed4;
assign shared_we = array_muxed5;
assign shared_cti = array_muxed6;
assign shared_bte = array_muxed7;
assign basesoc_basesoc_ibus_dat_r = shared_dat_r;
assign basesoc_basesoc_dbus_dat_r = shared_dat_r;
assign basesoc_basesoc_ibus_ack = (shared_ack & (grant == 1'd0));
assign basesoc_basesoc_dbus_ack = (shared_ack & (grant == 1'd1));
assign basesoc_basesoc_ibus_err = (shared_err & (grant == 1'd0));
assign basesoc_basesoc_dbus_err = (shared_err & (grant == 1'd1));
assign request = {basesoc_basesoc_dbus_cyc, basesoc_basesoc_ibus_cyc};
always @(*) begin
slave_sel <= 2'd0;
slave_sel[0] <= (shared_adr[29:17] == 1'd0);
slave_sel[1] <= (shared_adr[29:14] == 16'd65520);
end
assign basesoc_sram_bus_adr = shared_adr;
assign basesoc_sram_bus_dat_w = shared_dat_w;
assign basesoc_sram_bus_sel = shared_sel;
assign basesoc_sram_bus_stb = shared_stb;
assign basesoc_sram_bus_we = shared_we;
assign basesoc_sram_bus_cti = shared_cti;
assign basesoc_sram_bus_bte = shared_bte;
assign basesoc_wishbone_adr = shared_adr;
assign basesoc_wishbone_dat_w = shared_dat_w;
assign basesoc_wishbone_sel = shared_sel;
assign basesoc_wishbone_stb = shared_stb;
assign basesoc_wishbone_we = shared_we;
assign basesoc_wishbone_cti = shared_cti;
assign basesoc_wishbone_bte = shared_bte;
assign basesoc_sram_bus_cyc = (shared_cyc & slave_sel[0]);
assign basesoc_wishbone_cyc = (shared_cyc & slave_sel[1]);
assign shared_err = (basesoc_sram_bus_err | basesoc_wishbone_err);
assign wait_1 = ((shared_stb & shared_cyc) & (~shared_ack));
always @(*) begin
shared_dat_r <= 32'd0;
error <= 1'd0;
shared_ack <= 1'd0;
shared_ack <= (basesoc_sram_bus_ack | basesoc_wishbone_ack);
shared_dat_r <= (({32{slave_sel_r[0]}} & basesoc_sram_bus_dat_r) | ({32{slave_sel_r[1]}} & basesoc_wishbone_dat_r));
if (done) begin
shared_dat_r <= 32'd4294967295;
shared_ack <= 1'd1;
error <= 1'd1;
end
end
assign done = (count == 1'd0);
assign csr_bankarray_csrbank0_sel = (csr_bankarray_interface0_bank_bus_adr[13:9] == 3'd6);
assign csr_bankarray_csrbank0_reset0_r = csr_bankarray_interface0_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank0_reset0_re <= 1'd0;
csr_bankarray_csrbank0_reset0_we <= 1'd0;
if ((csr_bankarray_csrbank0_sel & (csr_bankarray_interface0_bank_bus_adr[8:0] == 1'd0))) begin
csr_bankarray_csrbank0_reset0_re <= csr_bankarray_interface0_bank_bus_we;
csr_bankarray_csrbank0_reset0_we <= (~csr_bankarray_interface0_bank_bus_we);
end
end
assign csr_bankarray_csrbank0_scratch0_r = csr_bankarray_interface0_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank0_scratch0_we <= 1'd0;
csr_bankarray_csrbank0_scratch0_re <= 1'd0;
if ((csr_bankarray_csrbank0_sel & (csr_bankarray_interface0_bank_bus_adr[8:0] == 1'd1))) begin
csr_bankarray_csrbank0_scratch0_re <= csr_bankarray_interface0_bank_bus_we;
csr_bankarray_csrbank0_scratch0_we <= (~csr_bankarray_interface0_bank_bus_we);
end
end
assign csr_bankarray_csrbank0_bus_errors_r = csr_bankarray_interface0_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank0_bus_errors_re <= 1'd0;
csr_bankarray_csrbank0_bus_errors_we <= 1'd0;
if ((csr_bankarray_csrbank0_sel & (csr_bankarray_interface0_bank_bus_adr[8:0] == 2'd2))) begin
csr_bankarray_csrbank0_bus_errors_re <= csr_bankarray_interface0_bank_bus_we;
csr_bankarray_csrbank0_bus_errors_we <= (~csr_bankarray_interface0_bank_bus_we);
end
end
always @(*) begin
basesoc_basesoc_soc_rst <= 1'd0;
if (basesoc_basesoc_reset_re) begin
basesoc_basesoc_soc_rst <= basesoc_basesoc_reset_storage[0];
end
end
assign basesoc_basesoc_cpu_rst = basesoc_basesoc_reset_storage[1];
assign csr_bankarray_csrbank0_reset0_w = basesoc_basesoc_reset_storage[1:0];
assign csr_bankarray_csrbank0_scratch0_w = basesoc_basesoc_scratch_storage[31:0];
assign csr_bankarray_csrbank0_bus_errors_w = basesoc_basesoc_bus_errors_status[31:0];
assign basesoc_basesoc_bus_errors_we = csr_bankarray_csrbank0_bus_errors_we;
assign csr_bankarray_csrbank1_sel = (csr_bankarray_interface1_bank_bus_adr[13:9] == 1'd1);
assign csr_bankarray_csrbank1_w0_r = csr_bankarray_interface1_bank_bus_dat_w[2:0];
always @(*) begin
csr_bankarray_csrbank1_w0_we <= 1'd0;
csr_bankarray_csrbank1_w0_re <= 1'd0;
if ((csr_bankarray_csrbank1_sel & (csr_bankarray_interface1_bank_bus_adr[8:0] == 1'd0))) begin
csr_bankarray_csrbank1_w0_re <= csr_bankarray_interface1_bank_bus_we;
csr_bankarray_csrbank1_w0_we <= (~csr_bankarray_interface1_bank_bus_we);
end
end
assign csr_bankarray_csrbank1_r_r = csr_bankarray_interface1_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank1_r_re <= 1'd0;
csr_bankarray_csrbank1_r_we <= 1'd0;
if ((csr_bankarray_csrbank1_sel & (csr_bankarray_interface1_bank_bus_adr[8:0] == 1'd1))) begin
csr_bankarray_csrbank1_r_re <= csr_bankarray_interface1_bank_bus_we;
csr_bankarray_csrbank1_r_we <= (~csr_bankarray_interface1_bank_bus_we);
end
end
assign basesoc_scl = basesoc__w_storage[0];
assign basesoc_oe = basesoc__w_storage[1];
assign basesoc_sda0 = basesoc__w_storage[2];
assign csr_bankarray_csrbank1_w0_w = basesoc__w_storage[2:0];
assign basesoc__r_status = basesoc_sda1;
assign csr_bankarray_csrbank1_r_w = basesoc__r_status;
assign basesoc__r_we = csr_bankarray_csrbank1_r_we;
assign csr_bankarray_sel = (csr_bankarray_sram_bus_adr[13:9] == 3'd7);
always @(*) begin
csr_bankarray_sram_bus_dat_r <= 32'd0;
if (csr_bankarray_sel_r) begin
csr_bankarray_sram_bus_dat_r <= csr_bankarray_dat_r;
end
end
assign csr_bankarray_adr = csr_bankarray_sram_bus_adr[5:0];
assign csr_bankarray_csrbank2_sel = (csr_bankarray_interface2_bank_bus_adr[13:9] == 4'd8);
assign csr_bankarray_csrbank2_load0_r = csr_bankarray_interface2_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank2_load0_we <= 1'd0;
csr_bankarray_csrbank2_load0_re <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 1'd0))) begin
csr_bankarray_csrbank2_load0_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_load0_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_reload0_r = csr_bankarray_interface2_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank2_reload0_re <= 1'd0;
csr_bankarray_csrbank2_reload0_we <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 1'd1))) begin
csr_bankarray_csrbank2_reload0_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_reload0_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_en0_r = csr_bankarray_interface2_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank2_en0_we <= 1'd0;
csr_bankarray_csrbank2_en0_re <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 2'd2))) begin
csr_bankarray_csrbank2_en0_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_en0_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_update_value0_r = csr_bankarray_interface2_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank2_update_value0_we <= 1'd0;
csr_bankarray_csrbank2_update_value0_re <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 2'd3))) begin
csr_bankarray_csrbank2_update_value0_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_update_value0_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_value_r = csr_bankarray_interface2_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank2_value_re <= 1'd0;
csr_bankarray_csrbank2_value_we <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 3'd4))) begin
csr_bankarray_csrbank2_value_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_value_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_ev_status_r = csr_bankarray_interface2_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank2_ev_status_we <= 1'd0;
csr_bankarray_csrbank2_ev_status_re <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 3'd5))) begin
csr_bankarray_csrbank2_ev_status_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_ev_status_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_ev_pending_r = csr_bankarray_interface2_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank2_ev_pending_we <= 1'd0;
csr_bankarray_csrbank2_ev_pending_re <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 3'd6))) begin
csr_bankarray_csrbank2_ev_pending_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_ev_pending_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_ev_enable0_r = csr_bankarray_interface2_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank2_ev_enable0_re <= 1'd0;
csr_bankarray_csrbank2_ev_enable0_we <= 1'd0;
if ((csr_bankarray_csrbank2_sel & (csr_bankarray_interface2_bank_bus_adr[8:0] == 3'd7))) begin
csr_bankarray_csrbank2_ev_enable0_re <= csr_bankarray_interface2_bank_bus_we;
csr_bankarray_csrbank2_ev_enable0_we <= (~csr_bankarray_interface2_bank_bus_we);
end
end
assign csr_bankarray_csrbank2_load0_w = basesoc_basesoc_load_storage[31:0];
assign csr_bankarray_csrbank2_reload0_w = basesoc_basesoc_reload_storage[31:0];
assign csr_bankarray_csrbank2_en0_w = basesoc_basesoc_en_storage;
assign csr_bankarray_csrbank2_update_value0_w = basesoc_basesoc_update_value_storage;
assign csr_bankarray_csrbank2_value_w = basesoc_basesoc_value_status[31:0];
assign basesoc_basesoc_value_we = csr_bankarray_csrbank2_value_we;
assign basesoc_basesoc_status_status = basesoc_basesoc_zero0;
assign csr_bankarray_csrbank2_ev_status_w = basesoc_basesoc_status_status;
assign basesoc_basesoc_status_we = csr_bankarray_csrbank2_ev_status_we;
assign basesoc_basesoc_pending_status = basesoc_basesoc_zero1;
assign csr_bankarray_csrbank2_ev_pending_w = basesoc_basesoc_pending_status;
assign basesoc_basesoc_pending_we = csr_bankarray_csrbank2_ev_pending_we;
assign basesoc_basesoc_zero2 = basesoc_basesoc_enable_storage;
assign csr_bankarray_csrbank2_ev_enable0_w = basesoc_basesoc_enable_storage;
assign csr_bankarray_csrbank3_sel = (csr_bankarray_interface3_bank_bus_adr[13:9] == 2'd3);
assign basesoc_uart_0_rxtx_r = csr_bankarray_interface3_bank_bus_dat_w[7:0];
always @(*) begin
basesoc_uart_0_rxtx_we <= 1'd0;
basesoc_uart_0_rxtx_re <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 1'd0))) begin
basesoc_uart_0_rxtx_re <= csr_bankarray_interface3_bank_bus_we;
basesoc_uart_0_rxtx_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_txfull_r = csr_bankarray_interface3_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank3_txfull_re <= 1'd0;
csr_bankarray_csrbank3_txfull_we <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 1'd1))) begin
csr_bankarray_csrbank3_txfull_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_txfull_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_rxempty_r = csr_bankarray_interface3_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank3_rxempty_we <= 1'd0;
csr_bankarray_csrbank3_rxempty_re <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 2'd2))) begin
csr_bankarray_csrbank3_rxempty_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_rxempty_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_ev_status_r = csr_bankarray_interface3_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank3_ev_status_we <= 1'd0;
csr_bankarray_csrbank3_ev_status_re <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 2'd3))) begin
csr_bankarray_csrbank3_ev_status_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_ev_status_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_ev_pending_r = csr_bankarray_interface3_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank3_ev_pending_re <= 1'd0;
csr_bankarray_csrbank3_ev_pending_we <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 3'd4))) begin
csr_bankarray_csrbank3_ev_pending_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_ev_pending_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_ev_enable0_r = csr_bankarray_interface3_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank3_ev_enable0_we <= 1'd0;
csr_bankarray_csrbank3_ev_enable0_re <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 3'd5))) begin
csr_bankarray_csrbank3_ev_enable0_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_ev_enable0_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_txempty_r = csr_bankarray_interface3_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank3_txempty_we <= 1'd0;
csr_bankarray_csrbank3_txempty_re <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 3'd6))) begin
csr_bankarray_csrbank3_txempty_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_txempty_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_rxfull_r = csr_bankarray_interface3_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank3_rxfull_re <= 1'd0;
csr_bankarray_csrbank3_rxfull_we <= 1'd0;
if ((csr_bankarray_csrbank3_sel & (csr_bankarray_interface3_bank_bus_adr[8:0] == 3'd7))) begin
csr_bankarray_csrbank3_rxfull_re <= csr_bankarray_interface3_bank_bus_we;
csr_bankarray_csrbank3_rxfull_we <= (~csr_bankarray_interface3_bank_bus_we);
end
end
assign csr_bankarray_csrbank3_txfull_w = basesoc_uart_0_txfull_status;
assign basesoc_uart_0_txfull_we = csr_bankarray_csrbank3_txfull_we;
assign csr_bankarray_csrbank3_rxempty_w = basesoc_uart_0_rxempty_status;
assign basesoc_uart_0_rxempty_we = csr_bankarray_csrbank3_rxempty_we;
always @(*) begin
basesoc_uart_0_status_status <= 2'd0;
basesoc_uart_0_status_status[0] <= basesoc_uart_0_tx0;
basesoc_uart_0_status_status[1] <= basesoc_uart_0_rx0;
end
assign csr_bankarray_csrbank3_ev_status_w = basesoc_uart_0_status_status[1:0];
assign basesoc_uart_0_status_we = csr_bankarray_csrbank3_ev_status_we;
always @(*) begin
basesoc_uart_0_pending_status <= 2'd0;
basesoc_uart_0_pending_status[0] <= basesoc_uart_0_tx1;
basesoc_uart_0_pending_status[1] <= basesoc_uart_0_rx1;
end
assign csr_bankarray_csrbank3_ev_pending_w = basesoc_uart_0_pending_status[1:0];
assign basesoc_uart_0_pending_we = csr_bankarray_csrbank3_ev_pending_we;
assign basesoc_uart_0_tx2 = basesoc_uart_0_enable_storage[0];
assign basesoc_uart_0_rx2 = basesoc_uart_0_enable_storage[1];
assign csr_bankarray_csrbank3_ev_enable0_w = basesoc_uart_0_enable_storage[1:0];
assign csr_bankarray_csrbank3_txempty_w = basesoc_uart_0_txempty_status;
assign basesoc_uart_0_txempty_we = csr_bankarray_csrbank3_txempty_we;
assign csr_bankarray_csrbank3_rxfull_w = basesoc_uart_0_rxfull_status;
assign basesoc_uart_0_rxfull_we = csr_bankarray_csrbank3_rxfull_we;
assign csr_bankarray_csrbank4_sel = (csr_bankarray_interface4_bank_bus_adr[13:9] == 2'd2);
assign csr_bankarray_csrbank4_tuning_word0_r = csr_bankarray_interface4_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank4_tuning_word0_re <= 1'd0;
csr_bankarray_csrbank4_tuning_word0_we <= 1'd0;
if ((csr_bankarray_csrbank4_sel & (csr_bankarray_interface4_bank_bus_adr[8:0] == 1'd0))) begin
csr_bankarray_csrbank4_tuning_word0_re <= csr_bankarray_interface4_bank_bus_we;
csr_bankarray_csrbank4_tuning_word0_we <= (~csr_bankarray_interface4_bank_bus_we);
end
end
assign csr_bankarray_csrbank4_tuning_word0_w = basesoc_uart_0_phy_storage[31:0];
assign csr_bankarray_csrbank5_sel = (csr_bankarray_interface5_bank_bus_adr[13:9] == 3'd5);
assign basesoc_uart_1_rxtx_r = csr_bankarray_interface5_bank_bus_dat_w[7:0];
always @(*) begin
basesoc_uart_1_rxtx_re <= 1'd0;
basesoc_uart_1_rxtx_we <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 1'd0))) begin
basesoc_uart_1_rxtx_re <= csr_bankarray_interface5_bank_bus_we;
basesoc_uart_1_rxtx_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_txfull_r = csr_bankarray_interface5_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank5_txfull_re <= 1'd0;
csr_bankarray_csrbank5_txfull_we <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 1'd1))) begin
csr_bankarray_csrbank5_txfull_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_txfull_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_rxempty_r = csr_bankarray_interface5_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank5_rxempty_we <= 1'd0;
csr_bankarray_csrbank5_rxempty_re <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 2'd2))) begin
csr_bankarray_csrbank5_rxempty_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_rxempty_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_ev_status_r = csr_bankarray_interface5_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank5_ev_status_we <= 1'd0;
csr_bankarray_csrbank5_ev_status_re <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 2'd3))) begin
csr_bankarray_csrbank5_ev_status_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_ev_status_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_ev_pending_r = csr_bankarray_interface5_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank5_ev_pending_re <= 1'd0;
csr_bankarray_csrbank5_ev_pending_we <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 3'd4))) begin
csr_bankarray_csrbank5_ev_pending_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_ev_pending_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_ev_enable0_r = csr_bankarray_interface5_bank_bus_dat_w[1:0];
always @(*) begin
csr_bankarray_csrbank5_ev_enable0_we <= 1'd0;
csr_bankarray_csrbank5_ev_enable0_re <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 3'd5))) begin
csr_bankarray_csrbank5_ev_enable0_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_ev_enable0_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_txempty_r = csr_bankarray_interface5_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank5_txempty_we <= 1'd0;
csr_bankarray_csrbank5_txempty_re <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 3'd6))) begin
csr_bankarray_csrbank5_txempty_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_txempty_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_rxfull_r = csr_bankarray_interface5_bank_bus_dat_w[0];
always @(*) begin
csr_bankarray_csrbank5_rxfull_re <= 1'd0;
csr_bankarray_csrbank5_rxfull_we <= 1'd0;
if ((csr_bankarray_csrbank5_sel & (csr_bankarray_interface5_bank_bus_adr[8:0] == 3'd7))) begin
csr_bankarray_csrbank5_rxfull_re <= csr_bankarray_interface5_bank_bus_we;
csr_bankarray_csrbank5_rxfull_we <= (~csr_bankarray_interface5_bank_bus_we);
end
end
assign csr_bankarray_csrbank5_txfull_w = basesoc_uart_1_txfull_status;
assign basesoc_uart_1_txfull_we = csr_bankarray_csrbank5_txfull_we;
assign csr_bankarray_csrbank5_rxempty_w = basesoc_uart_1_rxempty_status;
assign basesoc_uart_1_rxempty_we = csr_bankarray_csrbank5_rxempty_we;
always @(*) begin
basesoc_uart_1_status_status <= 2'd0;
basesoc_uart_1_status_status[0] <= basesoc_uart_1_tx0;
basesoc_uart_1_status_status[1] <= basesoc_uart_1_rx0;
end
assign csr_bankarray_csrbank5_ev_status_w = basesoc_uart_1_status_status[1:0];
assign basesoc_uart_1_status_we = csr_bankarray_csrbank5_ev_status_we;
always @(*) begin
basesoc_uart_1_pending_status <= 2'd0;
basesoc_uart_1_pending_status[0] <= basesoc_uart_1_tx1;
basesoc_uart_1_pending_status[1] <= basesoc_uart_1_rx1;
end
assign csr_bankarray_csrbank5_ev_pending_w = basesoc_uart_1_pending_status[1:0];
assign basesoc_uart_1_pending_we = csr_bankarray_csrbank5_ev_pending_we;
assign basesoc_uart_1_tx2 = basesoc_uart_1_enable_storage[0];
assign basesoc_uart_1_rx2 = basesoc_uart_1_enable_storage[1];
assign csr_bankarray_csrbank5_ev_enable0_w = basesoc_uart_1_enable_storage[1:0];
assign csr_bankarray_csrbank5_txempty_w = basesoc_uart_1_txempty_status;
assign basesoc_uart_1_txempty_we = csr_bankarray_csrbank5_txempty_we;
assign csr_bankarray_csrbank5_rxfull_w = basesoc_uart_1_rxfull_status;
assign basesoc_uart_1_rxfull_we = csr_bankarray_csrbank5_rxfull_we;
assign csr_bankarray_csrbank6_sel = (csr_bankarray_interface6_bank_bus_adr[13:9] == 3'd4);
assign csr_bankarray_csrbank6_tuning_word0_r = csr_bankarray_interface6_bank_bus_dat_w[31:0];
always @(*) begin
csr_bankarray_csrbank6_tuning_word0_re <= 1'd0;
csr_bankarray_csrbank6_tuning_word0_we <= 1'd0;
if ((csr_bankarray_csrbank6_sel & (csr_bankarray_interface6_bank_bus_adr[8:0] == 1'd0))) begin
csr_bankarray_csrbank6_tuning_word0_re <= csr_bankarray_interface6_bank_bus_we;
csr_bankarray_csrbank6_tuning_word0_we <= (~csr_bankarray_interface6_bank_bus_we);
end
end
assign csr_bankarray_csrbank6_tuning_word0_w = basesoc_uart_1_phy_storage[31:0];
assign csr_interconnect_adr = basesoc_adr;
assign csr_interconnect_we = basesoc_we;
assign csr_interconnect_dat_w = basesoc_dat_w;
assign basesoc_dat_r = csr_interconnect_dat_r;
assign csr_bankarray_interface0_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface1_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface2_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface3_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface4_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface5_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface6_bank_bus_adr = csr_interconnect_adr;
assign csr_bankarray_sram_bus_adr = csr_interconnect_adr;
assign csr_bankarray_interface0_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface1_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface2_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface3_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface4_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface5_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_interface6_bank_bus_we = csr_interconnect_we;
assign csr_bankarray_sram_bus_we = csr_interconnect_we;
assign csr_bankarray_interface0_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface1_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface2_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface3_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface4_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface5_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_interface6_bank_bus_dat_w = csr_interconnect_dat_w;
assign csr_bankarray_sram_bus_dat_w = csr_interconnect_dat_w;
assign csr_interconnect_dat_r = (((((((csr_bankarray_interface0_bank_bus_dat_r | csr_bankarray_interface1_bank_bus_dat_r) | csr_bankarray_interface2_bank_bus_dat_r) | csr_bankarray_interface3_bank_bus_dat_r) | csr_bankarray_interface4_bank_bus_dat_r) | csr_bankarray_interface5_bank_bus_dat_r) | csr_bankarray_interface6_bank_bus_dat_r) | csr_bankarray_sram_bus_dat_r);
assign sys_clk = wb_clk_i;
assign por_clk = wb_clk_i;
always @(*) begin
sys_rst <= 1'd0;
sys_rst <= wb_rst_i;
sys_rst <= int_rst;
end
always @(*) begin
array_muxed0 <= 30'd0;
case (grant)
1'd0: begin
array_muxed0 <= basesoc_basesoc_ibus_adr;
end
default: begin
array_muxed0 <= basesoc_basesoc_dbus_adr;
end
endcase
end
always @(*) begin
array_muxed1 <= 32'd0;
case (grant)
1'd0: begin
array_muxed1 <= basesoc_basesoc_ibus_dat_w;
end
default: begin
array_muxed1 <= basesoc_basesoc_dbus_dat_w;
end
endcase
end
always @(*) begin
array_muxed2 <= 4'd0;
case (grant)
1'd0: begin
array_muxed2 <= basesoc_basesoc_ibus_sel;
end
default: begin
array_muxed2 <= basesoc_basesoc_dbus_sel;
end
endcase
end
always @(*) begin
array_muxed3 <= 1'd0;
case (grant)
1'd0: begin
array_muxed3 <= basesoc_basesoc_ibus_cyc;
end
default: begin
array_muxed3 <= basesoc_basesoc_dbus_cyc;
end
endcase
end
always @(*) begin
array_muxed4 <= 1'd0;
case (grant)
1'd0: begin
array_muxed4 <= basesoc_basesoc_ibus_stb;
end
default: begin
array_muxed4 <= basesoc_basesoc_dbus_stb;
end
endcase
end
always @(*) begin
array_muxed5 <= 1'd0;
case (grant)
1'd0: begin
array_muxed5 <= basesoc_basesoc_ibus_we;
end
default: begin
array_muxed5 <= basesoc_basesoc_dbus_we;
end
endcase
end
always @(*) begin
array_muxed6 <= 3'd0;
case (grant)
1'd0: begin
array_muxed6 <= basesoc_basesoc_ibus_cti;
end
default: begin
array_muxed6 <= basesoc_basesoc_dbus_cti;
end
endcase
end
always @(*) begin
array_muxed7 <= 2'd0;
case (grant)
1'd0: begin
array_muxed7 <= basesoc_basesoc_ibus_bte;
end
default: begin
array_muxed7 <= basesoc_basesoc_dbus_bte;
end
endcase
end
assign basesoc_uart_0_phy_rx_rx = multiregimpl0_regs1;
assign basesoc_uart_1_phy_rx_rx = multiregimpl1_regs1;
//------------------------------------------------------------------------------
// Synchronous Logic
//------------------------------------------------------------------------------
always @(posedge por_clk) begin
int_rst <= 1'd0;
end
always @(posedge sys_clk) begin
if ((basesoc_basesoc_bus_errors != 32'd4294967295)) begin
if (basesoc_basesoc_bus_error) begin
basesoc_basesoc_bus_errors <= (basesoc_basesoc_bus_errors + 1'd1);
end
end
if (basesoc_basesoc_en_storage) begin
if ((basesoc_basesoc_value == 1'd0)) begin
basesoc_basesoc_value <= basesoc_basesoc_reload_storage;
end else begin
basesoc_basesoc_value <= (basesoc_basesoc_value - 1'd1);
end
end else begin
basesoc_basesoc_value <= basesoc_basesoc_load_storage;
end
if (basesoc_basesoc_update_value_re) begin
basesoc_basesoc_value_status <= basesoc_basesoc_value;
end
if (basesoc_basesoc_zero_clear) begin
basesoc_basesoc_zero_pending <= 1'd0;
end
basesoc_basesoc_zero_trigger_d <= basesoc_basesoc_zero_trigger;
if ((basesoc_basesoc_zero_trigger & (~basesoc_basesoc_zero_trigger_d))) begin
basesoc_basesoc_zero_pending <= 1'd1;
end
{basesoc_uart_0_phy_tx_tick, basesoc_uart_0_phy_tx_phase} <= basesoc_uart_0_phy_storage;
if (basesoc_uart_0_phy_tx_enable) begin
{basesoc_uart_0_phy_tx_tick, basesoc_uart_0_phy_tx_phase} <= (basesoc_uart_0_phy_tx_phase + basesoc_uart_0_phy_storage);
end
rs232phytx0_state <= rs232phytx0_next_state;
if (basesoc_uart_0_phy_tx_count_rs232phytx0_next_value_ce0) begin
basesoc_uart_0_phy_tx_count <= basesoc_uart_0_phy_tx_count_rs232phytx0_next_value0;
end
if (rs232phytx0_next_value_ce) begin
basesoc_in_out[0] <= rs232phytx0_next_value;
end
if (basesoc_uart_0_phy_tx_data_rs232phytx0_next_value_ce1) begin
basesoc_uart_0_phy_tx_data <= basesoc_uart_0_phy_tx_data_rs232phytx0_next_value1;
end
basesoc_uart_0_phy_rx_rx_d <= basesoc_uart_0_phy_rx_rx;
{basesoc_uart_0_phy_rx_tick, basesoc_uart_0_phy_rx_phase} <= 32'd2147483648;
if (basesoc_uart_0_phy_rx_enable) begin
{basesoc_uart_0_phy_rx_tick, basesoc_uart_0_phy_rx_phase} <= (basesoc_uart_0_phy_rx_phase + basesoc_uart_0_phy_storage);
end
rs232phyrx0_state <= rs232phyrx0_next_state;
if (basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value_ce0) begin
basesoc_uart_0_phy_rx_count <= basesoc_uart_0_phy_rx_count_rs232phyrx0_next_value0;
end
if (basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value_ce1) begin
basesoc_uart_0_phy_rx_data <= basesoc_uart_0_phy_rx_data_rs232phyrx0_next_value1;
end
if (basesoc_uart_0_tx_clear) begin
basesoc_uart_0_tx_pending <= 1'd0;
end
basesoc_uart_0_tx_trigger_d <= basesoc_uart_0_tx_trigger;
if ((basesoc_uart_0_tx_trigger & (~basesoc_uart_0_tx_trigger_d))) begin
basesoc_uart_0_tx_pending <= 1'd1;
end
if (basesoc_uart_0_rx_clear) begin
basesoc_uart_0_rx_pending <= 1'd0;
end
basesoc_uart_0_rx_trigger_d <= basesoc_uart_0_rx_trigger;
if ((basesoc_uart_0_rx_trigger & (~basesoc_uart_0_rx_trigger_d))) begin
basesoc_uart_0_rx_pending <= 1'd1;
end
if (basesoc_uart_0_tx_fifo_syncfifo_re) begin
basesoc_uart_0_tx_fifo_readable <= 1'd1;
end else begin
if (basesoc_uart_0_tx_fifo_re) begin
basesoc_uart_0_tx_fifo_readable <= 1'd0;
end
end
if (((basesoc_uart_0_tx_fifo_syncfifo_we & basesoc_uart_0_tx_fifo_syncfifo_writable) & (~basesoc_uart_0_tx_fifo_replace))) begin
basesoc_uart_0_tx_fifo_produce <= (basesoc_uart_0_tx_fifo_produce + 1'd1);
end
if (basesoc_uart_0_tx_fifo_do_read) begin
basesoc_uart_0_tx_fifo_consume <= (basesoc_uart_0_tx_fifo_consume + 1'd1);
end
if (((basesoc_uart_0_tx_fifo_syncfifo_we & basesoc_uart_0_tx_fifo_syncfifo_writable) & (~basesoc_uart_0_tx_fifo_replace))) begin
if ((~basesoc_uart_0_tx_fifo_do_read)) begin
basesoc_uart_0_tx_fifo_level0 <= (basesoc_uart_0_tx_fifo_level0 + 1'd1);
end
end else begin
if (basesoc_uart_0_tx_fifo_do_read) begin
basesoc_uart_0_tx_fifo_level0 <= (basesoc_uart_0_tx_fifo_level0 - 1'd1);
end
end
if (basesoc_uart_0_rx_fifo_syncfifo_re) begin
basesoc_uart_0_rx_fifo_readable <= 1'd1;
end else begin
if (basesoc_uart_0_rx_fifo_re) begin
basesoc_uart_0_rx_fifo_readable <= 1'd0;
end
end
if (((basesoc_uart_0_rx_fifo_syncfifo_we & basesoc_uart_0_rx_fifo_syncfifo_writable) & (~basesoc_uart_0_rx_fifo_replace))) begin
basesoc_uart_0_rx_fifo_produce <= (basesoc_uart_0_rx_fifo_produce + 1'd1);
end
if (basesoc_uart_0_rx_fifo_do_read) begin
basesoc_uart_0_rx_fifo_consume <= (basesoc_uart_0_rx_fifo_consume + 1'd1);
end
if (((basesoc_uart_0_rx_fifo_syncfifo_we & basesoc_uart_0_rx_fifo_syncfifo_writable) & (~basesoc_uart_0_rx_fifo_replace))) begin
if ((~basesoc_uart_0_rx_fifo_do_read)) begin
basesoc_uart_0_rx_fifo_level0 <= (basesoc_uart_0_rx_fifo_level0 + 1'd1);
end
end else begin
if (basesoc_uart_0_rx_fifo_do_read) begin
basesoc_uart_0_rx_fifo_level0 <= (basesoc_uart_0_rx_fifo_level0 - 1'd1);
end
end
{basesoc_uart_1_phy_tx_tick, basesoc_uart_1_phy_tx_phase} <= basesoc_uart_1_phy_storage;
if (basesoc_uart_1_phy_tx_enable) begin
{basesoc_uart_1_phy_tx_tick, basesoc_uart_1_phy_tx_phase} <= (basesoc_uart_1_phy_tx_phase + basesoc_uart_1_phy_storage);
end
rs232phytx1_state <= rs232phytx1_next_state;
if (basesoc_uart_1_phy_tx_count_rs232phytx1_next_value_ce0) begin
basesoc_uart_1_phy_tx_count <= basesoc_uart_1_phy_tx_count_rs232phytx1_next_value0;
end
if (rs232phytx1_next_value_ce) begin
basesoc_in_out[1] <= rs232phytx1_next_value;
end
if (basesoc_uart_1_phy_tx_data_rs232phytx1_next_value_ce1) begin
basesoc_uart_1_phy_tx_data <= basesoc_uart_1_phy_tx_data_rs232phytx1_next_value1;
end
basesoc_uart_1_phy_rx_rx_d <= basesoc_uart_1_phy_rx_rx;
{basesoc_uart_1_phy_rx_tick, basesoc_uart_1_phy_rx_phase} <= 32'd2147483648;
if (basesoc_uart_1_phy_rx_enable) begin
{basesoc_uart_1_phy_rx_tick, basesoc_uart_1_phy_rx_phase} <= (basesoc_uart_1_phy_rx_phase + basesoc_uart_1_phy_storage);
end
rs232phyrx1_state <= rs232phyrx1_next_state;
if (basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value_ce0) begin
basesoc_uart_1_phy_rx_count <= basesoc_uart_1_phy_rx_count_rs232phyrx1_next_value0;
end
if (basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value_ce1) begin
basesoc_uart_1_phy_rx_data <= basesoc_uart_1_phy_rx_data_rs232phyrx1_next_value1;
end
if (basesoc_uart_1_tx_clear) begin
basesoc_uart_1_tx_pending <= 1'd0;
end
basesoc_uart_1_tx_trigger_d <= basesoc_uart_1_tx_trigger;
if ((basesoc_uart_1_tx_trigger & (~basesoc_uart_1_tx_trigger_d))) begin
basesoc_uart_1_tx_pending <= 1'd1;
end
if (basesoc_uart_1_rx_clear) begin
basesoc_uart_1_rx_pending <= 1'd0;
end
basesoc_uart_1_rx_trigger_d <= basesoc_uart_1_rx_trigger;
if ((basesoc_uart_1_rx_trigger & (~basesoc_uart_1_rx_trigger_d))) begin
basesoc_uart_1_rx_pending <= 1'd1;
end
if (basesoc_uart_1_tx_fifo_syncfifo_re) begin
basesoc_uart_1_tx_fifo_readable <= 1'd1;
end else begin
if (basesoc_uart_1_tx_fifo_re) begin
basesoc_uart_1_tx_fifo_readable <= 1'd0;
end
end
if (((basesoc_uart_1_tx_fifo_syncfifo_we & basesoc_uart_1_tx_fifo_syncfifo_writable) & (~basesoc_uart_1_tx_fifo_replace))) begin
basesoc_uart_1_tx_fifo_produce <= (basesoc_uart_1_tx_fifo_produce + 1'd1);
end
if (basesoc_uart_1_tx_fifo_do_read) begin
basesoc_uart_1_tx_fifo_consume <= (basesoc_uart_1_tx_fifo_consume + 1'd1);
end
if (((basesoc_uart_1_tx_fifo_syncfifo_we & basesoc_uart_1_tx_fifo_syncfifo_writable) & (~basesoc_uart_1_tx_fifo_replace))) begin
if ((~basesoc_uart_1_tx_fifo_do_read)) begin
basesoc_uart_1_tx_fifo_level0 <= (basesoc_uart_1_tx_fifo_level0 + 1'd1);
end
end else begin
if (basesoc_uart_1_tx_fifo_do_read) begin
basesoc_uart_1_tx_fifo_level0 <= (basesoc_uart_1_tx_fifo_level0 - 1'd1);
end
end
if (basesoc_uart_1_rx_fifo_syncfifo_re) begin
basesoc_uart_1_rx_fifo_readable <= 1'd1;
end else begin
if (basesoc_uart_1_rx_fifo_re) begin
basesoc_uart_1_rx_fifo_readable <= 1'd0;
end
end
if (((basesoc_uart_1_rx_fifo_syncfifo_we & basesoc_uart_1_rx_fifo_syncfifo_writable) & (~basesoc_uart_1_rx_fifo_replace))) begin
basesoc_uart_1_rx_fifo_produce <= (basesoc_uart_1_rx_fifo_produce + 1'd1);
end
if (basesoc_uart_1_rx_fifo_do_read) begin
basesoc_uart_1_rx_fifo_consume <= (basesoc_uart_1_rx_fifo_consume + 1'd1);
end
if (((basesoc_uart_1_rx_fifo_syncfifo_we & basesoc_uart_1_rx_fifo_syncfifo_writable) & (~basesoc_uart_1_rx_fifo_replace))) begin
if ((~basesoc_uart_1_rx_fifo_do_read)) begin
basesoc_uart_1_rx_fifo_level0 <= (basesoc_uart_1_rx_fifo_level0 + 1'd1);
end
end else begin
if (basesoc_uart_1_rx_fifo_do_read) begin
basesoc_uart_1_rx_fifo_level0 <= (basesoc_uart_1_rx_fifo_level0 - 1'd1);
end
end
state <= next_state;
case (grant)
1'd0: begin
if ((~request[0])) begin
if (request[1]) begin
grant <= 1'd1;
end
end
end
1'd1: begin
if ((~request[1])) begin
if (request[0]) begin
grant <= 1'd0;
end
end
end
endcase
slave_sel_r <= slave_sel;
if (wait_1) begin
if ((~done)) begin
count <= (count - 1'd1);
end
end else begin
count <= 20'd1000000;
end
csr_bankarray_interface0_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank0_sel) begin
case (csr_bankarray_interface0_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface0_bank_bus_dat_r <= csr_bankarray_csrbank0_reset0_w;
end
1'd1: begin
csr_bankarray_interface0_bank_bus_dat_r <= csr_bankarray_csrbank0_scratch0_w;
end
2'd2: begin
csr_bankarray_interface0_bank_bus_dat_r <= csr_bankarray_csrbank0_bus_errors_w;
end
endcase
end
if (csr_bankarray_csrbank0_reset0_re) begin
basesoc_basesoc_reset_storage[1:0] <= csr_bankarray_csrbank0_reset0_r;
end
basesoc_basesoc_reset_re <= csr_bankarray_csrbank0_reset0_re;
if (csr_bankarray_csrbank0_scratch0_re) begin
basesoc_basesoc_scratch_storage[31:0] <= csr_bankarray_csrbank0_scratch0_r;
end
basesoc_basesoc_scratch_re <= csr_bankarray_csrbank0_scratch0_re;
basesoc_basesoc_bus_errors_re <= csr_bankarray_csrbank0_bus_errors_re;
csr_bankarray_interface1_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank1_sel) begin
case (csr_bankarray_interface1_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface1_bank_bus_dat_r <= csr_bankarray_csrbank1_w0_w;
end
1'd1: begin
csr_bankarray_interface1_bank_bus_dat_r <= csr_bankarray_csrbank1_r_w;
end
endcase
end
if (csr_bankarray_csrbank1_w0_re) begin
basesoc__w_storage[2:0] <= csr_bankarray_csrbank1_w0_r;
end
basesoc__w_re <= csr_bankarray_csrbank1_w0_re;
basesoc__r_re <= csr_bankarray_csrbank1_r_re;
csr_bankarray_sel_r <= csr_bankarray_sel;
csr_bankarray_interface2_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank2_sel) begin
case (csr_bankarray_interface2_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_load0_w;
end
1'd1: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_reload0_w;
end
2'd2: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_en0_w;
end
2'd3: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_update_value0_w;
end
3'd4: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_value_w;
end
3'd5: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_ev_status_w;
end
3'd6: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_ev_pending_w;
end
3'd7: begin
csr_bankarray_interface2_bank_bus_dat_r <= csr_bankarray_csrbank2_ev_enable0_w;
end
endcase
end
if (csr_bankarray_csrbank2_load0_re) begin
basesoc_basesoc_load_storage[31:0] <= csr_bankarray_csrbank2_load0_r;
end
basesoc_basesoc_load_re <= csr_bankarray_csrbank2_load0_re;
if (csr_bankarray_csrbank2_reload0_re) begin
basesoc_basesoc_reload_storage[31:0] <= csr_bankarray_csrbank2_reload0_r;
end
basesoc_basesoc_reload_re <= csr_bankarray_csrbank2_reload0_re;
if (csr_bankarray_csrbank2_en0_re) begin
basesoc_basesoc_en_storage <= csr_bankarray_csrbank2_en0_r;
end
basesoc_basesoc_en_re <= csr_bankarray_csrbank2_en0_re;
if (csr_bankarray_csrbank2_update_value0_re) begin
basesoc_basesoc_update_value_storage <= csr_bankarray_csrbank2_update_value0_r;
end
basesoc_basesoc_update_value_re <= csr_bankarray_csrbank2_update_value0_re;
basesoc_basesoc_value_re <= csr_bankarray_csrbank2_value_re;
basesoc_basesoc_status_re <= csr_bankarray_csrbank2_ev_status_re;
if (csr_bankarray_csrbank2_ev_pending_re) begin
basesoc_basesoc_pending_r <= csr_bankarray_csrbank2_ev_pending_r;
end
basesoc_basesoc_pending_re <= csr_bankarray_csrbank2_ev_pending_re;
if (csr_bankarray_csrbank2_ev_enable0_re) begin
basesoc_basesoc_enable_storage <= csr_bankarray_csrbank2_ev_enable0_r;
end
basesoc_basesoc_enable_re <= csr_bankarray_csrbank2_ev_enable0_re;
csr_bankarray_interface3_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank3_sel) begin
case (csr_bankarray_interface3_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface3_bank_bus_dat_r <= basesoc_uart_0_rxtx_w;
end
1'd1: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_txfull_w;
end
2'd2: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_rxempty_w;
end
2'd3: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_ev_status_w;
end
3'd4: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_ev_pending_w;
end
3'd5: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_ev_enable0_w;
end
3'd6: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_txempty_w;
end
3'd7: begin
csr_bankarray_interface3_bank_bus_dat_r <= csr_bankarray_csrbank3_rxfull_w;
end
endcase
end
basesoc_uart_0_txfull_re <= csr_bankarray_csrbank3_txfull_re;
basesoc_uart_0_rxempty_re <= csr_bankarray_csrbank3_rxempty_re;
basesoc_uart_0_status_re <= csr_bankarray_csrbank3_ev_status_re;
if (csr_bankarray_csrbank3_ev_pending_re) begin
basesoc_uart_0_pending_r[1:0] <= csr_bankarray_csrbank3_ev_pending_r;
end
basesoc_uart_0_pending_re <= csr_bankarray_csrbank3_ev_pending_re;
if (csr_bankarray_csrbank3_ev_enable0_re) begin
basesoc_uart_0_enable_storage[1:0] <= csr_bankarray_csrbank3_ev_enable0_r;
end
basesoc_uart_0_enable_re <= csr_bankarray_csrbank3_ev_enable0_re;
basesoc_uart_0_txempty_re <= csr_bankarray_csrbank3_txempty_re;
basesoc_uart_0_rxfull_re <= csr_bankarray_csrbank3_rxfull_re;
csr_bankarray_interface4_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank4_sel) begin
case (csr_bankarray_interface4_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface4_bank_bus_dat_r <= csr_bankarray_csrbank4_tuning_word0_w;
end
endcase
end
if (csr_bankarray_csrbank4_tuning_word0_re) begin
basesoc_uart_0_phy_storage[31:0] <= csr_bankarray_csrbank4_tuning_word0_r;
end
basesoc_uart_0_phy_re <= csr_bankarray_csrbank4_tuning_word0_re;
csr_bankarray_interface5_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank5_sel) begin
case (csr_bankarray_interface5_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface5_bank_bus_dat_r <= basesoc_uart_1_rxtx_w;
end
1'd1: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_txfull_w;
end
2'd2: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_rxempty_w;
end
2'd3: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_ev_status_w;
end
3'd4: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_ev_pending_w;
end
3'd5: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_ev_enable0_w;
end
3'd6: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_txempty_w;
end
3'd7: begin
csr_bankarray_interface5_bank_bus_dat_r <= csr_bankarray_csrbank5_rxfull_w;
end
endcase
end
basesoc_uart_1_txfull_re <= csr_bankarray_csrbank5_txfull_re;
basesoc_uart_1_rxempty_re <= csr_bankarray_csrbank5_rxempty_re;
basesoc_uart_1_status_re <= csr_bankarray_csrbank5_ev_status_re;
if (csr_bankarray_csrbank5_ev_pending_re) begin
basesoc_uart_1_pending_r[1:0] <= csr_bankarray_csrbank5_ev_pending_r;
end
basesoc_uart_1_pending_re <= csr_bankarray_csrbank5_ev_pending_re;
if (csr_bankarray_csrbank5_ev_enable0_re) begin
basesoc_uart_1_enable_storage[1:0] <= csr_bankarray_csrbank5_ev_enable0_r;
end
basesoc_uart_1_enable_re <= csr_bankarray_csrbank5_ev_enable0_re;
basesoc_uart_1_txempty_re <= csr_bankarray_csrbank5_txempty_re;
basesoc_uart_1_rxfull_re <= csr_bankarray_csrbank5_rxfull_re;
csr_bankarray_interface6_bank_bus_dat_r <= 1'd0;
if (csr_bankarray_csrbank6_sel) begin
case (csr_bankarray_interface6_bank_bus_adr[8:0])
1'd0: begin
csr_bankarray_interface6_bank_bus_dat_r <= csr_bankarray_csrbank6_tuning_word0_w;
end
endcase
end
if (csr_bankarray_csrbank6_tuning_word0_re) begin
basesoc_uart_1_phy_storage[31:0] <= csr_bankarray_csrbank6_tuning_word0_r;
end
basesoc_uart_1_phy_re <= csr_bankarray_csrbank6_tuning_word0_re;
if (sys_rst) begin
basesoc_basesoc_reset_storage <= 2'd0;
basesoc_basesoc_reset_re <= 1'd0;
basesoc_basesoc_scratch_storage <= 32'd305419896;
basesoc_basesoc_scratch_re <= 1'd0;
basesoc_basesoc_bus_errors_re <= 1'd0;
basesoc_basesoc_bus_errors <= 32'd0;
basesoc_basesoc_load_storage <= 32'd0;
basesoc_basesoc_load_re <= 1'd0;
basesoc_basesoc_reload_storage <= 32'd0;
basesoc_basesoc_reload_re <= 1'd0;
basesoc_basesoc_en_storage <= 1'd0;
basesoc_basesoc_en_re <= 1'd0;
basesoc_basesoc_update_value_storage <= 1'd0;
basesoc_basesoc_update_value_re <= 1'd0;
basesoc_basesoc_value_status <= 32'd0;
basesoc_basesoc_value_re <= 1'd0;
basesoc_basesoc_zero_pending <= 1'd0;
basesoc_basesoc_zero_trigger_d <= 1'd0;
basesoc_basesoc_status_re <= 1'd0;
basesoc_basesoc_pending_re <= 1'd0;
basesoc_basesoc_pending_r <= 1'd0;
basesoc_basesoc_enable_storage <= 1'd0;
basesoc_basesoc_enable_re <= 1'd0;
basesoc_basesoc_value <= 32'd0;
basesoc_in_out <= 19'd0;
basesoc__w_storage <= 3'd0;
basesoc__w_re <= 1'd0;
basesoc__r_re <= 1'd0;
basesoc_uart_0_phy_storage <= 32'd9895604;
basesoc_uart_0_phy_re <= 1'd0;
basesoc_uart_0_phy_tx_tick <= 1'd0;
basesoc_uart_0_phy_rx_tick <= 1'd0;
basesoc_uart_0_phy_rx_rx_d <= 1'd0;
basesoc_uart_0_txfull_re <= 1'd0;
basesoc_uart_0_rxempty_re <= 1'd0;
basesoc_uart_0_tx_pending <= 1'd0;
basesoc_uart_0_tx_trigger_d <= 1'd0;
basesoc_uart_0_rx_pending <= 1'd0;
basesoc_uart_0_rx_trigger_d <= 1'd0;
basesoc_uart_0_status_re <= 1'd0;
basesoc_uart_0_pending_re <= 1'd0;
basesoc_uart_0_pending_r <= 2'd0;
basesoc_uart_0_enable_storage <= 2'd0;
basesoc_uart_0_enable_re <= 1'd0;
basesoc_uart_0_txempty_re <= 1'd0;
basesoc_uart_0_rxfull_re <= 1'd0;
basesoc_uart_0_tx_fifo_readable <= 1'd0;
basesoc_uart_0_tx_fifo_level0 <= 5'd0;
basesoc_uart_0_tx_fifo_produce <= 4'd0;
basesoc_uart_0_tx_fifo_consume <= 4'd0;
basesoc_uart_0_rx_fifo_readable <= 1'd0;
basesoc_uart_0_rx_fifo_level0 <= 5'd0;
basesoc_uart_0_rx_fifo_produce <= 4'd0;
basesoc_uart_0_rx_fifo_consume <= 4'd0;
basesoc_uart_1_phy_storage <= 32'd9895604;
basesoc_uart_1_phy_re <= 1'd0;
basesoc_uart_1_phy_tx_tick <= 1'd0;
basesoc_uart_1_phy_rx_tick <= 1'd0;
basesoc_uart_1_phy_rx_rx_d <= 1'd0;
basesoc_uart_1_txfull_re <= 1'd0;
basesoc_uart_1_rxempty_re <= 1'd0;
basesoc_uart_1_tx_pending <= 1'd0;
basesoc_uart_1_tx_trigger_d <= 1'd0;
basesoc_uart_1_rx_pending <= 1'd0;
basesoc_uart_1_rx_trigger_d <= 1'd0;
basesoc_uart_1_status_re <= 1'd0;
basesoc_uart_1_pending_re <= 1'd0;
basesoc_uart_1_pending_r <= 2'd0;
basesoc_uart_1_enable_storage <= 2'd0;
basesoc_uart_1_enable_re <= 1'd0;
basesoc_uart_1_txempty_re <= 1'd0;
basesoc_uart_1_rxfull_re <= 1'd0;
basesoc_uart_1_tx_fifo_readable <= 1'd0;
basesoc_uart_1_tx_fifo_level0 <= 5'd0;
basesoc_uart_1_tx_fifo_produce <= 4'd0;
basesoc_uart_1_tx_fifo_consume <= 4'd0;
basesoc_uart_1_rx_fifo_readable <= 1'd0;
basesoc_uart_1_rx_fifo_level0 <= 5'd0;
basesoc_uart_1_rx_fifo_produce <= 4'd0;
basesoc_uart_1_rx_fifo_consume <= 4'd0;
rs232phytx0_state <= 1'd0;
rs232phyrx0_state <= 1'd0;
rs232phytx1_state <= 1'd0;
rs232phyrx1_state <= 1'd0;
grant <= 1'd0;
slave_sel_r <= 2'd0;
count <= 20'd1000000;
csr_bankarray_sel_r <= 1'd0;
state <= 1'd0;
end
multiregimpl0_regs0 <= basesoc_in_in[0];
multiregimpl0_regs1 <= multiregimpl0_regs0;
multiregimpl1_regs0 <= basesoc_in_out[1];
multiregimpl1_regs1 <= multiregimpl1_regs0;
end
//------------------------------------------------------------------------------
// Specialized Logic
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Memory mem: 42-words x 8-bit
//------------------------------------------------------------------------------
// Port 0 | Read: Sync | Write: ---- |
reg [7:0] mem[0:41];
initial begin
$readmemh("mem.init", mem);
end
reg [5:0] mem_adr0;
always @(posedge sys_clk) begin
mem_adr0 <= csr_bankarray_adr;
end
assign csr_bankarray_dat_r = mem[mem_adr0];
issiram issiram(
.clk(sys_clk),
.rst(sys_rst),
.wbs_adr_i(basesoc_sram_bus_adr),
.wbs_cyc_i(basesoc_sram_bus_cyc),
.wbs_dat_i(basesoc_sram_bus_dat_w),
.wbs_sel_i(basesoc_sram_bus_sel),
.wbs_stb_i(basesoc_sram_bus_stb),
.wbs_we_i(basesoc_sram_bus_we),
.mem_dat(basesoc4),
.mem_adr(basesoc3),
.mem_ce_n(basesoc0),
.mem_oe_n(basesoc1),
.mem_we_n(basesoc2),
.wbs_ack_o(basesoc_sram_bus_ack),
.wbs_dat_o(basesoc_sram_bus_dat_r)
);
assign basesoc_in_out[2] = (~basesoc_scl) ? 1'd0 : 1'bz;
assign basesoc_in_out[3] = (basesoc_oe & (~basesoc_sda0)) ? 1'd0 : 1'bz;
assign basesoc_sda1 = basesoc_in_out[3];
//------------------------------------------------------------------------------
// Memory storage: 16-words x 10-bit
//------------------------------------------------------------------------------
// Port 0 | Read: Sync | Write: Sync | Mode: Read-First | Write-Granularity: 10
// Port 1 | Read: Sync | Write: ---- |
reg [9:0] storage[0:15];
reg [9:0] storage_dat0;
reg [9:0] storage_dat1;
always @(posedge sys_clk) begin
if (basesoc_uart_0_tx_fifo_wrport_we)
storage[basesoc_uart_0_tx_fifo_wrport_adr] <= basesoc_uart_0_tx_fifo_wrport_dat_w;
storage_dat0 <= storage[basesoc_uart_0_tx_fifo_wrport_adr];
end
always @(posedge sys_clk) begin
if (basesoc_uart_0_tx_fifo_rdport_re)
storage_dat1 <= storage[basesoc_uart_0_tx_fifo_rdport_adr];
end
assign basesoc_uart_0_tx_fifo_wrport_dat_r = storage_dat0;
assign basesoc_uart_0_tx_fifo_rdport_dat_r = storage_dat1;
//------------------------------------------------------------------------------
// Memory storage_1: 16-words x 10-bit
//------------------------------------------------------------------------------
// Port 0 | Read: Sync | Write: Sync | Mode: Read-First | Write-Granularity: 10
// Port 1 | Read: Sync | Write: ---- |
reg [9:0] storage_1[0:15];
reg [9:0] storage_1_dat0;
reg [9:0] storage_1_dat1;
always @(posedge sys_clk) begin
if (basesoc_uart_0_rx_fifo_wrport_we)
storage_1[basesoc_uart_0_rx_fifo_wrport_adr] <= basesoc_uart_0_rx_fifo_wrport_dat_w;
storage_1_dat0 <= storage_1[basesoc_uart_0_rx_fifo_wrport_adr];
end
always @(posedge sys_clk) begin
if (basesoc_uart_0_rx_fifo_rdport_re)
storage_1_dat1 <= storage_1[basesoc_uart_0_rx_fifo_rdport_adr];
end
assign basesoc_uart_0_rx_fifo_wrport_dat_r = storage_1_dat0;
assign basesoc_uart_0_rx_fifo_rdport_dat_r = storage_1_dat1;
//------------------------------------------------------------------------------
// Memory storage_2: 16-words x 10-bit
//------------------------------------------------------------------------------
// Port 0 | Read: Sync | Write: Sync | Mode: Read-First | Write-Granularity: 10
// Port 1 | Read: Sync | Write: ---- |
reg [9:0] storage_2[0:15];
reg [9:0] storage_2_dat0;
reg [9:0] storage_2_dat1;
always @(posedge sys_clk) begin
if (basesoc_uart_1_tx_fifo_wrport_we)
storage_2[basesoc_uart_1_tx_fifo_wrport_adr] <= basesoc_uart_1_tx_fifo_wrport_dat_w;
storage_2_dat0 <= storage_2[basesoc_uart_1_tx_fifo_wrport_adr];
end
always @(posedge sys_clk) begin
if (basesoc_uart_1_tx_fifo_rdport_re)
storage_2_dat1 <= storage_2[basesoc_uart_1_tx_fifo_rdport_adr];
end
assign basesoc_uart_1_tx_fifo_wrport_dat_r = storage_2_dat0;
assign basesoc_uart_1_tx_fifo_rdport_dat_r = storage_2_dat1;
//------------------------------------------------------------------------------
// Memory storage_3: 16-words x 10-bit
//------------------------------------------------------------------------------
// Port 0 | Read: Sync | Write: Sync | Mode: Read-First | Write-Granularity: 10
// Port 1 | Read: Sync | Write: ---- |
reg [9:0] storage_3[0:15];
reg [9:0] storage_3_dat0;
reg [9:0] storage_3_dat1;
always @(posedge sys_clk) begin
if (basesoc_uart_1_rx_fifo_wrport_we)
storage_3[basesoc_uart_1_rx_fifo_wrport_adr] <= basesoc_uart_1_rx_fifo_wrport_dat_w;
storage_3_dat0 <= storage_3[basesoc_uart_1_rx_fifo_wrport_adr];
end
always @(posedge sys_clk) begin
if (basesoc_uart_1_rx_fifo_rdport_re)
storage_3_dat1 <= storage_3[basesoc_uart_1_rx_fifo_rdport_adr];
end
assign basesoc_uart_1_rx_fifo_wrport_dat_r = storage_3_dat0;
assign basesoc_uart_1_rx_fifo_rdport_dat_r = storage_3_dat1;
A2P_WB A2P_WB(
.clk(sys_clk),
.dBusWB_ACK(basesoc_basesoc_dbus_ack),
.dBusWB_DAT_MISO(basesoc_basesoc_dbus_dat_r),
.dBusWB_ERR(basesoc_basesoc_dbus_err),
.externalInterrupt(basesoc_basesoc_interrupt[0]),
.externalInterruptS(basesoc_basesoc_interruptS),
.externalResetVector(basesoc_basesoc_a2p),
.iBusWB_ACK(basesoc_basesoc_ibus_ack),
.iBusWB_DAT_MISO(basesoc_basesoc_ibus_dat_r),
.iBusWB_ERR(basesoc_basesoc_ibus_err),
.reset((sys_rst | basesoc_basesoc_reset)),
.softwareInterrupt(1'd0),
.timerInterrupt(1'd0),
.dBusWB_ADR(basesoc_basesoc_dbus_adr),
.dBusWB_BTE(basesoc_basesoc_dbus_bte),
.dBusWB_CTI(basesoc_basesoc_dbus_cti),
.dBusWB_CYC(basesoc_basesoc_dbus_cyc),
.dBusWB_DAT_MOSI(basesoc_basesoc_dbus_dat_w),
.dBusWB_SEL(basesoc_basesoc_dbus_sel),
.dBusWB_STB(basesoc_basesoc_dbus_stb),
.dBusWB_WE(basesoc_basesoc_dbus_we),
.iBusWB_ADR(basesoc_basesoc_ibus_adr),
.iBusWB_BTE(basesoc_basesoc_ibus_bte),
.iBusWB_CTI(basesoc_basesoc_ibus_cti),
.iBusWB_CYC(basesoc_basesoc_ibus_cyc),
.iBusWB_DAT_MOSI(basesoc_basesoc_ibus_dat_w),
.iBusWB_SEL(basesoc_basesoc_ibus_sel),
.iBusWB_STB(basesoc_basesoc_ibus_stb),
.iBusWB_WE(basesoc_basesoc_ibus_we)
);
endmodule
// -----------------------------------------------------------------------------
// Auto-Generated by LiteX on 2021-11-25 10:16:15.
//------------------------------------------------------------------------------