Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Machine-generated using LiteX gen */
- module top(
- output reg serial_tx,
- input serial_rx,
- input clk100,
- output sdram_clock,
- output reg [12:0] sdram_a,
- inout [7:0] sdram_dq,
- output reg sdram_we_n,
- output reg sdram_ras_n,
- output reg sdram_cas_n,
- output reg sdram_cs_n,
- output reg sdram_cke,
- output reg [1:0] sdram_ba,
- output reg sdram_dm
- );
- wire [29:0] basesoc_picorv32_ibus_adr;
- wire [31:0] basesoc_picorv32_ibus_dat_w;
- wire [31:0] basesoc_picorv32_ibus_dat_r;
- wire [3:0] basesoc_picorv32_ibus_sel;
- wire basesoc_picorv32_ibus_cyc;
- wire basesoc_picorv32_ibus_stb;
- wire basesoc_picorv32_ibus_ack;
- wire basesoc_picorv32_ibus_we;
- wire [2:0] basesoc_picorv32_ibus_cti;
- wire [1:0] basesoc_picorv32_ibus_bte;
- wire basesoc_picorv32_ibus_err;
- wire [29:0] basesoc_picorv32_dbus_adr;
- wire [31:0] basesoc_picorv32_dbus_dat_w;
- wire [31:0] basesoc_picorv32_dbus_dat_r;
- wire [3:0] basesoc_picorv32_dbus_sel;
- wire basesoc_picorv32_dbus_cyc;
- wire basesoc_picorv32_dbus_stb;
- wire basesoc_picorv32_dbus_ack;
- wire basesoc_picorv32_dbus_we;
- wire [2:0] basesoc_picorv32_dbus_cti;
- wire [1:0] basesoc_picorv32_dbus_bte;
- wire basesoc_picorv32_dbus_err;
- reg [31:0] basesoc_picorv32_interrupt = 32'd0;
- wire basesoc_picorv32_trap;
- wire basesoc_picorv32_mem_valid;
- wire basesoc_picorv32_mem_instr;
- reg basesoc_picorv32_mem_ready = 1'd0;
- wire [31:0] basesoc_picorv32_mem_addr;
- wire [31:0] basesoc_picorv32_mem_wdata;
- wire [3:0] basesoc_picorv32_mem_wstrb;
- reg [31:0] basesoc_picorv32_mem_rdata = 32'd0;
- wire basesoc_picorv320;
- wire basesoc_picorv321;
- wire [31:0] basesoc_picorv322;
- wire [31:0] basesoc_picorv323;
- wire [3:0] basesoc_picorv324;
- wire basesoc_picorv325;
- wire [31:0] basesoc_picorv326;
- wire [31:0] basesoc_picorv327;
- wire [31:0] basesoc_picorv328;
- wire [31:0] basesoc_picorv329;
- wire [29:0] basesoc_rom_bus_adr;
- wire [31:0] basesoc_rom_bus_dat_w;
- wire [31:0] basesoc_rom_bus_dat_r;
- wire [3:0] basesoc_rom_bus_sel;
- wire basesoc_rom_bus_cyc;
- wire basesoc_rom_bus_stb;
- reg basesoc_rom_bus_ack = 1'd0;
- wire basesoc_rom_bus_we;
- wire [2:0] basesoc_rom_bus_cti;
- wire [1:0] basesoc_rom_bus_bte;
- reg basesoc_rom_bus_err = 1'd0;
- wire [2:0] basesoc_rom_adr;
- wire [31:0] basesoc_rom_dat_r;
- 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;
- reg basesoc_sram_bus_ack = 1'd0;
- 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 [9:0] basesoc_sram_adr;
- wire [31:0] basesoc_sram_dat_r;
- reg [3:0] basesoc_sram_we = 4'd0;
- wire [31:0] basesoc_sram_dat_w;
- reg [13:0] basesoc_interface_adr = 14'd0;
- reg basesoc_interface_we = 1'd0;
- reg [7:0] basesoc_interface_dat_w = 8'd0;
- wire [7:0] basesoc_interface_dat_r;
- wire [29:0] basesoc_bus_wishbone_adr;
- wire [31:0] basesoc_bus_wishbone_dat_w;
- reg [31:0] basesoc_bus_wishbone_dat_r = 32'd0;
- wire [3:0] basesoc_bus_wishbone_sel;
- wire basesoc_bus_wishbone_cyc;
- wire basesoc_bus_wishbone_stb;
- reg basesoc_bus_wishbone_ack = 1'd0;
- wire basesoc_bus_wishbone_we;
- wire [2:0] basesoc_bus_wishbone_cti;
- wire [1:0] basesoc_bus_wishbone_bte;
- reg basesoc_bus_wishbone_err = 1'd0;
- reg [1:0] basesoc_counter = 2'd0;
- reg [31:0] basesoc_uart_phy_storage_full = 32'd4947802;
- wire [31:0] basesoc_uart_phy_storage;
- reg basesoc_uart_phy_re = 1'd0;
- wire basesoc_uart_phy_sink_valid;
- reg basesoc_uart_phy_sink_ready = 1'd0;
- wire basesoc_uart_phy_sink_first;
- wire basesoc_uart_phy_sink_last;
- wire [7:0] basesoc_uart_phy_sink_payload_data;
- reg basesoc_uart_phy_uart_clk_txen = 1'd0;
- reg [31:0] basesoc_uart_phy_phase_accumulator_tx = 32'd0;
- reg [7:0] basesoc_uart_phy_tx_reg = 8'd0;
- reg [3:0] basesoc_uart_phy_tx_bitcount = 4'd0;
- reg basesoc_uart_phy_tx_busy = 1'd0;
- reg basesoc_uart_phy_source_valid = 1'd0;
- wire basesoc_uart_phy_source_ready;
- reg basesoc_uart_phy_source_first = 1'd0;
- reg basesoc_uart_phy_source_last = 1'd0;
- reg [7:0] basesoc_uart_phy_source_payload_data = 8'd0;
- reg basesoc_uart_phy_uart_clk_rxen = 1'd0;
- reg [31:0] basesoc_uart_phy_phase_accumulator_rx = 32'd0;
- wire basesoc_uart_phy_rx;
- reg basesoc_uart_phy_rx_r = 1'd0;
- reg [7:0] basesoc_uart_phy_rx_reg = 8'd0;
- reg [3:0] basesoc_uart_phy_rx_bitcount = 4'd0;
- reg basesoc_uart_phy_rx_busy = 1'd0;
- wire basesoc_uart_rxtx_re;
- wire [7:0] basesoc_uart_rxtx_r;
- wire [7:0] basesoc_uart_rxtx_w;
- wire basesoc_uart_txfull_status;
- wire basesoc_uart_rxempty_status;
- wire basesoc_uart_irq;
- wire basesoc_uart_tx_status;
- reg basesoc_uart_tx_pending = 1'd0;
- wire basesoc_uart_tx_trigger;
- reg basesoc_uart_tx_clear = 1'd0;
- reg basesoc_uart_tx_old_trigger = 1'd0;
- wire basesoc_uart_rx_status;
- reg basesoc_uart_rx_pending = 1'd0;
- wire basesoc_uart_rx_trigger;
- reg basesoc_uart_rx_clear = 1'd0;
- reg basesoc_uart_rx_old_trigger = 1'd0;
- wire basesoc_uart_status_re;
- wire [1:0] basesoc_uart_status_r;
- reg [1:0] basesoc_uart_status_w = 2'd0;
- wire basesoc_uart_pending_re;
- wire [1:0] basesoc_uart_pending_r;
- reg [1:0] basesoc_uart_pending_w = 2'd0;
- reg [1:0] basesoc_uart_storage_full = 2'd0;
- wire [1:0] basesoc_uart_storage;
- reg basesoc_uart_re = 1'd0;
- wire basesoc_uart_tx_fifo_sink_valid;
- wire basesoc_uart_tx_fifo_sink_ready;
- reg basesoc_uart_tx_fifo_sink_first = 1'd0;
- reg basesoc_uart_tx_fifo_sink_last = 1'd0;
- wire [7:0] basesoc_uart_tx_fifo_sink_payload_data;
- wire basesoc_uart_tx_fifo_source_valid;
- wire basesoc_uart_tx_fifo_source_ready;
- wire basesoc_uart_tx_fifo_source_first;
- wire basesoc_uart_tx_fifo_source_last;
- wire [7:0] basesoc_uart_tx_fifo_source_payload_data;
- wire basesoc_uart_tx_fifo_syncfifo_we;
- wire basesoc_uart_tx_fifo_syncfifo_writable;
- wire basesoc_uart_tx_fifo_syncfifo_re;
- wire basesoc_uart_tx_fifo_syncfifo_readable;
- wire [9:0] basesoc_uart_tx_fifo_syncfifo_din;
- wire [9:0] basesoc_uart_tx_fifo_syncfifo_dout;
- reg [4:0] basesoc_uart_tx_fifo_level = 5'd0;
- reg basesoc_uart_tx_fifo_replace = 1'd0;
- reg [3:0] basesoc_uart_tx_fifo_produce = 4'd0;
- reg [3:0] basesoc_uart_tx_fifo_consume = 4'd0;
- reg [3:0] basesoc_uart_tx_fifo_wrport_adr = 4'd0;
- wire [9:0] basesoc_uart_tx_fifo_wrport_dat_r;
- wire basesoc_uart_tx_fifo_wrport_we;
- wire [9:0] basesoc_uart_tx_fifo_wrport_dat_w;
- wire basesoc_uart_tx_fifo_do_read;
- wire [3:0] basesoc_uart_tx_fifo_rdport_adr;
- wire [9:0] basesoc_uart_tx_fifo_rdport_dat_r;
- wire [7:0] basesoc_uart_tx_fifo_fifo_in_payload_data;
- wire basesoc_uart_tx_fifo_fifo_in_first;
- wire basesoc_uart_tx_fifo_fifo_in_last;
- wire [7:0] basesoc_uart_tx_fifo_fifo_out_payload_data;
- wire basesoc_uart_tx_fifo_fifo_out_first;
- wire basesoc_uart_tx_fifo_fifo_out_last;
- wire basesoc_uart_rx_fifo_sink_valid;
- wire basesoc_uart_rx_fifo_sink_ready;
- wire basesoc_uart_rx_fifo_sink_first;
- wire basesoc_uart_rx_fifo_sink_last;
- wire [7:0] basesoc_uart_rx_fifo_sink_payload_data;
- wire basesoc_uart_rx_fifo_source_valid;
- wire basesoc_uart_rx_fifo_source_ready;
- wire basesoc_uart_rx_fifo_source_first;
- wire basesoc_uart_rx_fifo_source_last;
- wire [7:0] basesoc_uart_rx_fifo_source_payload_data;
- wire basesoc_uart_rx_fifo_syncfifo_we;
- wire basesoc_uart_rx_fifo_syncfifo_writable;
- wire basesoc_uart_rx_fifo_syncfifo_re;
- wire basesoc_uart_rx_fifo_syncfifo_readable;
- wire [9:0] basesoc_uart_rx_fifo_syncfifo_din;
- wire [9:0] basesoc_uart_rx_fifo_syncfifo_dout;
- reg [4:0] basesoc_uart_rx_fifo_level = 5'd0;
- reg basesoc_uart_rx_fifo_replace = 1'd0;
- reg [3:0] basesoc_uart_rx_fifo_produce = 4'd0;
- reg [3:0] basesoc_uart_rx_fifo_consume = 4'd0;
- reg [3:0] basesoc_uart_rx_fifo_wrport_adr = 4'd0;
- wire [9:0] basesoc_uart_rx_fifo_wrport_dat_r;
- wire basesoc_uart_rx_fifo_wrport_we;
- wire [9:0] basesoc_uart_rx_fifo_wrport_dat_w;
- wire basesoc_uart_rx_fifo_do_read;
- wire [3:0] basesoc_uart_rx_fifo_rdport_adr;
- wire [9:0] basesoc_uart_rx_fifo_rdport_dat_r;
- wire [7:0] basesoc_uart_rx_fifo_fifo_in_payload_data;
- wire basesoc_uart_rx_fifo_fifo_in_first;
- wire basesoc_uart_rx_fifo_fifo_in_last;
- wire [7:0] basesoc_uart_rx_fifo_fifo_out_payload_data;
- wire basesoc_uart_rx_fifo_fifo_out_first;
- wire basesoc_uart_rx_fifo_fifo_out_last;
- reg [31:0] basesoc_timer0_load_storage_full = 32'd0;
- wire [31:0] basesoc_timer0_load_storage;
- reg basesoc_timer0_load_re = 1'd0;
- reg [31:0] basesoc_timer0_reload_storage_full = 32'd0;
- wire [31:0] basesoc_timer0_reload_storage;
- reg basesoc_timer0_reload_re = 1'd0;
- reg basesoc_timer0_en_storage_full = 1'd0;
- wire basesoc_timer0_en_storage;
- reg basesoc_timer0_en_re = 1'd0;
- wire basesoc_timer0_update_value_re;
- wire basesoc_timer0_update_value_r;
- reg basesoc_timer0_update_value_w = 1'd0;
- reg [31:0] basesoc_timer0_value_status = 32'd0;
- wire basesoc_timer0_irq;
- wire basesoc_timer0_zero_status;
- reg basesoc_timer0_zero_pending = 1'd0;
- wire basesoc_timer0_zero_trigger;
- reg basesoc_timer0_zero_clear = 1'd0;
- reg basesoc_timer0_zero_old_trigger = 1'd0;
- wire basesoc_timer0_eventmanager_status_re;
- wire basesoc_timer0_eventmanager_status_r;
- wire basesoc_timer0_eventmanager_status_w;
- wire basesoc_timer0_eventmanager_pending_re;
- wire basesoc_timer0_eventmanager_pending_r;
- wire basesoc_timer0_eventmanager_pending_w;
- reg basesoc_timer0_eventmanager_storage_full = 1'd0;
- wire basesoc_timer0_eventmanager_storage;
- reg basesoc_timer0_eventmanager_re = 1'd0;
- reg [31:0] basesoc_timer0_value = 32'd0;
- wire [29:0] interface0_wb_sdram_adr;
- wire [31:0] interface0_wb_sdram_dat_w;
- wire [31:0] interface0_wb_sdram_dat_r;
- wire [3:0] interface0_wb_sdram_sel;
- wire interface0_wb_sdram_cyc;
- wire interface0_wb_sdram_stb;
- reg interface0_wb_sdram_ack = 1'd0;
- wire interface0_wb_sdram_we;
- wire [2:0] interface0_wb_sdram_cti;
- wire [1:0] interface0_wb_sdram_bte;
- reg interface0_wb_sdram_err = 1'd0;
- wire sys_clk;
- reg sys_rst = 1'd0;
- wire sys_ps_clk;
- reg sys_ps_rst = 1'd0;
- wire [12:0] dfi_p0_address;
- wire [1:0] dfi_p0_bank;
- wire dfi_p0_cas_n;
- wire dfi_p0_cs_n;
- wire dfi_p0_ras_n;
- wire dfi_p0_we_n;
- wire dfi_p0_cke;
- wire dfi_p0_odt;
- wire dfi_p0_reset_n;
- wire [7:0] dfi_p0_wrdata;
- wire dfi_p0_wrdata_en;
- wire dfi_p0_wrdata_mask;
- wire dfi_p0_rddata_en;
- reg [7:0] dfi_p0_rddata = 8'd0;
- wire dfi_p0_rddata_valid;
- reg [7:0] sd_dq_out = 8'd0;
- wire drive_dq;
- reg [7:0] sd_dq_in_ps = 8'd0;
- reg d_dfi_wrdata_en = 1'd0;
- reg [3:0] rddata_sr = 4'd0;
- wire [12:0] sdram_inti_p0_address;
- wire [1:0] sdram_inti_p0_bank;
- reg sdram_inti_p0_cas_n = 1'd1;
- reg sdram_inti_p0_cs_n = 1'd1;
- reg sdram_inti_p0_ras_n = 1'd1;
- reg sdram_inti_p0_we_n = 1'd1;
- wire sdram_inti_p0_cke;
- wire sdram_inti_p0_odt;
- wire sdram_inti_p0_reset_n;
- wire [7:0] sdram_inti_p0_wrdata;
- wire sdram_inti_p0_wrdata_en;
- wire sdram_inti_p0_wrdata_mask;
- wire sdram_inti_p0_rddata_en;
- reg [7:0] sdram_inti_p0_rddata = 8'd0;
- reg sdram_inti_p0_rddata_valid = 1'd0;
- wire [12:0] sdram_slave_p0_address;
- wire [1:0] sdram_slave_p0_bank;
- wire sdram_slave_p0_cas_n;
- wire sdram_slave_p0_cs_n;
- wire sdram_slave_p0_ras_n;
- wire sdram_slave_p0_we_n;
- wire sdram_slave_p0_cke;
- wire sdram_slave_p0_odt;
- wire sdram_slave_p0_reset_n;
- wire [7:0] sdram_slave_p0_wrdata;
- wire sdram_slave_p0_wrdata_en;
- wire sdram_slave_p0_wrdata_mask;
- wire sdram_slave_p0_rddata_en;
- reg [7:0] sdram_slave_p0_rddata = 8'd0;
- reg sdram_slave_p0_rddata_valid = 1'd0;
- reg [12:0] sdram_master_p0_address = 13'd0;
- reg [1:0] sdram_master_p0_bank = 2'd0;
- reg sdram_master_p0_cas_n = 1'd1;
- reg sdram_master_p0_cs_n = 1'd1;
- reg sdram_master_p0_ras_n = 1'd1;
- reg sdram_master_p0_we_n = 1'd1;
- reg sdram_master_p0_cke = 1'd0;
- reg sdram_master_p0_odt = 1'd0;
- reg sdram_master_p0_reset_n = 1'd0;
- reg [7:0] sdram_master_p0_wrdata = 8'd0;
- reg sdram_master_p0_wrdata_en = 1'd0;
- reg sdram_master_p0_wrdata_mask = 1'd0;
- reg sdram_master_p0_rddata_en = 1'd0;
- wire [7:0] sdram_master_p0_rddata;
- wire sdram_master_p0_rddata_valid;
- reg [3:0] sdram_storage_full = 4'd0;
- wire [3:0] sdram_storage;
- reg sdram_re = 1'd0;
- reg [5:0] sdram_command_storage_full = 6'd0;
- wire [5:0] sdram_command_storage;
- reg sdram_command_re = 1'd0;
- wire sdram_command_issue_re;
- wire sdram_command_issue_r;
- reg sdram_command_issue_w = 1'd0;
- reg [12:0] sdram_address_storage_full = 13'd0;
- wire [12:0] sdram_address_storage;
- reg sdram_address_re = 1'd0;
- reg [1:0] sdram_baddress_storage_full = 2'd0;
- wire [1:0] sdram_baddress_storage;
- reg sdram_baddress_re = 1'd0;
- reg [7:0] sdram_wrdata_storage_full = 8'd0;
- wire [7:0] sdram_wrdata_storage;
- reg sdram_wrdata_re = 1'd0;
- reg [7:0] sdram_status = 8'd0;
- reg [12:0] sdram_dfi_p0_address = 13'd0;
- reg [1:0] sdram_dfi_p0_bank = 2'd0;
- reg sdram_dfi_p0_cas_n = 1'd1;
- wire sdram_dfi_p0_cs_n;
- reg sdram_dfi_p0_ras_n = 1'd1;
- reg sdram_dfi_p0_we_n = 1'd1;
- wire sdram_dfi_p0_cke;
- wire sdram_dfi_p0_odt;
- wire sdram_dfi_p0_reset_n;
- wire [7:0] sdram_dfi_p0_wrdata;
- reg sdram_dfi_p0_wrdata_en = 1'd0;
- wire sdram_dfi_p0_wrdata_mask;
- reg sdram_dfi_p0_rddata_en = 1'd0;
- wire [7:0] sdram_dfi_p0_rddata;
- wire sdram_dfi_p0_rddata_valid;
- wire sdram_interface_bank0_valid;
- wire sdram_interface_bank0_ready;
- wire sdram_interface_bank0_we;
- wire [22:0] sdram_interface_bank0_adr;
- wire sdram_interface_bank0_lock;
- wire sdram_interface_bank0_wdata_ready;
- wire sdram_interface_bank0_rdata_valid;
- wire sdram_interface_bank1_valid;
- wire sdram_interface_bank1_ready;
- wire sdram_interface_bank1_we;
- wire [22:0] sdram_interface_bank1_adr;
- wire sdram_interface_bank1_lock;
- wire sdram_interface_bank1_wdata_ready;
- wire sdram_interface_bank1_rdata_valid;
- wire sdram_interface_bank2_valid;
- wire sdram_interface_bank2_ready;
- wire sdram_interface_bank2_we;
- wire [22:0] sdram_interface_bank2_adr;
- wire sdram_interface_bank2_lock;
- wire sdram_interface_bank2_wdata_ready;
- wire sdram_interface_bank2_rdata_valid;
- wire sdram_interface_bank3_valid;
- wire sdram_interface_bank3_ready;
- wire sdram_interface_bank3_we;
- wire [22:0] sdram_interface_bank3_adr;
- wire sdram_interface_bank3_lock;
- wire sdram_interface_bank3_wdata_ready;
- wire sdram_interface_bank3_rdata_valid;
- reg [7:0] sdram_interface_wdata = 8'd0;
- reg sdram_interface_wdata_we = 1'd0;
- wire [7:0] sdram_interface_rdata;
- reg sdram_cmd_valid = 1'd0;
- reg sdram_cmd_ready = 1'd0;
- reg sdram_cmd_last = 1'd0;
- reg [12:0] sdram_cmd_payload_a = 13'd0;
- reg [1:0] sdram_cmd_payload_ba = 2'd0;
- reg sdram_cmd_payload_cas = 1'd0;
- reg sdram_cmd_payload_ras = 1'd0;
- reg sdram_cmd_payload_we = 1'd0;
- reg sdram_cmd_payload_is_read = 1'd0;
- reg sdram_cmd_payload_is_write = 1'd0;
- reg sdram_seq_start = 1'd0;
- reg sdram_seq_done = 1'd0;
- reg [3:0] sdram_counter = 4'd0;
- wire sdram_wait;
- wire sdram_done;
- reg [9:0] sdram_count = 10'd782;
- wire sdram_bankmachine0_req_valid;
- wire sdram_bankmachine0_req_ready;
- wire sdram_bankmachine0_req_we;
- wire [22:0] sdram_bankmachine0_req_adr;
- wire sdram_bankmachine0_req_lock;
- reg sdram_bankmachine0_req_wdata_ready = 1'd0;
- reg sdram_bankmachine0_req_rdata_valid = 1'd0;
- wire sdram_bankmachine0_refresh_req;
- reg sdram_bankmachine0_refresh_gnt = 1'd0;
- reg sdram_bankmachine0_cmd_valid = 1'd0;
- reg sdram_bankmachine0_cmd_ready = 1'd0;
- reg [12:0] sdram_bankmachine0_cmd_payload_a = 13'd0;
- wire [1:0] sdram_bankmachine0_cmd_payload_ba;
- reg sdram_bankmachine0_cmd_payload_cas = 1'd0;
- reg sdram_bankmachine0_cmd_payload_ras = 1'd0;
- reg sdram_bankmachine0_cmd_payload_we = 1'd0;
- reg sdram_bankmachine0_cmd_payload_is_cmd = 1'd0;
- reg sdram_bankmachine0_cmd_payload_is_read = 1'd0;
- reg sdram_bankmachine0_cmd_payload_is_write = 1'd0;
- wire sdram_bankmachine0_sink_valid;
- wire sdram_bankmachine0_sink_ready;
- reg sdram_bankmachine0_sink_first = 1'd0;
- reg sdram_bankmachine0_sink_last = 1'd0;
- wire sdram_bankmachine0_sink_payload_we;
- wire [22:0] sdram_bankmachine0_sink_payload_adr;
- wire sdram_bankmachine0_source_valid;
- wire sdram_bankmachine0_source_ready;
- wire sdram_bankmachine0_source_first;
- wire sdram_bankmachine0_source_last;
- wire sdram_bankmachine0_source_payload_we;
- wire [22:0] sdram_bankmachine0_source_payload_adr;
- wire sdram_bankmachine0_syncfifo0_we;
- wire sdram_bankmachine0_syncfifo0_writable;
- wire sdram_bankmachine0_syncfifo0_re;
- wire sdram_bankmachine0_syncfifo0_readable;
- wire [25:0] sdram_bankmachine0_syncfifo0_din;
- wire [25:0] sdram_bankmachine0_syncfifo0_dout;
- reg [3:0] sdram_bankmachine0_level = 4'd0;
- reg sdram_bankmachine0_replace = 1'd0;
- reg [2:0] sdram_bankmachine0_produce = 3'd0;
- reg [2:0] sdram_bankmachine0_consume = 3'd0;
- reg [2:0] sdram_bankmachine0_wrport_adr = 3'd0;
- wire [25:0] sdram_bankmachine0_wrport_dat_r;
- wire sdram_bankmachine0_wrport_we;
- wire [25:0] sdram_bankmachine0_wrport_dat_w;
- wire sdram_bankmachine0_do_read;
- wire [2:0] sdram_bankmachine0_rdport_adr;
- wire [25:0] sdram_bankmachine0_rdport_dat_r;
- wire sdram_bankmachine0_fifo_in_payload_we;
- wire [22:0] sdram_bankmachine0_fifo_in_payload_adr;
- wire sdram_bankmachine0_fifo_in_first;
- wire sdram_bankmachine0_fifo_in_last;
- wire sdram_bankmachine0_fifo_out_payload_we;
- wire [22:0] sdram_bankmachine0_fifo_out_payload_adr;
- wire sdram_bankmachine0_fifo_out_first;
- wire sdram_bankmachine0_fifo_out_last;
- reg sdram_bankmachine0_has_openrow = 1'd0;
- reg [12:0] sdram_bankmachine0_openrow = 13'd0;
- wire sdram_bankmachine0_hit;
- reg sdram_bankmachine0_track_open = 1'd0;
- reg sdram_bankmachine0_track_close = 1'd0;
- reg sdram_bankmachine0_sel_row_adr = 1'd0;
- wire sdram_bankmachine0_wait;
- wire sdram_bankmachine0_done;
- reg [2:0] sdram_bankmachine0_count = 3'd4;
- wire sdram_bankmachine1_req_valid;
- wire sdram_bankmachine1_req_ready;
- wire sdram_bankmachine1_req_we;
- wire [22:0] sdram_bankmachine1_req_adr;
- wire sdram_bankmachine1_req_lock;
- reg sdram_bankmachine1_req_wdata_ready = 1'd0;
- reg sdram_bankmachine1_req_rdata_valid = 1'd0;
- wire sdram_bankmachine1_refresh_req;
- reg sdram_bankmachine1_refresh_gnt = 1'd0;
- reg sdram_bankmachine1_cmd_valid = 1'd0;
- reg sdram_bankmachine1_cmd_ready = 1'd0;
- reg [12:0] sdram_bankmachine1_cmd_payload_a = 13'd0;
- wire [1:0] sdram_bankmachine1_cmd_payload_ba;
- reg sdram_bankmachine1_cmd_payload_cas = 1'd0;
- reg sdram_bankmachine1_cmd_payload_ras = 1'd0;
- reg sdram_bankmachine1_cmd_payload_we = 1'd0;
- reg sdram_bankmachine1_cmd_payload_is_cmd = 1'd0;
- reg sdram_bankmachine1_cmd_payload_is_read = 1'd0;
- reg sdram_bankmachine1_cmd_payload_is_write = 1'd0;
- wire sdram_bankmachine1_sink_valid;
- wire sdram_bankmachine1_sink_ready;
- reg sdram_bankmachine1_sink_first = 1'd0;
- reg sdram_bankmachine1_sink_last = 1'd0;
- wire sdram_bankmachine1_sink_payload_we;
- wire [22:0] sdram_bankmachine1_sink_payload_adr;
- wire sdram_bankmachine1_source_valid;
- wire sdram_bankmachine1_source_ready;
- wire sdram_bankmachine1_source_first;
- wire sdram_bankmachine1_source_last;
- wire sdram_bankmachine1_source_payload_we;
- wire [22:0] sdram_bankmachine1_source_payload_adr;
- wire sdram_bankmachine1_syncfifo1_we;
- wire sdram_bankmachine1_syncfifo1_writable;
- wire sdram_bankmachine1_syncfifo1_re;
- wire sdram_bankmachine1_syncfifo1_readable;
- wire [25:0] sdram_bankmachine1_syncfifo1_din;
- wire [25:0] sdram_bankmachine1_syncfifo1_dout;
- reg [3:0] sdram_bankmachine1_level = 4'd0;
- reg sdram_bankmachine1_replace = 1'd0;
- reg [2:0] sdram_bankmachine1_produce = 3'd0;
- reg [2:0] sdram_bankmachine1_consume = 3'd0;
- reg [2:0] sdram_bankmachine1_wrport_adr = 3'd0;
- wire [25:0] sdram_bankmachine1_wrport_dat_r;
- wire sdram_bankmachine1_wrport_we;
- wire [25:0] sdram_bankmachine1_wrport_dat_w;
- wire sdram_bankmachine1_do_read;
- wire [2:0] sdram_bankmachine1_rdport_adr;
- wire [25:0] sdram_bankmachine1_rdport_dat_r;
- wire sdram_bankmachine1_fifo_in_payload_we;
- wire [22:0] sdram_bankmachine1_fifo_in_payload_adr;
- wire sdram_bankmachine1_fifo_in_first;
- wire sdram_bankmachine1_fifo_in_last;
- wire sdram_bankmachine1_fifo_out_payload_we;
- wire [22:0] sdram_bankmachine1_fifo_out_payload_adr;
- wire sdram_bankmachine1_fifo_out_first;
- wire sdram_bankmachine1_fifo_out_last;
- reg sdram_bankmachine1_has_openrow = 1'd0;
- reg [12:0] sdram_bankmachine1_openrow = 13'd0;
- wire sdram_bankmachine1_hit;
- reg sdram_bankmachine1_track_open = 1'd0;
- reg sdram_bankmachine1_track_close = 1'd0;
- reg sdram_bankmachine1_sel_row_adr = 1'd0;
- wire sdram_bankmachine1_wait;
- wire sdram_bankmachine1_done;
- reg [2:0] sdram_bankmachine1_count = 3'd4;
- wire sdram_bankmachine2_req_valid;
- wire sdram_bankmachine2_req_ready;
- wire sdram_bankmachine2_req_we;
- wire [22:0] sdram_bankmachine2_req_adr;
- wire sdram_bankmachine2_req_lock;
- reg sdram_bankmachine2_req_wdata_ready = 1'd0;
- reg sdram_bankmachine2_req_rdata_valid = 1'd0;
- wire sdram_bankmachine2_refresh_req;
- reg sdram_bankmachine2_refresh_gnt = 1'd0;
- reg sdram_bankmachine2_cmd_valid = 1'd0;
- reg sdram_bankmachine2_cmd_ready = 1'd0;
- reg [12:0] sdram_bankmachine2_cmd_payload_a = 13'd0;
- wire [1:0] sdram_bankmachine2_cmd_payload_ba;
- reg sdram_bankmachine2_cmd_payload_cas = 1'd0;
- reg sdram_bankmachine2_cmd_payload_ras = 1'd0;
- reg sdram_bankmachine2_cmd_payload_we = 1'd0;
- reg sdram_bankmachine2_cmd_payload_is_cmd = 1'd0;
- reg sdram_bankmachine2_cmd_payload_is_read = 1'd0;
- reg sdram_bankmachine2_cmd_payload_is_write = 1'd0;
- wire sdram_bankmachine2_sink_valid;
- wire sdram_bankmachine2_sink_ready;
- reg sdram_bankmachine2_sink_first = 1'd0;
- reg sdram_bankmachine2_sink_last = 1'd0;
- wire sdram_bankmachine2_sink_payload_we;
- wire [22:0] sdram_bankmachine2_sink_payload_adr;
- wire sdram_bankmachine2_source_valid;
- wire sdram_bankmachine2_source_ready;
- wire sdram_bankmachine2_source_first;
- wire sdram_bankmachine2_source_last;
- wire sdram_bankmachine2_source_payload_we;
- wire [22:0] sdram_bankmachine2_source_payload_adr;
- wire sdram_bankmachine2_syncfifo2_we;
- wire sdram_bankmachine2_syncfifo2_writable;
- wire sdram_bankmachine2_syncfifo2_re;
- wire sdram_bankmachine2_syncfifo2_readable;
- wire [25:0] sdram_bankmachine2_syncfifo2_din;
- wire [25:0] sdram_bankmachine2_syncfifo2_dout;
- reg [3:0] sdram_bankmachine2_level = 4'd0;
- reg sdram_bankmachine2_replace = 1'd0;
- reg [2:0] sdram_bankmachine2_produce = 3'd0;
- reg [2:0] sdram_bankmachine2_consume = 3'd0;
- reg [2:0] sdram_bankmachine2_wrport_adr = 3'd0;
- wire [25:0] sdram_bankmachine2_wrport_dat_r;
- wire sdram_bankmachine2_wrport_we;
- wire [25:0] sdram_bankmachine2_wrport_dat_w;
- wire sdram_bankmachine2_do_read;
- wire [2:0] sdram_bankmachine2_rdport_adr;
- wire [25:0] sdram_bankmachine2_rdport_dat_r;
- wire sdram_bankmachine2_fifo_in_payload_we;
- wire [22:0] sdram_bankmachine2_fifo_in_payload_adr;
- wire sdram_bankmachine2_fifo_in_first;
- wire sdram_bankmachine2_fifo_in_last;
- wire sdram_bankmachine2_fifo_out_payload_we;
- wire [22:0] sdram_bankmachine2_fifo_out_payload_adr;
- wire sdram_bankmachine2_fifo_out_first;
- wire sdram_bankmachine2_fifo_out_last;
- reg sdram_bankmachine2_has_openrow = 1'd0;
- reg [12:0] sdram_bankmachine2_openrow = 13'd0;
- wire sdram_bankmachine2_hit;
- reg sdram_bankmachine2_track_open = 1'd0;
- reg sdram_bankmachine2_track_close = 1'd0;
- reg sdram_bankmachine2_sel_row_adr = 1'd0;
- wire sdram_bankmachine2_wait;
- wire sdram_bankmachine2_done;
- reg [2:0] sdram_bankmachine2_count = 3'd4;
- wire sdram_bankmachine3_req_valid;
- wire sdram_bankmachine3_req_ready;
- wire sdram_bankmachine3_req_we;
- wire [22:0] sdram_bankmachine3_req_adr;
- wire sdram_bankmachine3_req_lock;
- reg sdram_bankmachine3_req_wdata_ready = 1'd0;
- reg sdram_bankmachine3_req_rdata_valid = 1'd0;
- wire sdram_bankmachine3_refresh_req;
- reg sdram_bankmachine3_refresh_gnt = 1'd0;
- reg sdram_bankmachine3_cmd_valid = 1'd0;
- reg sdram_bankmachine3_cmd_ready = 1'd0;
- reg [12:0] sdram_bankmachine3_cmd_payload_a = 13'd0;
- wire [1:0] sdram_bankmachine3_cmd_payload_ba;
- reg sdram_bankmachine3_cmd_payload_cas = 1'd0;
- reg sdram_bankmachine3_cmd_payload_ras = 1'd0;
- reg sdram_bankmachine3_cmd_payload_we = 1'd0;
- reg sdram_bankmachine3_cmd_payload_is_cmd = 1'd0;
- reg sdram_bankmachine3_cmd_payload_is_read = 1'd0;
- reg sdram_bankmachine3_cmd_payload_is_write = 1'd0;
- wire sdram_bankmachine3_sink_valid;
- wire sdram_bankmachine3_sink_ready;
- reg sdram_bankmachine3_sink_first = 1'd0;
- reg sdram_bankmachine3_sink_last = 1'd0;
- wire sdram_bankmachine3_sink_payload_we;
- wire [22:0] sdram_bankmachine3_sink_payload_adr;
- wire sdram_bankmachine3_source_valid;
- wire sdram_bankmachine3_source_ready;
- wire sdram_bankmachine3_source_first;
- wire sdram_bankmachine3_source_last;
- wire sdram_bankmachine3_source_payload_we;
- wire [22:0] sdram_bankmachine3_source_payload_adr;
- wire sdram_bankmachine3_syncfifo3_we;
- wire sdram_bankmachine3_syncfifo3_writable;
- wire sdram_bankmachine3_syncfifo3_re;
- wire sdram_bankmachine3_syncfifo3_readable;
- wire [25:0] sdram_bankmachine3_syncfifo3_din;
- wire [25:0] sdram_bankmachine3_syncfifo3_dout;
- reg [3:0] sdram_bankmachine3_level = 4'd0;
- reg sdram_bankmachine3_replace = 1'd0;
- reg [2:0] sdram_bankmachine3_produce = 3'd0;
- reg [2:0] sdram_bankmachine3_consume = 3'd0;
- reg [2:0] sdram_bankmachine3_wrport_adr = 3'd0;
- wire [25:0] sdram_bankmachine3_wrport_dat_r;
- wire sdram_bankmachine3_wrport_we;
- wire [25:0] sdram_bankmachine3_wrport_dat_w;
- wire sdram_bankmachine3_do_read;
- wire [2:0] sdram_bankmachine3_rdport_adr;
- wire [25:0] sdram_bankmachine3_rdport_dat_r;
- wire sdram_bankmachine3_fifo_in_payload_we;
- wire [22:0] sdram_bankmachine3_fifo_in_payload_adr;
- wire sdram_bankmachine3_fifo_in_first;
- wire sdram_bankmachine3_fifo_in_last;
- wire sdram_bankmachine3_fifo_out_payload_we;
- wire [22:0] sdram_bankmachine3_fifo_out_payload_adr;
- wire sdram_bankmachine3_fifo_out_first;
- wire sdram_bankmachine3_fifo_out_last;
- reg sdram_bankmachine3_has_openrow = 1'd0;
- reg [12:0] sdram_bankmachine3_openrow = 13'd0;
- wire sdram_bankmachine3_hit;
- reg sdram_bankmachine3_track_open = 1'd0;
- reg sdram_bankmachine3_track_close = 1'd0;
- reg sdram_bankmachine3_sel_row_adr = 1'd0;
- wire sdram_bankmachine3_wait;
- wire sdram_bankmachine3_done;
- reg [2:0] sdram_bankmachine3_count = 3'd4;
- reg sdram_choose_cmd_want_reads = 1'd0;
- reg sdram_choose_cmd_want_writes = 1'd0;
- wire sdram_choose_cmd_want_cmds;
- wire sdram_choose_cmd_cmd_valid;
- reg sdram_choose_cmd_cmd_ready = 1'd0;
- wire [12:0] sdram_choose_cmd_cmd_payload_a;
- wire [1:0] sdram_choose_cmd_cmd_payload_ba;
- reg sdram_choose_cmd_cmd_payload_cas = 1'd0;
- reg sdram_choose_cmd_cmd_payload_ras = 1'd0;
- reg sdram_choose_cmd_cmd_payload_we = 1'd0;
- wire sdram_choose_cmd_cmd_payload_is_cmd;
- wire sdram_choose_cmd_cmd_payload_is_read;
- wire sdram_choose_cmd_cmd_payload_is_write;
- reg [3:0] sdram_choose_cmd_valids = 4'd0;
- wire [3:0] sdram_choose_cmd_request;
- reg [1:0] sdram_choose_cmd_grant = 2'd0;
- wire sdram_choose_cmd_ce;
- reg sdram_choose_req_want_reads = 1'd0;
- reg sdram_choose_req_want_writes = 1'd0;
- wire sdram_choose_req_want_cmds;
- wire sdram_choose_req_cmd_valid;
- reg sdram_choose_req_cmd_ready = 1'd0;
- wire [12:0] sdram_choose_req_cmd_payload_a;
- wire [1:0] sdram_choose_req_cmd_payload_ba;
- reg sdram_choose_req_cmd_payload_cas = 1'd0;
- reg sdram_choose_req_cmd_payload_ras = 1'd0;
- reg sdram_choose_req_cmd_payload_we = 1'd0;
- wire sdram_choose_req_cmd_payload_is_cmd;
- wire sdram_choose_req_cmd_payload_is_read;
- wire sdram_choose_req_cmd_payload_is_write;
- reg [3:0] sdram_choose_req_valids = 4'd0;
- wire [3:0] sdram_choose_req_request;
- reg [1:0] sdram_choose_req_grant = 2'd0;
- wire sdram_choose_req_ce;
- reg [12:0] sdram_nop_a = 13'd0;
- reg [1:0] sdram_nop_ba = 2'd0;
- reg sdram_nop_cas = 1'd0;
- reg sdram_nop_ras = 1'd0;
- reg sdram_nop_we = 1'd0;
- reg [1:0] sdram_sel = 2'd0;
- wire sdram_read_available;
- wire sdram_write_available;
- reg sdram_en0 = 1'd0;
- wire sdram_max_time0;
- reg [4:0] sdram_time0 = 5'd0;
- reg sdram_en1 = 1'd0;
- wire sdram_max_time1;
- reg [3:0] sdram_time1 = 4'd0;
- wire sdram_go_to_refresh;
- wire [29:0] interface1_wb_sdram_adr;
- wire [31:0] interface1_wb_sdram_dat_w;
- wire [31:0] interface1_wb_sdram_dat_r;
- wire [3:0] interface1_wb_sdram_sel;
- wire interface1_wb_sdram_cyc;
- wire interface1_wb_sdram_stb;
- wire interface1_wb_sdram_ack;
- wire interface1_wb_sdram_we;
- wire [2:0] interface1_wb_sdram_cti;
- wire [1:0] interface1_wb_sdram_bte;
- wire interface1_wb_sdram_err;
- reg port_cmd_valid = 1'd0;
- wire port_cmd_ready;
- reg port_cmd_payload_we = 1'd0;
- wire [24:0] port_cmd_payload_adr;
- reg port_wdata_valid = 1'd0;
- wire port_wdata_ready;
- wire [7:0] port_wdata_payload_data;
- wire port_wdata_payload_we;
- wire port_rdata_valid;
- reg port_rdata_ready = 1'd0;
- wire [7:0] port_rdata_payload_data;
- wire [29:0] interface_adr;
- reg [7:0] interface_dat_w = 8'd0;
- wire [7:0] interface_dat_r;
- wire interface_sel;
- reg interface_cyc = 1'd0;
- reg interface_stb = 1'd0;
- reg interface_ack = 1'd0;
- reg interface_we = 1'd0;
- reg [1:0] cache = 2'd0;
- wire [10:0] cache_data_port_adr;
- wire [31:0] cache_data_port_dat_r;
- reg [3:0] cache_data_port_we = 4'd0;
- reg [31:0] cache_data_port_dat_w = 32'd0;
- reg cache_write_from_slave = 1'd0;
- wire [10:0] cache_tag_port_adr;
- wire [19:0] cache_tag_port_dat_r;
- reg cache_tag_port_we = 1'd0;
- wire [19:0] cache_tag_port_dat_w;
- wire [18:0] cache_tag_do_tag;
- wire cache_tag_do_dirty;
- wire [18:0] cache_tag_di_tag;
- reg cache_tag_di_dirty = 1'd0;
- reg cache_word_clr = 1'd0;
- reg cache_word_inc = 1'd0;
- reg [1:0] refresher_state = 2'd0;
- reg [1:0] refresher_next_state = 2'd0;
- reg [2:0] bankmachine0_state = 3'd0;
- reg [2:0] bankmachine0_next_state = 3'd0;
- reg [2:0] bankmachine1_state = 3'd0;
- reg [2:0] bankmachine1_next_state = 3'd0;
- reg [2:0] bankmachine2_state = 3'd0;
- reg [2:0] bankmachine2_next_state = 3'd0;
- reg [2:0] bankmachine3_state = 3'd0;
- reg [2:0] bankmachine3_next_state = 3'd0;
- reg [2:0] multiplexer_state = 3'd0;
- reg [2:0] multiplexer_next_state = 3'd0;
- wire [1:0] cba;
- wire [22:0] rca;
- wire roundrobin0_request;
- wire roundrobin0_grant;
- wire roundrobin0_ce;
- wire roundrobin1_request;
- wire roundrobin1_grant;
- wire roundrobin1_ce;
- wire roundrobin2_request;
- wire roundrobin2_grant;
- wire roundrobin2_ce;
- wire roundrobin3_request;
- wire roundrobin3_grant;
- wire roundrobin3_ce;
- reg new_master_wdata_ready = 1'd0;
- reg new_master_rdata_valid0 = 1'd0;
- reg new_master_rdata_valid1 = 1'd0;
- reg new_master_rdata_valid2 = 1'd0;
- reg new_master_rdata_valid3 = 1'd0;
- reg new_master_rdata_valid4 = 1'd0;
- reg [2:0] cache_state = 3'd0;
- reg [2:0] cache_next_state = 3'd0;
- reg [1:0] litedramwishbonebridge_state = 2'd0;
- reg [1:0] litedramwishbonebridge_next_state = 2'd0;
- wire wb_sdram_con_request;
- wire wb_sdram_con_grant;
- wire [29:0] basesoc_shared_adr;
- wire [31:0] basesoc_shared_dat_w;
- wire [31:0] basesoc_shared_dat_r;
- wire [3:0] basesoc_shared_sel;
- wire basesoc_shared_cyc;
- wire basesoc_shared_stb;
- wire basesoc_shared_ack;
- wire basesoc_shared_we;
- wire [2:0] basesoc_shared_cti;
- wire [1:0] basesoc_shared_bte;
- wire basesoc_shared_err;
- wire [1:0] basesoc_request;
- reg basesoc_grant = 1'd0;
- reg [3:0] basesoc_slave_sel = 4'd0;
- reg [3:0] basesoc_slave_sel_r = 4'd0;
- wire [13:0] basesoc_interface0_bank_bus_adr;
- wire basesoc_interface0_bank_bus_we;
- wire [7:0] basesoc_interface0_bank_bus_dat_w;
- reg [7:0] basesoc_interface0_bank_bus_dat_r = 8'd0;
- wire basesoc_csrbank0_dfii_control0_re;
- wire [3:0] basesoc_csrbank0_dfii_control0_r;
- wire [3:0] basesoc_csrbank0_dfii_control0_w;
- wire basesoc_csrbank0_dfii_pi0_command0_re;
- wire [5:0] basesoc_csrbank0_dfii_pi0_command0_r;
- wire [5:0] basesoc_csrbank0_dfii_pi0_command0_w;
- wire basesoc_csrbank0_dfii_pi0_address1_re;
- wire [4:0] basesoc_csrbank0_dfii_pi0_address1_r;
- wire [4:0] basesoc_csrbank0_dfii_pi0_address1_w;
- wire basesoc_csrbank0_dfii_pi0_address0_re;
- wire [7:0] basesoc_csrbank0_dfii_pi0_address0_r;
- wire [7:0] basesoc_csrbank0_dfii_pi0_address0_w;
- wire basesoc_csrbank0_dfii_pi0_baddress0_re;
- wire [1:0] basesoc_csrbank0_dfii_pi0_baddress0_r;
- wire [1:0] basesoc_csrbank0_dfii_pi0_baddress0_w;
- wire basesoc_csrbank0_dfii_pi0_wrdata0_re;
- wire [7:0] basesoc_csrbank0_dfii_pi0_wrdata0_r;
- wire [7:0] basesoc_csrbank0_dfii_pi0_wrdata0_w;
- wire basesoc_csrbank0_dfii_pi0_rddata_re;
- wire [7:0] basesoc_csrbank0_dfii_pi0_rddata_r;
- wire [7:0] basesoc_csrbank0_dfii_pi0_rddata_w;
- wire basesoc_csrbank0_sel;
- wire [13:0] basesoc_interface1_bank_bus_adr;
- wire basesoc_interface1_bank_bus_we;
- wire [7:0] basesoc_interface1_bank_bus_dat_w;
- reg [7:0] basesoc_interface1_bank_bus_dat_r = 8'd0;
- wire basesoc_csrbank1_load3_re;
- wire [7:0] basesoc_csrbank1_load3_r;
- wire [7:0] basesoc_csrbank1_load3_w;
- wire basesoc_csrbank1_load2_re;
- wire [7:0] basesoc_csrbank1_load2_r;
- wire [7:0] basesoc_csrbank1_load2_w;
- wire basesoc_csrbank1_load1_re;
- wire [7:0] basesoc_csrbank1_load1_r;
- wire [7:0] basesoc_csrbank1_load1_w;
- wire basesoc_csrbank1_load0_re;
- wire [7:0] basesoc_csrbank1_load0_r;
- wire [7:0] basesoc_csrbank1_load0_w;
- wire basesoc_csrbank1_reload3_re;
- wire [7:0] basesoc_csrbank1_reload3_r;
- wire [7:0] basesoc_csrbank1_reload3_w;
- wire basesoc_csrbank1_reload2_re;
- wire [7:0] basesoc_csrbank1_reload2_r;
- wire [7:0] basesoc_csrbank1_reload2_w;
- wire basesoc_csrbank1_reload1_re;
- wire [7:0] basesoc_csrbank1_reload1_r;
- wire [7:0] basesoc_csrbank1_reload1_w;
- wire basesoc_csrbank1_reload0_re;
- wire [7:0] basesoc_csrbank1_reload0_r;
- wire [7:0] basesoc_csrbank1_reload0_w;
- wire basesoc_csrbank1_en0_re;
- wire basesoc_csrbank1_en0_r;
- wire basesoc_csrbank1_en0_w;
- wire basesoc_csrbank1_value3_re;
- wire [7:0] basesoc_csrbank1_value3_r;
- wire [7:0] basesoc_csrbank1_value3_w;
- wire basesoc_csrbank1_value2_re;
- wire [7:0] basesoc_csrbank1_value2_r;
- wire [7:0] basesoc_csrbank1_value2_w;
- wire basesoc_csrbank1_value1_re;
- wire [7:0] basesoc_csrbank1_value1_r;
- wire [7:0] basesoc_csrbank1_value1_w;
- wire basesoc_csrbank1_value0_re;
- wire [7:0] basesoc_csrbank1_value0_r;
- wire [7:0] basesoc_csrbank1_value0_w;
- wire basesoc_csrbank1_ev_enable0_re;
- wire basesoc_csrbank1_ev_enable0_r;
- wire basesoc_csrbank1_ev_enable0_w;
- wire basesoc_csrbank1_sel;
- wire [13:0] basesoc_interface2_bank_bus_adr;
- wire basesoc_interface2_bank_bus_we;
- wire [7:0] basesoc_interface2_bank_bus_dat_w;
- reg [7:0] basesoc_interface2_bank_bus_dat_r = 8'd0;
- wire basesoc_csrbank2_txfull_re;
- wire basesoc_csrbank2_txfull_r;
- wire basesoc_csrbank2_txfull_w;
- wire basesoc_csrbank2_rxempty_re;
- wire basesoc_csrbank2_rxempty_r;
- wire basesoc_csrbank2_rxempty_w;
- wire basesoc_csrbank2_ev_enable0_re;
- wire [1:0] basesoc_csrbank2_ev_enable0_r;
- wire [1:0] basesoc_csrbank2_ev_enable0_w;
- wire basesoc_csrbank2_sel;
- wire [13:0] basesoc_interface3_bank_bus_adr;
- wire basesoc_interface3_bank_bus_we;
- wire [7:0] basesoc_interface3_bank_bus_dat_w;
- reg [7:0] basesoc_interface3_bank_bus_dat_r = 8'd0;
- wire basesoc_csrbank3_tuning_word3_re;
- wire [7:0] basesoc_csrbank3_tuning_word3_r;
- wire [7:0] basesoc_csrbank3_tuning_word3_w;
- wire basesoc_csrbank3_tuning_word2_re;
- wire [7:0] basesoc_csrbank3_tuning_word2_r;
- wire [7:0] basesoc_csrbank3_tuning_word2_w;
- wire basesoc_csrbank3_tuning_word1_re;
- wire [7:0] basesoc_csrbank3_tuning_word1_r;
- wire [7:0] basesoc_csrbank3_tuning_word1_w;
- wire basesoc_csrbank3_tuning_word0_re;
- wire [7:0] basesoc_csrbank3_tuning_word0_r;
- wire [7:0] basesoc_csrbank3_tuning_word0_w;
- wire basesoc_csrbank3_sel;
- reg rhs_array_muxed0 = 1'd0;
- reg [12:0] rhs_array_muxed1 = 13'd0;
- reg [1:0] rhs_array_muxed2 = 2'd0;
- reg rhs_array_muxed3 = 1'd0;
- reg rhs_array_muxed4 = 1'd0;
- reg rhs_array_muxed5 = 1'd0;
- reg t_array_muxed0 = 1'd0;
- reg t_array_muxed1 = 1'd0;
- reg t_array_muxed2 = 1'd0;
- reg rhs_array_muxed6 = 1'd0;
- reg [12:0] rhs_array_muxed7 = 13'd0;
- reg [1:0] rhs_array_muxed8 = 2'd0;
- reg rhs_array_muxed9 = 1'd0;
- reg rhs_array_muxed10 = 1'd0;
- reg rhs_array_muxed11 = 1'd0;
- reg t_array_muxed3 = 1'd0;
- reg t_array_muxed4 = 1'd0;
- reg t_array_muxed5 = 1'd0;
- reg [22:0] rhs_array_muxed12 = 23'd0;
- reg rhs_array_muxed13 = 1'd0;
- reg rhs_array_muxed14 = 1'd0;
- reg [22:0] rhs_array_muxed15 = 23'd0;
- reg rhs_array_muxed16 = 1'd0;
- reg rhs_array_muxed17 = 1'd0;
- reg [22:0] rhs_array_muxed18 = 23'd0;
- reg rhs_array_muxed19 = 1'd0;
- reg rhs_array_muxed20 = 1'd0;
- reg [22:0] rhs_array_muxed21 = 23'd0;
- reg rhs_array_muxed22 = 1'd0;
- reg rhs_array_muxed23 = 1'd0;
- reg [29:0] rhs_array_muxed24 = 30'd0;
- reg [31:0] rhs_array_muxed25 = 32'd0;
- reg [3:0] rhs_array_muxed26 = 4'd0;
- reg rhs_array_muxed27 = 1'd0;
- reg rhs_array_muxed28 = 1'd0;
- reg rhs_array_muxed29 = 1'd0;
- reg [2:0] rhs_array_muxed30 = 3'd0;
- reg [1:0] rhs_array_muxed31 = 2'd0;
- reg [29:0] rhs_array_muxed32 = 30'd0;
- reg [31:0] rhs_array_muxed33 = 32'd0;
- reg [3:0] rhs_array_muxed34 = 4'd0;
- reg rhs_array_muxed35 = 1'd0;
- reg rhs_array_muxed36 = 1'd0;
- reg rhs_array_muxed37 = 1'd0;
- reg [2:0] rhs_array_muxed38 = 3'd0;
- reg [1:0] rhs_array_muxed39 = 2'd0;
- reg [12:0] array_muxed0 = 13'd0;
- reg [1:0] array_muxed1 = 2'd0;
- reg array_muxed2 = 1'd0;
- reg array_muxed3 = 1'd0;
- reg array_muxed4 = 1'd0;
- reg array_muxed5 = 1'd0;
- reg array_muxed6 = 1'd0;
- reg regs0 = 1'd0;
- reg regs1 = 1'd0;
- always @(*) begin
- basesoc_picorv32_interrupt <= 32'd0;
- basesoc_picorv32_interrupt[1] <= basesoc_timer0_irq;
- basesoc_picorv32_interrupt[2] <= basesoc_uart_irq;
- end
- assign basesoc_picorv32_ibus_adr = basesoc_picorv32_mem_addr[31:2];
- assign basesoc_picorv32_ibus_dat_w = basesoc_picorv32_mem_wdata;
- assign basesoc_picorv32_ibus_we = (basesoc_picorv32_mem_wstrb != 1'd0);
- assign basesoc_picorv32_ibus_sel = basesoc_picorv32_mem_wstrb;
- assign basesoc_picorv32_ibus_cyc = (basesoc_picorv32_mem_valid & basesoc_picorv32_mem_instr);
- assign basesoc_picorv32_ibus_stb = (basesoc_picorv32_mem_valid & basesoc_picorv32_mem_instr);
- assign basesoc_picorv32_ibus_cti = 1'd0;
- assign basesoc_picorv32_ibus_bte = 1'd0;
- assign basesoc_picorv32_dbus_adr = basesoc_picorv32_mem_addr[31:2];
- assign basesoc_picorv32_dbus_dat_w = basesoc_picorv32_mem_wdata;
- assign basesoc_picorv32_dbus_we = (basesoc_picorv32_mem_wstrb != 1'd0);
- assign basesoc_picorv32_dbus_sel = basesoc_picorv32_mem_wstrb;
- assign basesoc_picorv32_dbus_cyc = (basesoc_picorv32_mem_valid & (~basesoc_picorv32_mem_instr));
- assign basesoc_picorv32_dbus_stb = (basesoc_picorv32_mem_valid & (~basesoc_picorv32_mem_instr));
- assign basesoc_picorv32_dbus_cti = 1'd0;
- assign basesoc_picorv32_dbus_bte = 1'd0;
- always @(*) begin
- basesoc_picorv32_mem_rdata <= 32'd0;
- basesoc_picorv32_mem_ready <= 1'd0;
- if (basesoc_picorv32_mem_instr) begin
- basesoc_picorv32_mem_ready <= basesoc_picorv32_ibus_ack;
- basesoc_picorv32_mem_rdata <= basesoc_picorv32_ibus_dat_r;
- end
- if ((~basesoc_picorv32_mem_instr)) begin
- basesoc_picorv32_mem_ready <= basesoc_picorv32_dbus_ack;
- basesoc_picorv32_mem_rdata <= basesoc_picorv32_dbus_dat_r;
- end
- end
- assign basesoc_rom_adr = basesoc_rom_bus_adr[2:0];
- assign basesoc_rom_bus_dat_r = basesoc_rom_dat_r;
- always @(*) begin
- basesoc_sram_we <= 4'd0;
- basesoc_sram_we[0] <= (((basesoc_sram_bus_cyc & basesoc_sram_bus_stb) & basesoc_sram_bus_we) & basesoc_sram_bus_sel[0]);
- basesoc_sram_we[1] <= (((basesoc_sram_bus_cyc & basesoc_sram_bus_stb) & basesoc_sram_bus_we) & basesoc_sram_bus_sel[1]);
- basesoc_sram_we[2] <= (((basesoc_sram_bus_cyc & basesoc_sram_bus_stb) & basesoc_sram_bus_we) & basesoc_sram_bus_sel[2]);
- basesoc_sram_we[3] <= (((basesoc_sram_bus_cyc & basesoc_sram_bus_stb) & basesoc_sram_bus_we) & basesoc_sram_bus_sel[3]);
- end
- assign basesoc_sram_adr = basesoc_sram_bus_adr[9:0];
- assign basesoc_sram_bus_dat_r = basesoc_sram_dat_r;
- assign basesoc_sram_dat_w = basesoc_sram_bus_dat_w;
- assign basesoc_uart_tx_fifo_sink_valid = basesoc_uart_rxtx_re;
- assign basesoc_uart_tx_fifo_sink_payload_data = basesoc_uart_rxtx_r;
- assign basesoc_uart_txfull_status = (~basesoc_uart_tx_fifo_sink_ready);
- assign basesoc_uart_phy_sink_valid = basesoc_uart_tx_fifo_source_valid;
- assign basesoc_uart_tx_fifo_source_ready = basesoc_uart_phy_sink_ready;
- assign basesoc_uart_phy_sink_first = basesoc_uart_tx_fifo_source_first;
- assign basesoc_uart_phy_sink_last = basesoc_uart_tx_fifo_source_last;
- assign basesoc_uart_phy_sink_payload_data = basesoc_uart_tx_fifo_source_payload_data;
- assign basesoc_uart_tx_trigger = (~basesoc_uart_tx_fifo_sink_ready);
- assign basesoc_uart_rx_fifo_sink_valid = basesoc_uart_phy_source_valid;
- assign basesoc_uart_phy_source_ready = basesoc_uart_rx_fifo_sink_ready;
- assign basesoc_uart_rx_fifo_sink_first = basesoc_uart_phy_source_first;
- assign basesoc_uart_rx_fifo_sink_last = basesoc_uart_phy_source_last;
- assign basesoc_uart_rx_fifo_sink_payload_data = basesoc_uart_phy_source_payload_data;
- assign basesoc_uart_rxempty_status = (~basesoc_uart_rx_fifo_source_valid);
- assign basesoc_uart_rxtx_w = basesoc_uart_rx_fifo_source_payload_data;
- assign basesoc_uart_rx_fifo_source_ready = basesoc_uart_rx_clear;
- assign basesoc_uart_rx_trigger = (~basesoc_uart_rx_fifo_source_valid);
- always @(*) begin
- basesoc_uart_tx_clear <= 1'd0;
- if ((basesoc_uart_pending_re & basesoc_uart_pending_r[0])) begin
- basesoc_uart_tx_clear <= 1'd1;
- end
- end
- always @(*) begin
- basesoc_uart_status_w <= 2'd0;
- basesoc_uart_status_w[0] <= basesoc_uart_tx_status;
- basesoc_uart_status_w[1] <= basesoc_uart_rx_status;
- end
- always @(*) begin
- basesoc_uart_rx_clear <= 1'd0;
- if ((basesoc_uart_pending_re & basesoc_uart_pending_r[1])) begin
- basesoc_uart_rx_clear <= 1'd1;
- end
- end
- always @(*) begin
- basesoc_uart_pending_w <= 2'd0;
- basesoc_uart_pending_w[0] <= basesoc_uart_tx_pending;
- basesoc_uart_pending_w[1] <= basesoc_uart_rx_pending;
- end
- assign basesoc_uart_irq = ((basesoc_uart_pending_w[0] & basesoc_uart_storage[0]) | (basesoc_uart_pending_w[1] & basesoc_uart_storage[1]));
- assign basesoc_uart_tx_status = basesoc_uart_tx_trigger;
- assign basesoc_uart_rx_status = basesoc_uart_rx_trigger;
- assign basesoc_uart_tx_fifo_syncfifo_din = {basesoc_uart_tx_fifo_fifo_in_last, basesoc_uart_tx_fifo_fifo_in_first, basesoc_uart_tx_fifo_fifo_in_payload_data};
- assign {basesoc_uart_tx_fifo_fifo_out_last, basesoc_uart_tx_fifo_fifo_out_first, basesoc_uart_tx_fifo_fifo_out_payload_data} = basesoc_uart_tx_fifo_syncfifo_dout;
- assign basesoc_uart_tx_fifo_sink_ready = basesoc_uart_tx_fifo_syncfifo_writable;
- assign basesoc_uart_tx_fifo_syncfifo_we = basesoc_uart_tx_fifo_sink_valid;
- assign basesoc_uart_tx_fifo_fifo_in_first = basesoc_uart_tx_fifo_sink_first;
- assign basesoc_uart_tx_fifo_fifo_in_last = basesoc_uart_tx_fifo_sink_last;
- assign basesoc_uart_tx_fifo_fifo_in_payload_data = basesoc_uart_tx_fifo_sink_payload_data;
- assign basesoc_uart_tx_fifo_source_valid = basesoc_uart_tx_fifo_syncfifo_readable;
- assign basesoc_uart_tx_fifo_source_first = basesoc_uart_tx_fifo_fifo_out_first;
- assign basesoc_uart_tx_fifo_source_last = basesoc_uart_tx_fifo_fifo_out_last;
- assign basesoc_uart_tx_fifo_source_payload_data = basesoc_uart_tx_fifo_fifo_out_payload_data;
- assign basesoc_uart_tx_fifo_syncfifo_re = basesoc_uart_tx_fifo_source_ready;
- always @(*) begin
- basesoc_uart_tx_fifo_wrport_adr <= 4'd0;
- if (basesoc_uart_tx_fifo_replace) begin
- basesoc_uart_tx_fifo_wrport_adr <= (basesoc_uart_tx_fifo_produce - 1'd1);
- end else begin
- basesoc_uart_tx_fifo_wrport_adr <= basesoc_uart_tx_fifo_produce;
- end
- end
- assign basesoc_uart_tx_fifo_wrport_dat_w = basesoc_uart_tx_fifo_syncfifo_din;
- assign basesoc_uart_tx_fifo_wrport_we = (basesoc_uart_tx_fifo_syncfifo_we & (basesoc_uart_tx_fifo_syncfifo_writable | basesoc_uart_tx_fifo_replace));
- assign basesoc_uart_tx_fifo_do_read = (basesoc_uart_tx_fifo_syncfifo_readable & basesoc_uart_tx_fifo_syncfifo_re);
- assign basesoc_uart_tx_fifo_rdport_adr = basesoc_uart_tx_fifo_consume;
- assign basesoc_uart_tx_fifo_syncfifo_dout = basesoc_uart_tx_fifo_rdport_dat_r;
- assign basesoc_uart_tx_fifo_syncfifo_writable = (basesoc_uart_tx_fifo_level != 5'd16);
- assign basesoc_uart_tx_fifo_syncfifo_readable = (basesoc_uart_tx_fifo_level != 1'd0);
- assign basesoc_uart_rx_fifo_syncfifo_din = {basesoc_uart_rx_fifo_fifo_in_last, basesoc_uart_rx_fifo_fifo_in_first, basesoc_uart_rx_fifo_fifo_in_payload_data};
- assign {basesoc_uart_rx_fifo_fifo_out_last, basesoc_uart_rx_fifo_fifo_out_first, basesoc_uart_rx_fifo_fifo_out_payload_data} = basesoc_uart_rx_fifo_syncfifo_dout;
- assign basesoc_uart_rx_fifo_sink_ready = basesoc_uart_rx_fifo_syncfifo_writable;
- assign basesoc_uart_rx_fifo_syncfifo_we = basesoc_uart_rx_fifo_sink_valid;
- assign basesoc_uart_rx_fifo_fifo_in_first = basesoc_uart_rx_fifo_sink_first;
- assign basesoc_uart_rx_fifo_fifo_in_last = basesoc_uart_rx_fifo_sink_last;
- assign basesoc_uart_rx_fifo_fifo_in_payload_data = basesoc_uart_rx_fifo_sink_payload_data;
- assign basesoc_uart_rx_fifo_source_valid = basesoc_uart_rx_fifo_syncfifo_readable;
- assign basesoc_uart_rx_fifo_source_first = basesoc_uart_rx_fifo_fifo_out_first;
- assign basesoc_uart_rx_fifo_source_last = basesoc_uart_rx_fifo_fifo_out_last;
- assign basesoc_uart_rx_fifo_source_payload_data = basesoc_uart_rx_fifo_fifo_out_payload_data;
- assign basesoc_uart_rx_fifo_syncfifo_re = basesoc_uart_rx_fifo_source_ready;
- always @(*) begin
- basesoc_uart_rx_fifo_wrport_adr <= 4'd0;
- if (basesoc_uart_rx_fifo_replace) begin
- basesoc_uart_rx_fifo_wrport_adr <= (basesoc_uart_rx_fifo_produce - 1'd1);
- end else begin
- basesoc_uart_rx_fifo_wrport_adr <= basesoc_uart_rx_fifo_produce;
- end
- end
- assign basesoc_uart_rx_fifo_wrport_dat_w = basesoc_uart_rx_fifo_syncfifo_din;
- assign basesoc_uart_rx_fifo_wrport_we = (basesoc_uart_rx_fifo_syncfifo_we & (basesoc_uart_rx_fifo_syncfifo_writable | basesoc_uart_rx_fifo_replace));
- assign basesoc_uart_rx_fifo_do_read = (basesoc_uart_rx_fifo_syncfifo_readable & basesoc_uart_rx_fifo_syncfifo_re);
- assign basesoc_uart_rx_fifo_rdport_adr = basesoc_uart_rx_fifo_consume;
- assign basesoc_uart_rx_fifo_syncfifo_dout = basesoc_uart_rx_fifo_rdport_dat_r;
- assign basesoc_uart_rx_fifo_syncfifo_writable = (basesoc_uart_rx_fifo_level != 5'd16);
- assign basesoc_uart_rx_fifo_syncfifo_readable = (basesoc_uart_rx_fifo_level != 1'd0);
- assign basesoc_timer0_zero_trigger = (basesoc_timer0_value != 1'd0);
- assign basesoc_timer0_eventmanager_status_w = basesoc_timer0_zero_status;
- always @(*) begin
- basesoc_timer0_zero_clear <= 1'd0;
- if ((basesoc_timer0_eventmanager_pending_re & basesoc_timer0_eventmanager_pending_r)) begin
- basesoc_timer0_zero_clear <= 1'd1;
- end
- end
- assign basesoc_timer0_eventmanager_pending_w = basesoc_timer0_zero_pending;
- assign basesoc_timer0_irq = (basesoc_timer0_eventmanager_pending_w & basesoc_timer0_eventmanager_storage);
- assign basesoc_timer0_zero_status = basesoc_timer0_zero_trigger;
- assign sdram_clock = clk100;
- assign sys_clk = clk100;
- assign sys_ps_clk = clk100;
- assign drive_dq = d_dfi_wrdata_en;
- assign dfi_p0_rddata_valid = rddata_sr[3];
- assign dfi_p0_address = sdram_master_p0_address;
- assign dfi_p0_bank = sdram_master_p0_bank;
- assign dfi_p0_cas_n = sdram_master_p0_cas_n;
- assign dfi_p0_cs_n = sdram_master_p0_cs_n;
- assign dfi_p0_ras_n = sdram_master_p0_ras_n;
- assign dfi_p0_we_n = sdram_master_p0_we_n;
- assign dfi_p0_cke = sdram_master_p0_cke;
- assign dfi_p0_odt = sdram_master_p0_odt;
- assign dfi_p0_reset_n = sdram_master_p0_reset_n;
- assign dfi_p0_wrdata = sdram_master_p0_wrdata;
- assign dfi_p0_wrdata_en = sdram_master_p0_wrdata_en;
- assign dfi_p0_wrdata_mask = sdram_master_p0_wrdata_mask;
- assign dfi_p0_rddata_en = sdram_master_p0_rddata_en;
- assign sdram_master_p0_rddata = dfi_p0_rddata;
- assign sdram_master_p0_rddata_valid = dfi_p0_rddata_valid;
- assign sdram_slave_p0_address = sdram_dfi_p0_address;
- assign sdram_slave_p0_bank = sdram_dfi_p0_bank;
- assign sdram_slave_p0_cas_n = sdram_dfi_p0_cas_n;
- assign sdram_slave_p0_cs_n = sdram_dfi_p0_cs_n;
- assign sdram_slave_p0_ras_n = sdram_dfi_p0_ras_n;
- assign sdram_slave_p0_we_n = sdram_dfi_p0_we_n;
- assign sdram_slave_p0_cke = sdram_dfi_p0_cke;
- assign sdram_slave_p0_odt = sdram_dfi_p0_odt;
- assign sdram_slave_p0_reset_n = sdram_dfi_p0_reset_n;
- assign sdram_slave_p0_wrdata = sdram_dfi_p0_wrdata;
- assign sdram_slave_p0_wrdata_en = sdram_dfi_p0_wrdata_en;
- assign sdram_slave_p0_wrdata_mask = sdram_dfi_p0_wrdata_mask;
- assign sdram_slave_p0_rddata_en = sdram_dfi_p0_rddata_en;
- assign sdram_dfi_p0_rddata = sdram_slave_p0_rddata;
- assign sdram_dfi_p0_rddata_valid = sdram_slave_p0_rddata_valid;
- always @(*) begin
- sdram_slave_p0_rddata <= 8'd0;
- sdram_slave_p0_rddata_valid <= 1'd0;
- sdram_master_p0_address <= 13'd0;
- sdram_master_p0_bank <= 2'd0;
- sdram_master_p0_cas_n <= 1'd1;
- sdram_master_p0_cs_n <= 1'd1;
- sdram_master_p0_ras_n <= 1'd1;
- sdram_master_p0_we_n <= 1'd1;
- sdram_master_p0_cke <= 1'd0;
- sdram_master_p0_odt <= 1'd0;
- sdram_master_p0_reset_n <= 1'd0;
- sdram_master_p0_wrdata <= 8'd0;
- sdram_master_p0_wrdata_en <= 1'd0;
- sdram_master_p0_wrdata_mask <= 1'd0;
- sdram_inti_p0_rddata <= 8'd0;
- sdram_master_p0_rddata_en <= 1'd0;
- sdram_inti_p0_rddata_valid <= 1'd0;
- if (sdram_storage[0]) begin
- sdram_master_p0_address <= sdram_slave_p0_address;
- sdram_master_p0_bank <= sdram_slave_p0_bank;
- sdram_master_p0_cas_n <= sdram_slave_p0_cas_n;
- sdram_master_p0_cs_n <= sdram_slave_p0_cs_n;
- sdram_master_p0_ras_n <= sdram_slave_p0_ras_n;
- sdram_master_p0_we_n <= sdram_slave_p0_we_n;
- sdram_master_p0_cke <= sdram_slave_p0_cke;
- sdram_master_p0_odt <= sdram_slave_p0_odt;
- sdram_master_p0_reset_n <= sdram_slave_p0_reset_n;
- sdram_master_p0_wrdata <= sdram_slave_p0_wrdata;
- sdram_master_p0_wrdata_en <= sdram_slave_p0_wrdata_en;
- sdram_master_p0_wrdata_mask <= sdram_slave_p0_wrdata_mask;
- sdram_master_p0_rddata_en <= sdram_slave_p0_rddata_en;
- sdram_slave_p0_rddata <= sdram_master_p0_rddata;
- sdram_slave_p0_rddata_valid <= sdram_master_p0_rddata_valid;
- end else begin
- sdram_master_p0_address <= sdram_inti_p0_address;
- sdram_master_p0_bank <= sdram_inti_p0_bank;
- sdram_master_p0_cas_n <= sdram_inti_p0_cas_n;
- sdram_master_p0_cs_n <= sdram_inti_p0_cs_n;
- sdram_master_p0_ras_n <= sdram_inti_p0_ras_n;
- sdram_master_p0_we_n <= sdram_inti_p0_we_n;
- sdram_master_p0_cke <= sdram_inti_p0_cke;
- sdram_master_p0_odt <= sdram_inti_p0_odt;
- sdram_master_p0_reset_n <= sdram_inti_p0_reset_n;
- sdram_master_p0_wrdata <= sdram_inti_p0_wrdata;
- sdram_master_p0_wrdata_en <= sdram_inti_p0_wrdata_en;
- sdram_master_p0_wrdata_mask <= sdram_inti_p0_wrdata_mask;
- sdram_master_p0_rddata_en <= sdram_inti_p0_rddata_en;
- sdram_inti_p0_rddata <= sdram_master_p0_rddata;
- sdram_inti_p0_rddata_valid <= sdram_master_p0_rddata_valid;
- end
- end
- assign sdram_inti_p0_cke = sdram_storage[1];
- assign sdram_inti_p0_odt = sdram_storage[2];
- assign sdram_inti_p0_reset_n = sdram_storage[3];
- always @(*) begin
- sdram_inti_p0_cas_n <= 1'd1;
- sdram_inti_p0_cs_n <= 1'd1;
- sdram_inti_p0_ras_n <= 1'd1;
- sdram_inti_p0_we_n <= 1'd1;
- if (sdram_command_issue_re) begin
- sdram_inti_p0_cs_n <= (~sdram_command_storage[0]);
- sdram_inti_p0_we_n <= (~sdram_command_storage[1]);
- sdram_inti_p0_cas_n <= (~sdram_command_storage[2]);
- sdram_inti_p0_ras_n <= (~sdram_command_storage[3]);
- end else begin
- sdram_inti_p0_cs_n <= 1'd1;
- sdram_inti_p0_we_n <= 1'd1;
- sdram_inti_p0_cas_n <= 1'd1;
- sdram_inti_p0_ras_n <= 1'd1;
- end
- end
- assign sdram_inti_p0_address = sdram_address_storage;
- assign sdram_inti_p0_bank = sdram_baddress_storage;
- assign sdram_inti_p0_wrdata_en = (sdram_command_issue_re & sdram_command_storage[4]);
- assign sdram_inti_p0_rddata_en = (sdram_command_issue_re & sdram_command_storage[5]);
- assign sdram_inti_p0_wrdata = sdram_wrdata_storage;
- assign sdram_inti_p0_wrdata_mask = 1'd0;
- assign sdram_bankmachine0_req_valid = sdram_interface_bank0_valid;
- assign sdram_interface_bank0_ready = sdram_bankmachine0_req_ready;
- assign sdram_bankmachine0_req_we = sdram_interface_bank0_we;
- assign sdram_bankmachine0_req_adr = sdram_interface_bank0_adr;
- assign sdram_interface_bank0_lock = sdram_bankmachine0_req_lock;
- assign sdram_interface_bank0_wdata_ready = sdram_bankmachine0_req_wdata_ready;
- assign sdram_interface_bank0_rdata_valid = sdram_bankmachine0_req_rdata_valid;
- assign sdram_bankmachine1_req_valid = sdram_interface_bank1_valid;
- assign sdram_interface_bank1_ready = sdram_bankmachine1_req_ready;
- assign sdram_bankmachine1_req_we = sdram_interface_bank1_we;
- assign sdram_bankmachine1_req_adr = sdram_interface_bank1_adr;
- assign sdram_interface_bank1_lock = sdram_bankmachine1_req_lock;
- assign sdram_interface_bank1_wdata_ready = sdram_bankmachine1_req_wdata_ready;
- assign sdram_interface_bank1_rdata_valid = sdram_bankmachine1_req_rdata_valid;
- assign sdram_bankmachine2_req_valid = sdram_interface_bank2_valid;
- assign sdram_interface_bank2_ready = sdram_bankmachine2_req_ready;
- assign sdram_bankmachine2_req_we = sdram_interface_bank2_we;
- assign sdram_bankmachine2_req_adr = sdram_interface_bank2_adr;
- assign sdram_interface_bank2_lock = sdram_bankmachine2_req_lock;
- assign sdram_interface_bank2_wdata_ready = sdram_bankmachine2_req_wdata_ready;
- assign sdram_interface_bank2_rdata_valid = sdram_bankmachine2_req_rdata_valid;
- assign sdram_bankmachine3_req_valid = sdram_interface_bank3_valid;
- assign sdram_interface_bank3_ready = sdram_bankmachine3_req_ready;
- assign sdram_bankmachine3_req_we = sdram_interface_bank3_we;
- assign sdram_bankmachine3_req_adr = sdram_interface_bank3_adr;
- assign sdram_interface_bank3_lock = sdram_bankmachine3_req_lock;
- assign sdram_interface_bank3_wdata_ready = sdram_bankmachine3_req_wdata_ready;
- assign sdram_interface_bank3_rdata_valid = sdram_bankmachine3_req_rdata_valid;
- assign sdram_wait = (1'd1 & (~sdram_done));
- assign sdram_done = (sdram_count == 1'd0);
- always @(*) begin
- sdram_cmd_valid <= 1'd0;
- refresher_next_state <= 2'd0;
- sdram_cmd_last <= 1'd0;
- sdram_seq_start <= 1'd0;
- refresher_next_state <= refresher_state;
- case (refresher_state)
- 1'd1: begin
- sdram_cmd_valid <= 1'd1;
- if (sdram_cmd_ready) begin
- sdram_seq_start <= 1'd1;
- refresher_next_state <= 2'd2;
- end
- end
- 2'd2: begin
- if (sdram_seq_done) begin
- sdram_cmd_last <= 1'd1;
- refresher_next_state <= 1'd0;
- end else begin
- sdram_cmd_valid <= 1'd1;
- end
- end
- default: begin
- if (sdram_done) begin
- refresher_next_state <= 1'd1;
- end
- end
- endcase
- end
- assign sdram_bankmachine0_sink_valid = sdram_bankmachine0_req_valid;
- assign sdram_bankmachine0_req_ready = sdram_bankmachine0_sink_ready;
- assign sdram_bankmachine0_sink_payload_we = sdram_bankmachine0_req_we;
- assign sdram_bankmachine0_sink_payload_adr = sdram_bankmachine0_req_adr;
- assign sdram_bankmachine0_source_ready = (sdram_bankmachine0_req_wdata_ready | sdram_bankmachine0_req_rdata_valid);
- assign sdram_bankmachine0_req_lock = sdram_bankmachine0_source_valid;
- assign sdram_bankmachine0_hit = (sdram_bankmachine0_openrow == sdram_bankmachine0_source_payload_adr[22:10]);
- assign sdram_bankmachine0_cmd_payload_ba = 1'd0;
- always @(*) begin
- sdram_bankmachine0_cmd_payload_a <= 13'd0;
- if (sdram_bankmachine0_sel_row_adr) begin
- sdram_bankmachine0_cmd_payload_a <= sdram_bankmachine0_source_payload_adr[22:10];
- end else begin
- sdram_bankmachine0_cmd_payload_a <= {sdram_bankmachine0_source_payload_adr[9:0], {0{1'd0}}};
- end
- end
- assign sdram_bankmachine0_wait = (~((sdram_bankmachine0_cmd_valid & sdram_bankmachine0_cmd_ready) & sdram_bankmachine0_cmd_payload_is_write));
- assign sdram_bankmachine0_syncfifo0_din = {sdram_bankmachine0_fifo_in_last, sdram_bankmachine0_fifo_in_first, sdram_bankmachine0_fifo_in_payload_adr, sdram_bankmachine0_fifo_in_payload_we};
- assign {sdram_bankmachine0_fifo_out_last, sdram_bankmachine0_fifo_out_first, sdram_bankmachine0_fifo_out_payload_adr, sdram_bankmachine0_fifo_out_payload_we} = sdram_bankmachine0_syncfifo0_dout;
- assign sdram_bankmachine0_sink_ready = sdram_bankmachine0_syncfifo0_writable;
- assign sdram_bankmachine0_syncfifo0_we = sdram_bankmachine0_sink_valid;
- assign sdram_bankmachine0_fifo_in_first = sdram_bankmachine0_sink_first;
- assign sdram_bankmachine0_fifo_in_last = sdram_bankmachine0_sink_last;
- assign sdram_bankmachine0_fifo_in_payload_we = sdram_bankmachine0_sink_payload_we;
- assign sdram_bankmachine0_fifo_in_payload_adr = sdram_bankmachine0_sink_payload_adr;
- assign sdram_bankmachine0_source_valid = sdram_bankmachine0_syncfifo0_readable;
- assign sdram_bankmachine0_source_first = sdram_bankmachine0_fifo_out_first;
- assign sdram_bankmachine0_source_last = sdram_bankmachine0_fifo_out_last;
- assign sdram_bankmachine0_source_payload_we = sdram_bankmachine0_fifo_out_payload_we;
- assign sdram_bankmachine0_source_payload_adr = sdram_bankmachine0_fifo_out_payload_adr;
- assign sdram_bankmachine0_syncfifo0_re = sdram_bankmachine0_source_ready;
- always @(*) begin
- sdram_bankmachine0_wrport_adr <= 3'd0;
- if (sdram_bankmachine0_replace) begin
- sdram_bankmachine0_wrport_adr <= (sdram_bankmachine0_produce - 1'd1);
- end else begin
- sdram_bankmachine0_wrport_adr <= sdram_bankmachine0_produce;
- end
- end
- assign sdram_bankmachine0_wrport_dat_w = sdram_bankmachine0_syncfifo0_din;
- assign sdram_bankmachine0_wrport_we = (sdram_bankmachine0_syncfifo0_we & (sdram_bankmachine0_syncfifo0_writable | sdram_bankmachine0_replace));
- assign sdram_bankmachine0_do_read = (sdram_bankmachine0_syncfifo0_readable & sdram_bankmachine0_syncfifo0_re);
- assign sdram_bankmachine0_rdport_adr = sdram_bankmachine0_consume;
- assign sdram_bankmachine0_syncfifo0_dout = sdram_bankmachine0_rdport_dat_r;
- assign sdram_bankmachine0_syncfifo0_writable = (sdram_bankmachine0_level != 4'd8);
- assign sdram_bankmachine0_syncfifo0_readable = (sdram_bankmachine0_level != 1'd0);
- assign sdram_bankmachine0_done = (sdram_bankmachine0_count == 1'd0);
- always @(*) begin
- sdram_bankmachine0_track_open <= 1'd0;
- sdram_bankmachine0_track_close <= 1'd0;
- sdram_bankmachine0_cmd_payload_cas <= 1'd0;
- sdram_bankmachine0_cmd_payload_ras <= 1'd0;
- sdram_bankmachine0_cmd_payload_we <= 1'd0;
- sdram_bankmachine0_sel_row_adr <= 1'd0;
- sdram_bankmachine0_cmd_payload_is_cmd <= 1'd0;
- sdram_bankmachine0_cmd_payload_is_read <= 1'd0;
- sdram_bankmachine0_cmd_payload_is_write <= 1'd0;
- sdram_bankmachine0_req_wdata_ready <= 1'd0;
- sdram_bankmachine0_req_rdata_valid <= 1'd0;
- sdram_bankmachine0_refresh_gnt <= 1'd0;
- sdram_bankmachine0_cmd_valid <= 1'd0;
- bankmachine0_next_state <= 3'd0;
- bankmachine0_next_state <= bankmachine0_state;
- case (bankmachine0_state)
- 1'd1: begin
- if (sdram_bankmachine0_done) begin
- sdram_bankmachine0_cmd_valid <= 1'd1;
- if (sdram_bankmachine0_cmd_ready) begin
- bankmachine0_next_state <= 3'd4;
- end
- sdram_bankmachine0_cmd_payload_ras <= 1'd1;
- sdram_bankmachine0_cmd_payload_we <= 1'd1;
- sdram_bankmachine0_cmd_payload_is_cmd <= 1'd1;
- end
- sdram_bankmachine0_track_close <= 1'd1;
- end
- 2'd2: begin
- sdram_bankmachine0_sel_row_adr <= 1'd1;
- sdram_bankmachine0_track_open <= 1'd1;
- sdram_bankmachine0_cmd_valid <= 1'd1;
- sdram_bankmachine0_cmd_payload_is_cmd <= 1'd1;
- if (sdram_bankmachine0_cmd_ready) begin
- bankmachine0_next_state <= 3'd5;
- end
- sdram_bankmachine0_cmd_payload_ras <= 1'd1;
- end
- 2'd3: begin
- if (sdram_bankmachine0_done) begin
- sdram_bankmachine0_refresh_gnt <= 1'd1;
- end
- sdram_bankmachine0_track_close <= 1'd1;
- sdram_bankmachine0_cmd_payload_is_cmd <= 1'd1;
- if ((~sdram_bankmachine0_refresh_req)) begin
- bankmachine0_next_state <= 1'd0;
- end
- end
- 3'd4: begin
- bankmachine0_next_state <= 2'd2;
- end
- 3'd5: begin
- bankmachine0_next_state <= 1'd0;
- end
- default: begin
- if (sdram_bankmachine0_refresh_req) begin
- bankmachine0_next_state <= 2'd3;
- end else begin
- if (sdram_bankmachine0_source_valid) begin
- if (sdram_bankmachine0_has_openrow) begin
- if (sdram_bankmachine0_hit) begin
- sdram_bankmachine0_cmd_valid <= 1'd1;
- if (sdram_bankmachine0_source_payload_we) begin
- sdram_bankmachine0_req_wdata_ready <= sdram_bankmachine0_cmd_ready;
- sdram_bankmachine0_cmd_payload_is_write <= 1'd1;
- sdram_bankmachine0_cmd_payload_we <= 1'd1;
- end else begin
- sdram_bankmachine0_req_rdata_valid <= sdram_bankmachine0_cmd_ready;
- sdram_bankmachine0_cmd_payload_is_read <= 1'd1;
- end
- sdram_bankmachine0_cmd_payload_cas <= 1'd1;
- end else begin
- bankmachine0_next_state <= 1'd1;
- end
- end else begin
- bankmachine0_next_state <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- assign sdram_bankmachine1_sink_valid = sdram_bankmachine1_req_valid;
- assign sdram_bankmachine1_req_ready = sdram_bankmachine1_sink_ready;
- assign sdram_bankmachine1_sink_payload_we = sdram_bankmachine1_req_we;
- assign sdram_bankmachine1_sink_payload_adr = sdram_bankmachine1_req_adr;
- assign sdram_bankmachine1_source_ready = (sdram_bankmachine1_req_wdata_ready | sdram_bankmachine1_req_rdata_valid);
- assign sdram_bankmachine1_req_lock = sdram_bankmachine1_source_valid;
- assign sdram_bankmachine1_hit = (sdram_bankmachine1_openrow == sdram_bankmachine1_source_payload_adr[22:10]);
- assign sdram_bankmachine1_cmd_payload_ba = 1'd1;
- always @(*) begin
- sdram_bankmachine1_cmd_payload_a <= 13'd0;
- if (sdram_bankmachine1_sel_row_adr) begin
- sdram_bankmachine1_cmd_payload_a <= sdram_bankmachine1_source_payload_adr[22:10];
- end else begin
- sdram_bankmachine1_cmd_payload_a <= {sdram_bankmachine1_source_payload_adr[9:0], {0{1'd0}}};
- end
- end
- assign sdram_bankmachine1_wait = (~((sdram_bankmachine1_cmd_valid & sdram_bankmachine1_cmd_ready) & sdram_bankmachine1_cmd_payload_is_write));
- assign sdram_bankmachine1_syncfifo1_din = {sdram_bankmachine1_fifo_in_last, sdram_bankmachine1_fifo_in_first, sdram_bankmachine1_fifo_in_payload_adr, sdram_bankmachine1_fifo_in_payload_we};
- assign {sdram_bankmachine1_fifo_out_last, sdram_bankmachine1_fifo_out_first, sdram_bankmachine1_fifo_out_payload_adr, sdram_bankmachine1_fifo_out_payload_we} = sdram_bankmachine1_syncfifo1_dout;
- assign sdram_bankmachine1_sink_ready = sdram_bankmachine1_syncfifo1_writable;
- assign sdram_bankmachine1_syncfifo1_we = sdram_bankmachine1_sink_valid;
- assign sdram_bankmachine1_fifo_in_first = sdram_bankmachine1_sink_first;
- assign sdram_bankmachine1_fifo_in_last = sdram_bankmachine1_sink_last;
- assign sdram_bankmachine1_fifo_in_payload_we = sdram_bankmachine1_sink_payload_we;
- assign sdram_bankmachine1_fifo_in_payload_adr = sdram_bankmachine1_sink_payload_adr;
- assign sdram_bankmachine1_source_valid = sdram_bankmachine1_syncfifo1_readable;
- assign sdram_bankmachine1_source_first = sdram_bankmachine1_fifo_out_first;
- assign sdram_bankmachine1_source_last = sdram_bankmachine1_fifo_out_last;
- assign sdram_bankmachine1_source_payload_we = sdram_bankmachine1_fifo_out_payload_we;
- assign sdram_bankmachine1_source_payload_adr = sdram_bankmachine1_fifo_out_payload_adr;
- assign sdram_bankmachine1_syncfifo1_re = sdram_bankmachine1_source_ready;
- always @(*) begin
- sdram_bankmachine1_wrport_adr <= 3'd0;
- if (sdram_bankmachine1_replace) begin
- sdram_bankmachine1_wrport_adr <= (sdram_bankmachine1_produce - 1'd1);
- end else begin
- sdram_bankmachine1_wrport_adr <= sdram_bankmachine1_produce;
- end
- end
- assign sdram_bankmachine1_wrport_dat_w = sdram_bankmachine1_syncfifo1_din;
- assign sdram_bankmachine1_wrport_we = (sdram_bankmachine1_syncfifo1_we & (sdram_bankmachine1_syncfifo1_writable | sdram_bankmachine1_replace));
- assign sdram_bankmachine1_do_read = (sdram_bankmachine1_syncfifo1_readable & sdram_bankmachine1_syncfifo1_re);
- assign sdram_bankmachine1_rdport_adr = sdram_bankmachine1_consume;
- assign sdram_bankmachine1_syncfifo1_dout = sdram_bankmachine1_rdport_dat_r;
- assign sdram_bankmachine1_syncfifo1_writable = (sdram_bankmachine1_level != 4'd8);
- assign sdram_bankmachine1_syncfifo1_readable = (sdram_bankmachine1_level != 1'd0);
- assign sdram_bankmachine1_done = (sdram_bankmachine1_count == 1'd0);
- always @(*) begin
- sdram_bankmachine1_req_wdata_ready <= 1'd0;
- sdram_bankmachine1_req_rdata_valid <= 1'd0;
- sdram_bankmachine1_refresh_gnt <= 1'd0;
- sdram_bankmachine1_cmd_valid <= 1'd0;
- sdram_bankmachine1_track_open <= 1'd0;
- bankmachine1_next_state <= 3'd0;
- sdram_bankmachine1_track_close <= 1'd0;
- sdram_bankmachine1_cmd_payload_ras <= 1'd0;
- sdram_bankmachine1_cmd_payload_cas <= 1'd0;
- sdram_bankmachine1_cmd_payload_we <= 1'd0;
- sdram_bankmachine1_sel_row_adr <= 1'd0;
- sdram_bankmachine1_cmd_payload_is_cmd <= 1'd0;
- sdram_bankmachine1_cmd_payload_is_read <= 1'd0;
- sdram_bankmachine1_cmd_payload_is_write <= 1'd0;
- bankmachine1_next_state <= bankmachine1_state;
- case (bankmachine1_state)
- 1'd1: begin
- if (sdram_bankmachine1_done) begin
- sdram_bankmachine1_cmd_valid <= 1'd1;
- if (sdram_bankmachine1_cmd_ready) begin
- bankmachine1_next_state <= 3'd4;
- end
- sdram_bankmachine1_cmd_payload_ras <= 1'd1;
- sdram_bankmachine1_cmd_payload_we <= 1'd1;
- sdram_bankmachine1_cmd_payload_is_cmd <= 1'd1;
- end
- sdram_bankmachine1_track_close <= 1'd1;
- end
- 2'd2: begin
- sdram_bankmachine1_sel_row_adr <= 1'd1;
- sdram_bankmachine1_track_open <= 1'd1;
- sdram_bankmachine1_cmd_valid <= 1'd1;
- sdram_bankmachine1_cmd_payload_is_cmd <= 1'd1;
- if (sdram_bankmachine1_cmd_ready) begin
- bankmachine1_next_state <= 3'd5;
- end
- sdram_bankmachine1_cmd_payload_ras <= 1'd1;
- end
- 2'd3: begin
- if (sdram_bankmachine1_done) begin
- sdram_bankmachine1_refresh_gnt <= 1'd1;
- end
- sdram_bankmachine1_track_close <= 1'd1;
- sdram_bankmachine1_cmd_payload_is_cmd <= 1'd1;
- if ((~sdram_bankmachine1_refresh_req)) begin
- bankmachine1_next_state <= 1'd0;
- end
- end
- 3'd4: begin
- bankmachine1_next_state <= 2'd2;
- end
- 3'd5: begin
- bankmachine1_next_state <= 1'd0;
- end
- default: begin
- if (sdram_bankmachine1_refresh_req) begin
- bankmachine1_next_state <= 2'd3;
- end else begin
- if (sdram_bankmachine1_source_valid) begin
- if (sdram_bankmachine1_has_openrow) begin
- if (sdram_bankmachine1_hit) begin
- sdram_bankmachine1_cmd_valid <= 1'd1;
- if (sdram_bankmachine1_source_payload_we) begin
- sdram_bankmachine1_req_wdata_ready <= sdram_bankmachine1_cmd_ready;
- sdram_bankmachine1_cmd_payload_is_write <= 1'd1;
- sdram_bankmachine1_cmd_payload_we <= 1'd1;
- end else begin
- sdram_bankmachine1_req_rdata_valid <= sdram_bankmachine1_cmd_ready;
- sdram_bankmachine1_cmd_payload_is_read <= 1'd1;
- end
- sdram_bankmachine1_cmd_payload_cas <= 1'd1;
- end else begin
- bankmachine1_next_state <= 1'd1;
- end
- end else begin
- bankmachine1_next_state <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- assign sdram_bankmachine2_sink_valid = sdram_bankmachine2_req_valid;
- assign sdram_bankmachine2_req_ready = sdram_bankmachine2_sink_ready;
- assign sdram_bankmachine2_sink_payload_we = sdram_bankmachine2_req_we;
- assign sdram_bankmachine2_sink_payload_adr = sdram_bankmachine2_req_adr;
- assign sdram_bankmachine2_source_ready = (sdram_bankmachine2_req_wdata_ready | sdram_bankmachine2_req_rdata_valid);
- assign sdram_bankmachine2_req_lock = sdram_bankmachine2_source_valid;
- assign sdram_bankmachine2_hit = (sdram_bankmachine2_openrow == sdram_bankmachine2_source_payload_adr[22:10]);
- assign sdram_bankmachine2_cmd_payload_ba = 2'd2;
- always @(*) begin
- sdram_bankmachine2_cmd_payload_a <= 13'd0;
- if (sdram_bankmachine2_sel_row_adr) begin
- sdram_bankmachine2_cmd_payload_a <= sdram_bankmachine2_source_payload_adr[22:10];
- end else begin
- sdram_bankmachine2_cmd_payload_a <= {sdram_bankmachine2_source_payload_adr[9:0], {0{1'd0}}};
- end
- end
- assign sdram_bankmachine2_wait = (~((sdram_bankmachine2_cmd_valid & sdram_bankmachine2_cmd_ready) & sdram_bankmachine2_cmd_payload_is_write));
- assign sdram_bankmachine2_syncfifo2_din = {sdram_bankmachine2_fifo_in_last, sdram_bankmachine2_fifo_in_first, sdram_bankmachine2_fifo_in_payload_adr, sdram_bankmachine2_fifo_in_payload_we};
- assign {sdram_bankmachine2_fifo_out_last, sdram_bankmachine2_fifo_out_first, sdram_bankmachine2_fifo_out_payload_adr, sdram_bankmachine2_fifo_out_payload_we} = sdram_bankmachine2_syncfifo2_dout;
- assign sdram_bankmachine2_sink_ready = sdram_bankmachine2_syncfifo2_writable;
- assign sdram_bankmachine2_syncfifo2_we = sdram_bankmachine2_sink_valid;
- assign sdram_bankmachine2_fifo_in_first = sdram_bankmachine2_sink_first;
- assign sdram_bankmachine2_fifo_in_last = sdram_bankmachine2_sink_last;
- assign sdram_bankmachine2_fifo_in_payload_we = sdram_bankmachine2_sink_payload_we;
- assign sdram_bankmachine2_fifo_in_payload_adr = sdram_bankmachine2_sink_payload_adr;
- assign sdram_bankmachine2_source_valid = sdram_bankmachine2_syncfifo2_readable;
- assign sdram_bankmachine2_source_first = sdram_bankmachine2_fifo_out_first;
- assign sdram_bankmachine2_source_last = sdram_bankmachine2_fifo_out_last;
- assign sdram_bankmachine2_source_payload_we = sdram_bankmachine2_fifo_out_payload_we;
- assign sdram_bankmachine2_source_payload_adr = sdram_bankmachine2_fifo_out_payload_adr;
- assign sdram_bankmachine2_syncfifo2_re = sdram_bankmachine2_source_ready;
- always @(*) begin
- sdram_bankmachine2_wrport_adr <= 3'd0;
- if (sdram_bankmachine2_replace) begin
- sdram_bankmachine2_wrport_adr <= (sdram_bankmachine2_produce - 1'd1);
- end else begin
- sdram_bankmachine2_wrport_adr <= sdram_bankmachine2_produce;
- end
- end
- assign sdram_bankmachine2_wrport_dat_w = sdram_bankmachine2_syncfifo2_din;
- assign sdram_bankmachine2_wrport_we = (sdram_bankmachine2_syncfifo2_we & (sdram_bankmachine2_syncfifo2_writable | sdram_bankmachine2_replace));
- assign sdram_bankmachine2_do_read = (sdram_bankmachine2_syncfifo2_readable & sdram_bankmachine2_syncfifo2_re);
- assign sdram_bankmachine2_rdport_adr = sdram_bankmachine2_consume;
- assign sdram_bankmachine2_syncfifo2_dout = sdram_bankmachine2_rdport_dat_r;
- assign sdram_bankmachine2_syncfifo2_writable = (sdram_bankmachine2_level != 4'd8);
- assign sdram_bankmachine2_syncfifo2_readable = (sdram_bankmachine2_level != 1'd0);
- assign sdram_bankmachine2_done = (sdram_bankmachine2_count == 1'd0);
- always @(*) begin
- sdram_bankmachine2_track_close <= 1'd0;
- sdram_bankmachine2_cmd_payload_cas <= 1'd0;
- sdram_bankmachine2_cmd_payload_ras <= 1'd0;
- sdram_bankmachine2_cmd_payload_we <= 1'd0;
- sdram_bankmachine2_sel_row_adr <= 1'd0;
- sdram_bankmachine2_cmd_payload_is_cmd <= 1'd0;
- sdram_bankmachine2_cmd_payload_is_read <= 1'd0;
- bankmachine2_next_state <= 3'd0;
- sdram_bankmachine2_cmd_payload_is_write <= 1'd0;
- sdram_bankmachine2_req_wdata_ready <= 1'd0;
- sdram_bankmachine2_req_rdata_valid <= 1'd0;
- sdram_bankmachine2_refresh_gnt <= 1'd0;
- sdram_bankmachine2_cmd_valid <= 1'd0;
- sdram_bankmachine2_track_open <= 1'd0;
- bankmachine2_next_state <= bankmachine2_state;
- case (bankmachine2_state)
- 1'd1: begin
- if (sdram_bankmachine2_done) begin
- sdram_bankmachine2_cmd_valid <= 1'd1;
- if (sdram_bankmachine2_cmd_ready) begin
- bankmachine2_next_state <= 3'd4;
- end
- sdram_bankmachine2_cmd_payload_ras <= 1'd1;
- sdram_bankmachine2_cmd_payload_we <= 1'd1;
- sdram_bankmachine2_cmd_payload_is_cmd <= 1'd1;
- end
- sdram_bankmachine2_track_close <= 1'd1;
- end
- 2'd2: begin
- sdram_bankmachine2_sel_row_adr <= 1'd1;
- sdram_bankmachine2_track_open <= 1'd1;
- sdram_bankmachine2_cmd_valid <= 1'd1;
- sdram_bankmachine2_cmd_payload_is_cmd <= 1'd1;
- if (sdram_bankmachine2_cmd_ready) begin
- bankmachine2_next_state <= 3'd5;
- end
- sdram_bankmachine2_cmd_payload_ras <= 1'd1;
- end
- 2'd3: begin
- if (sdram_bankmachine2_done) begin
- sdram_bankmachine2_refresh_gnt <= 1'd1;
- end
- sdram_bankmachine2_track_close <= 1'd1;
- sdram_bankmachine2_cmd_payload_is_cmd <= 1'd1;
- if ((~sdram_bankmachine2_refresh_req)) begin
- bankmachine2_next_state <= 1'd0;
- end
- end
- 3'd4: begin
- bankmachine2_next_state <= 2'd2;
- end
- 3'd5: begin
- bankmachine2_next_state <= 1'd0;
- end
- default: begin
- if (sdram_bankmachine2_refresh_req) begin
- bankmachine2_next_state <= 2'd3;
- end else begin
- if (sdram_bankmachine2_source_valid) begin
- if (sdram_bankmachine2_has_openrow) begin
- if (sdram_bankmachine2_hit) begin
- sdram_bankmachine2_cmd_valid <= 1'd1;
- if (sdram_bankmachine2_source_payload_we) begin
- sdram_bankmachine2_req_wdata_ready <= sdram_bankmachine2_cmd_ready;
- sdram_bankmachine2_cmd_payload_is_write <= 1'd1;
- sdram_bankmachine2_cmd_payload_we <= 1'd1;
- end else begin
- sdram_bankmachine2_req_rdata_valid <= sdram_bankmachine2_cmd_ready;
- sdram_bankmachine2_cmd_payload_is_read <= 1'd1;
- end
- sdram_bankmachine2_cmd_payload_cas <= 1'd1;
- end else begin
- bankmachine2_next_state <= 1'd1;
- end
- end else begin
- bankmachine2_next_state <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- assign sdram_bankmachine3_sink_valid = sdram_bankmachine3_req_valid;
- assign sdram_bankmachine3_req_ready = sdram_bankmachine3_sink_ready;
- assign sdram_bankmachine3_sink_payload_we = sdram_bankmachine3_req_we;
- assign sdram_bankmachine3_sink_payload_adr = sdram_bankmachine3_req_adr;
- assign sdram_bankmachine3_source_ready = (sdram_bankmachine3_req_wdata_ready | sdram_bankmachine3_req_rdata_valid);
- assign sdram_bankmachine3_req_lock = sdram_bankmachine3_source_valid;
- assign sdram_bankmachine3_hit = (sdram_bankmachine3_openrow == sdram_bankmachine3_source_payload_adr[22:10]);
- assign sdram_bankmachine3_cmd_payload_ba = 2'd3;
- always @(*) begin
- sdram_bankmachine3_cmd_payload_a <= 13'd0;
- if (sdram_bankmachine3_sel_row_adr) begin
- sdram_bankmachine3_cmd_payload_a <= sdram_bankmachine3_source_payload_adr[22:10];
- end else begin
- sdram_bankmachine3_cmd_payload_a <= {sdram_bankmachine3_source_payload_adr[9:0], {0{1'd0}}};
- end
- end
- assign sdram_bankmachine3_wait = (~((sdram_bankmachine3_cmd_valid & sdram_bankmachine3_cmd_ready) & sdram_bankmachine3_cmd_payload_is_write));
- assign sdram_bankmachine3_syncfifo3_din = {sdram_bankmachine3_fifo_in_last, sdram_bankmachine3_fifo_in_first, sdram_bankmachine3_fifo_in_payload_adr, sdram_bankmachine3_fifo_in_payload_we};
- assign {sdram_bankmachine3_fifo_out_last, sdram_bankmachine3_fifo_out_first, sdram_bankmachine3_fifo_out_payload_adr, sdram_bankmachine3_fifo_out_payload_we} = sdram_bankmachine3_syncfifo3_dout;
- assign sdram_bankmachine3_sink_ready = sdram_bankmachine3_syncfifo3_writable;
- assign sdram_bankmachine3_syncfifo3_we = sdram_bankmachine3_sink_valid;
- assign sdram_bankmachine3_fifo_in_first = sdram_bankmachine3_sink_first;
- assign sdram_bankmachine3_fifo_in_last = sdram_bankmachine3_sink_last;
- assign sdram_bankmachine3_fifo_in_payload_we = sdram_bankmachine3_sink_payload_we;
- assign sdram_bankmachine3_fifo_in_payload_adr = sdram_bankmachine3_sink_payload_adr;
- assign sdram_bankmachine3_source_valid = sdram_bankmachine3_syncfifo3_readable;
- assign sdram_bankmachine3_source_first = sdram_bankmachine3_fifo_out_first;
- assign sdram_bankmachine3_source_last = sdram_bankmachine3_fifo_out_last;
- assign sdram_bankmachine3_source_payload_we = sdram_bankmachine3_fifo_out_payload_we;
- assign sdram_bankmachine3_source_payload_adr = sdram_bankmachine3_fifo_out_payload_adr;
- assign sdram_bankmachine3_syncfifo3_re = sdram_bankmachine3_source_ready;
- always @(*) begin
- sdram_bankmachine3_wrport_adr <= 3'd0;
- if (sdram_bankmachine3_replace) begin
- sdram_bankmachine3_wrport_adr <= (sdram_bankmachine3_produce - 1'd1);
- end else begin
- sdram_bankmachine3_wrport_adr <= sdram_bankmachine3_produce;
- end
- end
- assign sdram_bankmachine3_wrport_dat_w = sdram_bankmachine3_syncfifo3_din;
- assign sdram_bankmachine3_wrport_we = (sdram_bankmachine3_syncfifo3_we & (sdram_bankmachine3_syncfifo3_writable | sdram_bankmachine3_replace));
- assign sdram_bankmachine3_do_read = (sdram_bankmachine3_syncfifo3_readable & sdram_bankmachine3_syncfifo3_re);
- assign sdram_bankmachine3_rdport_adr = sdram_bankmachine3_consume;
- assign sdram_bankmachine3_syncfifo3_dout = sdram_bankmachine3_rdport_dat_r;
- assign sdram_bankmachine3_syncfifo3_writable = (sdram_bankmachine3_level != 4'd8);
- assign sdram_bankmachine3_syncfifo3_readable = (sdram_bankmachine3_level != 1'd0);
- assign sdram_bankmachine3_done = (sdram_bankmachine3_count == 1'd0);
- always @(*) begin
- bankmachine3_next_state <= 3'd0;
- sdram_bankmachine3_cmd_valid <= 1'd0;
- sdram_bankmachine3_track_open <= 1'd0;
- sdram_bankmachine3_track_close <= 1'd0;
- sdram_bankmachine3_cmd_payload_cas <= 1'd0;
- sdram_bankmachine3_cmd_payload_ras <= 1'd0;
- sdram_bankmachine3_cmd_payload_we <= 1'd0;
- sdram_bankmachine3_sel_row_adr <= 1'd0;
- sdram_bankmachine3_cmd_payload_is_cmd <= 1'd0;
- sdram_bankmachine3_cmd_payload_is_read <= 1'd0;
- sdram_bankmachine3_cmd_payload_is_write <= 1'd0;
- sdram_bankmachine3_req_wdata_ready <= 1'd0;
- sdram_bankmachine3_req_rdata_valid <= 1'd0;
- sdram_bankmachine3_refresh_gnt <= 1'd0;
- bankmachine3_next_state <= bankmachine3_state;
- case (bankmachine3_state)
- 1'd1: begin
- if (sdram_bankmachine3_done) begin
- sdram_bankmachine3_cmd_valid <= 1'd1;
- if (sdram_bankmachine3_cmd_ready) begin
- bankmachine3_next_state <= 3'd4;
- end
- sdram_bankmachine3_cmd_payload_ras <= 1'd1;
- sdram_bankmachine3_cmd_payload_we <= 1'd1;
- sdram_bankmachine3_cmd_payload_is_cmd <= 1'd1;
- end
- sdram_bankmachine3_track_close <= 1'd1;
- end
- 2'd2: begin
- sdram_bankmachine3_sel_row_adr <= 1'd1;
- sdram_bankmachine3_track_open <= 1'd1;
- sdram_bankmachine3_cmd_valid <= 1'd1;
- sdram_bankmachine3_cmd_payload_is_cmd <= 1'd1;
- if (sdram_bankmachine3_cmd_ready) begin
- bankmachine3_next_state <= 3'd5;
- end
- sdram_bankmachine3_cmd_payload_ras <= 1'd1;
- end
- 2'd3: begin
- if (sdram_bankmachine3_done) begin
- sdram_bankmachine3_refresh_gnt <= 1'd1;
- end
- sdram_bankmachine3_track_close <= 1'd1;
- sdram_bankmachine3_cmd_payload_is_cmd <= 1'd1;
- if ((~sdram_bankmachine3_refresh_req)) begin
- bankmachine3_next_state <= 1'd0;
- end
- end
- 3'd4: begin
- bankmachine3_next_state <= 2'd2;
- end
- 3'd5: begin
- bankmachine3_next_state <= 1'd0;
- end
- default: begin
- if (sdram_bankmachine3_refresh_req) begin
- bankmachine3_next_state <= 2'd3;
- end else begin
- if (sdram_bankmachine3_source_valid) begin
- if (sdram_bankmachine3_has_openrow) begin
- if (sdram_bankmachine3_hit) begin
- sdram_bankmachine3_cmd_valid <= 1'd1;
- if (sdram_bankmachine3_source_payload_we) begin
- sdram_bankmachine3_req_wdata_ready <= sdram_bankmachine3_cmd_ready;
- sdram_bankmachine3_cmd_payload_is_write <= 1'd1;
- sdram_bankmachine3_cmd_payload_we <= 1'd1;
- end else begin
- sdram_bankmachine3_req_rdata_valid <= sdram_bankmachine3_cmd_ready;
- sdram_bankmachine3_cmd_payload_is_read <= 1'd1;
- end
- sdram_bankmachine3_cmd_payload_cas <= 1'd1;
- end else begin
- bankmachine3_next_state <= 1'd1;
- end
- end else begin
- bankmachine3_next_state <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- assign sdram_choose_cmd_want_cmds = 1'd1;
- assign sdram_choose_req_want_cmds = 1'd1;
- assign sdram_read_available = ((((sdram_bankmachine0_cmd_valid & sdram_bankmachine0_cmd_payload_is_read) | (sdram_bankmachine1_cmd_valid & sdram_bankmachine1_cmd_payload_is_read)) | (sdram_bankmachine2_cmd_valid & sdram_bankmachine2_cmd_payload_is_read)) | (sdram_bankmachine3_cmd_valid & sdram_bankmachine3_cmd_payload_is_read));
- assign sdram_write_available = ((((sdram_bankmachine0_cmd_valid & sdram_bankmachine0_cmd_payload_is_write) | (sdram_bankmachine1_cmd_valid & sdram_bankmachine1_cmd_payload_is_write)) | (sdram_bankmachine2_cmd_valid & sdram_bankmachine2_cmd_payload_is_write)) | (sdram_bankmachine3_cmd_valid & sdram_bankmachine3_cmd_payload_is_write));
- assign sdram_max_time0 = (sdram_time0 == 1'd0);
- assign sdram_max_time1 = (sdram_time1 == 1'd0);
- assign sdram_bankmachine0_refresh_req = sdram_cmd_valid;
- assign sdram_bankmachine1_refresh_req = sdram_cmd_valid;
- assign sdram_bankmachine2_refresh_req = sdram_cmd_valid;
- assign sdram_bankmachine3_refresh_req = sdram_cmd_valid;
- assign sdram_go_to_refresh = (((sdram_bankmachine0_refresh_gnt & sdram_bankmachine1_refresh_gnt) & sdram_bankmachine2_refresh_gnt) & sdram_bankmachine3_refresh_gnt);
- assign sdram_interface_rdata = {sdram_dfi_p0_rddata};
- assign {sdram_dfi_p0_wrdata} = sdram_interface_wdata;
- assign {sdram_dfi_p0_wrdata_mask} = (~sdram_interface_wdata_we);
- always @(*) begin
- sdram_choose_cmd_valids <= 4'd0;
- sdram_choose_cmd_valids[0] <= (sdram_bankmachine0_cmd_valid & ((sdram_bankmachine0_cmd_payload_is_cmd & sdram_choose_cmd_want_cmds) | ((sdram_bankmachine0_cmd_payload_is_read == sdram_choose_cmd_want_reads) & (sdram_bankmachine0_cmd_payload_is_write == sdram_choose_cmd_want_writes))));
- sdram_choose_cmd_valids[1] <= (sdram_bankmachine1_cmd_valid & ((sdram_bankmachine1_cmd_payload_is_cmd & sdram_choose_cmd_want_cmds) | ((sdram_bankmachine1_cmd_payload_is_read == sdram_choose_cmd_want_reads) & (sdram_bankmachine1_cmd_payload_is_write == sdram_choose_cmd_want_writes))));
- sdram_choose_cmd_valids[2] <= (sdram_bankmachine2_cmd_valid & ((sdram_bankmachine2_cmd_payload_is_cmd & sdram_choose_cmd_want_cmds) | ((sdram_bankmachine2_cmd_payload_is_read == sdram_choose_cmd_want_reads) & (sdram_bankmachine2_cmd_payload_is_write == sdram_choose_cmd_want_writes))));
- sdram_choose_cmd_valids[3] <= (sdram_bankmachine3_cmd_valid & ((sdram_bankmachine3_cmd_payload_is_cmd & sdram_choose_cmd_want_cmds) | ((sdram_bankmachine3_cmd_payload_is_read == sdram_choose_cmd_want_reads) & (sdram_bankmachine3_cmd_payload_is_write == sdram_choose_cmd_want_writes))));
- end
- assign sdram_choose_cmd_request = sdram_choose_cmd_valids;
- assign sdram_choose_cmd_cmd_valid = rhs_array_muxed0;
- assign sdram_choose_cmd_cmd_payload_a = rhs_array_muxed1;
- assign sdram_choose_cmd_cmd_payload_ba = rhs_array_muxed2;
- assign sdram_choose_cmd_cmd_payload_is_read = rhs_array_muxed3;
- assign sdram_choose_cmd_cmd_payload_is_write = rhs_array_muxed4;
- assign sdram_choose_cmd_cmd_payload_is_cmd = rhs_array_muxed5;
- always @(*) begin
- sdram_choose_cmd_cmd_payload_cas <= 1'd0;
- if (sdram_choose_cmd_cmd_valid) begin
- sdram_choose_cmd_cmd_payload_cas <= t_array_muxed0;
- end
- end
- always @(*) begin
- sdram_choose_cmd_cmd_payload_ras <= 1'd0;
- if (sdram_choose_cmd_cmd_valid) begin
- sdram_choose_cmd_cmd_payload_ras <= t_array_muxed1;
- end
- end
- always @(*) begin
- sdram_choose_cmd_cmd_payload_we <= 1'd0;
- if (sdram_choose_cmd_cmd_valid) begin
- sdram_choose_cmd_cmd_payload_we <= t_array_muxed2;
- end
- end
- assign sdram_choose_cmd_ce = sdram_choose_cmd_cmd_ready;
- always @(*) begin
- sdram_choose_req_valids <= 4'd0;
- sdram_choose_req_valids[0] <= (sdram_bankmachine0_cmd_valid & ((sdram_bankmachine0_cmd_payload_is_cmd & sdram_choose_req_want_cmds) | ((sdram_bankmachine0_cmd_payload_is_read == sdram_choose_req_want_reads) & (sdram_bankmachine0_cmd_payload_is_write == sdram_choose_req_want_writes))));
- sdram_choose_req_valids[1] <= (sdram_bankmachine1_cmd_valid & ((sdram_bankmachine1_cmd_payload_is_cmd & sdram_choose_req_want_cmds) | ((sdram_bankmachine1_cmd_payload_is_read == sdram_choose_req_want_reads) & (sdram_bankmachine1_cmd_payload_is_write == sdram_choose_req_want_writes))));
- sdram_choose_req_valids[2] <= (sdram_bankmachine2_cmd_valid & ((sdram_bankmachine2_cmd_payload_is_cmd & sdram_choose_req_want_cmds) | ((sdram_bankmachine2_cmd_payload_is_read == sdram_choose_req_want_reads) & (sdram_bankmachine2_cmd_payload_is_write == sdram_choose_req_want_writes))));
- sdram_choose_req_valids[3] <= (sdram_bankmachine3_cmd_valid & ((sdram_bankmachine3_cmd_payload_is_cmd & sdram_choose_req_want_cmds) | ((sdram_bankmachine3_cmd_payload_is_read == sdram_choose_req_want_reads) & (sdram_bankmachine3_cmd_payload_is_write == sdram_choose_req_want_writes))));
- end
- assign sdram_choose_req_request = sdram_choose_req_valids;
- assign sdram_choose_req_cmd_valid = rhs_array_muxed6;
- assign sdram_choose_req_cmd_payload_a = rhs_array_muxed7;
- assign sdram_choose_req_cmd_payload_ba = rhs_array_muxed8;
- assign sdram_choose_req_cmd_payload_is_read = rhs_array_muxed9;
- assign sdram_choose_req_cmd_payload_is_write = rhs_array_muxed10;
- assign sdram_choose_req_cmd_payload_is_cmd = rhs_array_muxed11;
- always @(*) begin
- sdram_choose_req_cmd_payload_cas <= 1'd0;
- if (sdram_choose_req_cmd_valid) begin
- sdram_choose_req_cmd_payload_cas <= t_array_muxed3;
- end
- end
- always @(*) begin
- sdram_choose_req_cmd_payload_ras <= 1'd0;
- if (sdram_choose_req_cmd_valid) begin
- sdram_choose_req_cmd_payload_ras <= t_array_muxed4;
- end
- end
- always @(*) begin
- sdram_choose_req_cmd_payload_we <= 1'd0;
- if (sdram_choose_req_cmd_valid) begin
- sdram_choose_req_cmd_payload_we <= t_array_muxed5;
- end
- end
- always @(*) begin
- sdram_bankmachine0_cmd_ready <= 1'd0;
- if (((sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_ready) & (sdram_choose_cmd_grant == 1'd0))) begin
- sdram_bankmachine0_cmd_ready <= 1'd1;
- end
- if (((sdram_choose_req_cmd_valid & sdram_choose_req_cmd_ready) & (sdram_choose_req_grant == 1'd0))) begin
- sdram_bankmachine0_cmd_ready <= 1'd1;
- end
- end
- always @(*) begin
- sdram_bankmachine1_cmd_ready <= 1'd0;
- if (((sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_ready) & (sdram_choose_cmd_grant == 1'd1))) begin
- sdram_bankmachine1_cmd_ready <= 1'd1;
- end
- if (((sdram_choose_req_cmd_valid & sdram_choose_req_cmd_ready) & (sdram_choose_req_grant == 1'd1))) begin
- sdram_bankmachine1_cmd_ready <= 1'd1;
- end
- end
- always @(*) begin
- sdram_bankmachine2_cmd_ready <= 1'd0;
- if (((sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_ready) & (sdram_choose_cmd_grant == 2'd2))) begin
- sdram_bankmachine2_cmd_ready <= 1'd1;
- end
- if (((sdram_choose_req_cmd_valid & sdram_choose_req_cmd_ready) & (sdram_choose_req_grant == 2'd2))) begin
- sdram_bankmachine2_cmd_ready <= 1'd1;
- end
- end
- always @(*) begin
- sdram_bankmachine3_cmd_ready <= 1'd0;
- if (((sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_ready) & (sdram_choose_cmd_grant == 2'd3))) begin
- sdram_bankmachine3_cmd_ready <= 1'd1;
- end
- if (((sdram_choose_req_cmd_valid & sdram_choose_req_cmd_ready) & (sdram_choose_req_grant == 2'd3))) begin
- sdram_bankmachine3_cmd_ready <= 1'd1;
- end
- end
- assign sdram_choose_req_ce = sdram_choose_req_cmd_ready;
- assign sdram_dfi_p0_cke = 1'd1;
- assign sdram_dfi_p0_cs_n = 1'd0;
- assign sdram_dfi_p0_odt = 1'd1;
- assign sdram_dfi_p0_reset_n = 1'd1;
- always @(*) begin
- sdram_choose_req_cmd_ready <= 1'd0;
- sdram_choose_cmd_cmd_ready <= 1'd0;
- sdram_cmd_ready <= 1'd0;
- sdram_sel <= 2'd0;
- sdram_choose_req_want_writes <= 1'd0;
- sdram_en0 <= 1'd0;
- multiplexer_next_state <= 3'd0;
- sdram_choose_req_want_reads <= 1'd0;
- sdram_en1 <= 1'd0;
- multiplexer_next_state <= multiplexer_state;
- case (multiplexer_state)
- 1'd1: begin
- sdram_en1 <= 1'd1;
- sdram_choose_req_want_writes <= 1'd1;
- sdram_choose_cmd_cmd_ready <= 1'd1;
- sdram_choose_req_cmd_ready <= 1'd1;
- sdram_sel <= 2'd2;
- if (sdram_read_available) begin
- if (((~sdram_write_available) | sdram_max_time1)) begin
- multiplexer_next_state <= 3'd6;
- end
- end
- if (sdram_go_to_refresh) begin
- multiplexer_next_state <= 2'd2;
- end
- end
- 2'd2: begin
- sdram_sel <= 2'd3;
- sdram_cmd_ready <= 1'd1;
- if (sdram_cmd_last) begin
- multiplexer_next_state <= 1'd0;
- end
- end
- 2'd3: begin
- multiplexer_next_state <= 3'd4;
- end
- 3'd4: begin
- multiplexer_next_state <= 3'd5;
- end
- 3'd5: begin
- multiplexer_next_state <= 1'd1;
- end
- 3'd6: begin
- multiplexer_next_state <= 1'd0;
- end
- default: begin
- sdram_en0 <= 1'd1;
- sdram_choose_req_want_reads <= 1'd1;
- sdram_choose_cmd_cmd_ready <= 1'd1;
- sdram_choose_req_cmd_ready <= 1'd1;
- sdram_sel <= 2'd2;
- if (sdram_write_available) begin
- if (((~sdram_read_available) | sdram_max_time0)) begin
- multiplexer_next_state <= 2'd3;
- end
- end
- if (sdram_go_to_refresh) begin
- multiplexer_next_state <= 2'd2;
- end
- end
- endcase
- end
- assign cba = port_cmd_payload_adr[11:10];
- assign rca = {port_cmd_payload_adr[24:12], port_cmd_payload_adr[9:0]};
- assign roundrobin0_request = {(((cba == 1'd0) & (~(((1'd0 | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid)};
- assign roundrobin0_ce = ((~sdram_interface_bank0_valid) & (~sdram_interface_bank0_lock));
- assign sdram_interface_bank0_adr = rhs_array_muxed12;
- assign sdram_interface_bank0_we = rhs_array_muxed13;
- assign sdram_interface_bank0_valid = rhs_array_muxed14;
- assign roundrobin1_request = {(((cba == 1'd1) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid)};
- assign roundrobin1_ce = ((~sdram_interface_bank1_valid) & (~sdram_interface_bank1_lock));
- assign sdram_interface_bank1_adr = rhs_array_muxed15;
- assign sdram_interface_bank1_we = rhs_array_muxed16;
- assign sdram_interface_bank1_valid = rhs_array_muxed17;
- assign roundrobin2_request = {(((cba == 2'd2) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid)};
- assign roundrobin2_ce = ((~sdram_interface_bank2_valid) & (~sdram_interface_bank2_lock));
- assign sdram_interface_bank2_adr = rhs_array_muxed18;
- assign sdram_interface_bank2_we = rhs_array_muxed19;
- assign sdram_interface_bank2_valid = rhs_array_muxed20;
- assign roundrobin3_request = {(((cba == 2'd3) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))))) & port_cmd_valid)};
- assign roundrobin3_ce = ((~sdram_interface_bank3_valid) & (~sdram_interface_bank3_lock));
- assign sdram_interface_bank3_adr = rhs_array_muxed21;
- assign sdram_interface_bank3_we = rhs_array_muxed22;
- assign sdram_interface_bank3_valid = rhs_array_muxed23;
- assign port_cmd_ready = ((((1'd0 | (((roundrobin0_grant == 1'd0) & ((cba == 1'd0) & (~(((1'd0 | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0)))))) & sdram_interface_bank0_ready)) | (((roundrobin1_grant == 1'd0) & ((cba == 1'd1) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0)))))) & sdram_interface_bank1_ready)) | (((roundrobin2_grant == 1'd0) & ((cba == 2'd2) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0)))))) & sdram_interface_bank2_ready)) | (((roundrobin3_grant == 1'd0) & ((cba == 2'd3) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0)))))) & sdram_interface_bank3_ready));
- assign port_wdata_ready = new_master_wdata_ready;
- assign port_rdata_valid = new_master_rdata_valid4;
- always @(*) begin
- sdram_interface_wdata <= 8'd0;
- sdram_interface_wdata_we <= 1'd0;
- case ({new_master_wdata_ready})
- 1'd1: begin
- sdram_interface_wdata <= port_wdata_payload_data;
- sdram_interface_wdata_we <= port_wdata_payload_we;
- end
- default: begin
- sdram_interface_wdata <= 1'd0;
- sdram_interface_wdata_we <= 1'd0;
- end
- endcase
- end
- assign port_rdata_payload_data = sdram_interface_rdata;
- assign roundrobin0_grant = 1'd0;
- assign roundrobin1_grant = 1'd0;
- assign roundrobin2_grant = 1'd0;
- assign roundrobin3_grant = 1'd0;
- assign cache_data_port_adr = interface0_wb_sdram_adr[10:0];
- always @(*) begin
- cache_data_port_dat_w <= 32'd0;
- cache_data_port_we <= 4'd0;
- if (cache_write_from_slave) begin
- cache_data_port_dat_w <= {({8{(cache == 2'd3)}} & interface_dat_r), ({8{(cache == 2'd2)}} & interface_dat_r), ({8{(cache == 1'd1)}} & interface_dat_r), ({8{(cache == 1'd0)}} & interface_dat_r)};
- cache_data_port_we <= {({1{(cache == 2'd3)}} & {1{1'd1}}), ({1{(cache == 2'd2)}} & {1{1'd1}}), ({1{(cache == 1'd1)}} & {1{1'd1}}), ({1{(cache == 1'd0)}} & {1{1'd1}})};
- end else begin
- cache_data_port_dat_w <= {1{interface0_wb_sdram_dat_w}};
- if ((((interface0_wb_sdram_cyc & interface0_wb_sdram_stb) & interface0_wb_sdram_we) & interface0_wb_sdram_ack)) begin
- cache_data_port_we <= interface0_wb_sdram_sel;
- end
- end
- end
- always @(*) begin
- interface_dat_w <= 8'd0;
- case (cache)
- 1'd0: begin
- interface_dat_w <= cache_data_port_dat_r[7:0];
- end
- 1'd1: begin
- interface_dat_w <= cache_data_port_dat_r[15:8];
- end
- 2'd2: begin
- interface_dat_w <= cache_data_port_dat_r[23:16];
- end
- default: begin
- interface_dat_w <= cache_data_port_dat_r[31:24];
- end
- endcase
- end
- assign interface_sel = 1'd1;
- assign interface0_wb_sdram_dat_r = cache_data_port_dat_r;
- assign {cache_tag_do_dirty, cache_tag_do_tag} = cache_tag_port_dat_r;
- assign cache_tag_port_dat_w = {cache_tag_di_dirty, cache_tag_di_tag};
- assign cache_tag_port_adr = interface0_wb_sdram_adr[10:0];
- assign cache_tag_di_tag = interface0_wb_sdram_adr[29:11];
- assign interface_adr = {cache_tag_do_tag, interface0_wb_sdram_adr[10:0], cache};
- always @(*) begin
- cache_write_from_slave <= 1'd0;
- interface_cyc <= 1'd0;
- cache_next_state <= 3'd0;
- cache_tag_di_dirty <= 1'd0;
- interface_stb <= 1'd0;
- cache_word_clr <= 1'd0;
- interface_we <= 1'd0;
- cache_word_inc <= 1'd0;
- interface0_wb_sdram_ack <= 1'd0;
- cache_tag_port_we <= 1'd0;
- cache_next_state <= cache_state;
- case (cache_state)
- 1'd1: begin
- cache_word_clr <= 1'd1;
- if ((cache_tag_do_tag == interface0_wb_sdram_adr[29:11])) begin
- interface0_wb_sdram_ack <= 1'd1;
- if (interface0_wb_sdram_we) begin
- cache_tag_di_dirty <= 1'd1;
- cache_tag_port_we <= 1'd1;
- end
- cache_next_state <= 1'd0;
- end else begin
- if (cache_tag_do_dirty) begin
- cache_next_state <= 2'd2;
- end else begin
- cache_next_state <= 2'd3;
- end
- end
- end
- 2'd2: begin
- interface_stb <= 1'd1;
- interface_cyc <= 1'd1;
- interface_we <= 1'd1;
- if (interface_ack) begin
- cache_word_inc <= 1'd1;
- if ((cache == 2'd3)) begin
- cache_next_state <= 2'd3;
- end
- end
- end
- 2'd3: begin
- cache_tag_port_we <= 1'd1;
- cache_word_clr <= 1'd1;
- cache_next_state <= 3'd4;
- end
- 3'd4: begin
- interface_stb <= 1'd1;
- interface_cyc <= 1'd1;
- interface_we <= 1'd0;
- if (interface_ack) begin
- cache_write_from_slave <= 1'd1;
- cache_word_inc <= 1'd1;
- if ((cache == 2'd3)) begin
- cache_next_state <= 1'd1;
- end else begin
- cache_next_state <= 3'd4;
- end
- end
- end
- default: begin
- if ((interface0_wb_sdram_cyc & interface0_wb_sdram_stb)) begin
- cache_next_state <= 1'd1;
- end
- end
- endcase
- end
- assign port_cmd_payload_adr = interface_adr;
- assign port_wdata_payload_we = interface_sel;
- assign port_wdata_payload_data = interface_dat_w;
- assign interface_dat_r = port_rdata_payload_data;
- always @(*) begin
- litedramwishbonebridge_next_state <= 2'd0;
- port_cmd_payload_we <= 1'd0;
- port_rdata_ready <= 1'd0;
- port_cmd_valid <= 1'd0;
- port_wdata_valid <= 1'd0;
- interface_ack <= 1'd0;
- litedramwishbonebridge_next_state <= litedramwishbonebridge_state;
- case (litedramwishbonebridge_state)
- 1'd1: begin
- port_cmd_valid <= 1'd1;
- port_cmd_payload_we <= interface_we;
- if (port_cmd_ready) begin
- if (interface_we) begin
- litedramwishbonebridge_next_state <= 2'd2;
- end else begin
- litedramwishbonebridge_next_state <= 2'd3;
- end
- end
- end
- 2'd2: begin
- port_wdata_valid <= 1'd1;
- if (port_wdata_ready) begin
- interface_ack <= 1'd1;
- litedramwishbonebridge_next_state <= 1'd0;
- end
- end
- 2'd3: begin
- port_rdata_ready <= 1'd1;
- if (port_rdata_valid) begin
- interface_ack <= 1'd1;
- litedramwishbonebridge_next_state <= 1'd0;
- end
- end
- default: begin
- if ((interface_cyc & interface_stb)) begin
- litedramwishbonebridge_next_state <= 1'd1;
- end
- end
- endcase
- end
- assign interface0_wb_sdram_adr = rhs_array_muxed24;
- assign interface0_wb_sdram_dat_w = rhs_array_muxed25;
- assign interface0_wb_sdram_sel = rhs_array_muxed26;
- assign interface0_wb_sdram_cyc = rhs_array_muxed27;
- assign interface0_wb_sdram_stb = rhs_array_muxed28;
- assign interface0_wb_sdram_we = rhs_array_muxed29;
- assign interface0_wb_sdram_cti = rhs_array_muxed30;
- assign interface0_wb_sdram_bte = rhs_array_muxed31;
- assign interface1_wb_sdram_dat_r = interface0_wb_sdram_dat_r;
- assign interface1_wb_sdram_ack = (interface0_wb_sdram_ack & (wb_sdram_con_grant == 1'd0));
- assign interface1_wb_sdram_err = (interface0_wb_sdram_err & (wb_sdram_con_grant == 1'd0));
- assign wb_sdram_con_request = {interface1_wb_sdram_cyc};
- assign wb_sdram_con_grant = 1'd0;
- assign basesoc_shared_adr = rhs_array_muxed32;
- assign basesoc_shared_dat_w = rhs_array_muxed33;
- assign basesoc_shared_sel = rhs_array_muxed34;
- assign basesoc_shared_cyc = rhs_array_muxed35;
- assign basesoc_shared_stb = rhs_array_muxed36;
- assign basesoc_shared_we = rhs_array_muxed37;
- assign basesoc_shared_cti = rhs_array_muxed38;
- assign basesoc_shared_bte = rhs_array_muxed39;
- assign basesoc_picorv32_ibus_dat_r = basesoc_shared_dat_r;
- assign basesoc_picorv32_dbus_dat_r = basesoc_shared_dat_r;
- assign basesoc_picorv32_ibus_ack = (basesoc_shared_ack & (basesoc_grant == 1'd0));
- assign basesoc_picorv32_dbus_ack = (basesoc_shared_ack & (basesoc_grant == 1'd1));
- assign basesoc_picorv32_ibus_err = (basesoc_shared_err & (basesoc_grant == 1'd0));
- assign basesoc_picorv32_dbus_err = (basesoc_shared_err & (basesoc_grant == 1'd1));
- assign basesoc_request = {basesoc_picorv32_dbus_cyc, basesoc_picorv32_ibus_cyc};
- always @(*) begin
- basesoc_slave_sel <= 4'd0;
- basesoc_slave_sel[0] <= (basesoc_shared_adr[28:26] == 1'd0);
- basesoc_slave_sel[1] <= (basesoc_shared_adr[28:26] == 1'd1);
- basesoc_slave_sel[2] <= (basesoc_shared_adr[28:26] == 3'd6);
- basesoc_slave_sel[3] <= (basesoc_shared_adr[28:26] == 3'd4);
- end
- assign basesoc_rom_bus_adr = basesoc_shared_adr;
- assign basesoc_rom_bus_dat_w = basesoc_shared_dat_w;
- assign basesoc_rom_bus_sel = basesoc_shared_sel;
- assign basesoc_rom_bus_stb = basesoc_shared_stb;
- assign basesoc_rom_bus_we = basesoc_shared_we;
- assign basesoc_rom_bus_cti = basesoc_shared_cti;
- assign basesoc_rom_bus_bte = basesoc_shared_bte;
- assign basesoc_sram_bus_adr = basesoc_shared_adr;
- assign basesoc_sram_bus_dat_w = basesoc_shared_dat_w;
- assign basesoc_sram_bus_sel = basesoc_shared_sel;
- assign basesoc_sram_bus_stb = basesoc_shared_stb;
- assign basesoc_sram_bus_we = basesoc_shared_we;
- assign basesoc_sram_bus_cti = basesoc_shared_cti;
- assign basesoc_sram_bus_bte = basesoc_shared_bte;
- assign basesoc_bus_wishbone_adr = basesoc_shared_adr;
- assign basesoc_bus_wishbone_dat_w = basesoc_shared_dat_w;
- assign basesoc_bus_wishbone_sel = basesoc_shared_sel;
- assign basesoc_bus_wishbone_stb = basesoc_shared_stb;
- assign basesoc_bus_wishbone_we = basesoc_shared_we;
- assign basesoc_bus_wishbone_cti = basesoc_shared_cti;
- assign basesoc_bus_wishbone_bte = basesoc_shared_bte;
- assign interface1_wb_sdram_adr = basesoc_shared_adr;
- assign interface1_wb_sdram_dat_w = basesoc_shared_dat_w;
- assign interface1_wb_sdram_sel = basesoc_shared_sel;
- assign interface1_wb_sdram_stb = basesoc_shared_stb;
- assign interface1_wb_sdram_we = basesoc_shared_we;
- assign interface1_wb_sdram_cti = basesoc_shared_cti;
- assign interface1_wb_sdram_bte = basesoc_shared_bte;
- assign basesoc_rom_bus_cyc = (basesoc_shared_cyc & basesoc_slave_sel[0]);
- assign basesoc_sram_bus_cyc = (basesoc_shared_cyc & basesoc_slave_sel[1]);
- assign basesoc_bus_wishbone_cyc = (basesoc_shared_cyc & basesoc_slave_sel[2]);
- assign interface1_wb_sdram_cyc = (basesoc_shared_cyc & basesoc_slave_sel[3]);
- assign basesoc_shared_ack = (((basesoc_rom_bus_ack | basesoc_sram_bus_ack) | basesoc_bus_wishbone_ack) | interface1_wb_sdram_ack);
- assign basesoc_shared_err = (((basesoc_rom_bus_err | basesoc_sram_bus_err) | basesoc_bus_wishbone_err) | interface1_wb_sdram_err);
- assign basesoc_shared_dat_r = (((({32{basesoc_slave_sel_r[0]}} & basesoc_rom_bus_dat_r) | ({32{basesoc_slave_sel_r[1]}} & basesoc_sram_bus_dat_r)) | ({32{basesoc_slave_sel_r[2]}} & basesoc_bus_wishbone_dat_r)) | ({32{basesoc_slave_sel_r[3]}} & interface1_wb_sdram_dat_r));
- assign basesoc_csrbank0_sel = (basesoc_interface0_bank_bus_adr[13:9] == 4'd8);
- assign basesoc_csrbank0_dfii_control0_r = basesoc_interface0_bank_bus_dat_w[3:0];
- assign basesoc_csrbank0_dfii_control0_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 1'd0));
- assign basesoc_csrbank0_dfii_pi0_command0_r = basesoc_interface0_bank_bus_dat_w[5:0];
- assign basesoc_csrbank0_dfii_pi0_command0_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 1'd1));
- assign sdram_command_issue_r = basesoc_interface0_bank_bus_dat_w[0];
- assign sdram_command_issue_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 2'd2));
- assign basesoc_csrbank0_dfii_pi0_address1_r = basesoc_interface0_bank_bus_dat_w[4:0];
- assign basesoc_csrbank0_dfii_pi0_address1_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 2'd3));
- assign basesoc_csrbank0_dfii_pi0_address0_r = basesoc_interface0_bank_bus_dat_w[7:0];
- assign basesoc_csrbank0_dfii_pi0_address0_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 3'd4));
- assign basesoc_csrbank0_dfii_pi0_baddress0_r = basesoc_interface0_bank_bus_dat_w[1:0];
- assign basesoc_csrbank0_dfii_pi0_baddress0_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 3'd5));
- assign basesoc_csrbank0_dfii_pi0_wrdata0_r = basesoc_interface0_bank_bus_dat_w[7:0];
- assign basesoc_csrbank0_dfii_pi0_wrdata0_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 3'd6));
- assign basesoc_csrbank0_dfii_pi0_rddata_r = basesoc_interface0_bank_bus_dat_w[7:0];
- assign basesoc_csrbank0_dfii_pi0_rddata_re = ((basesoc_csrbank0_sel & basesoc_interface0_bank_bus_we) & (basesoc_interface0_bank_bus_adr[2:0] == 3'd7));
- assign sdram_storage = sdram_storage_full[3:0];
- assign basesoc_csrbank0_dfii_control0_w = sdram_storage_full[3:0];
- assign sdram_command_storage = sdram_command_storage_full[5:0];
- assign basesoc_csrbank0_dfii_pi0_command0_w = sdram_command_storage_full[5:0];
- assign sdram_address_storage = sdram_address_storage_full[12:0];
- assign basesoc_csrbank0_dfii_pi0_address1_w = sdram_address_storage_full[12:8];
- assign basesoc_csrbank0_dfii_pi0_address0_w = sdram_address_storage_full[7:0];
- assign sdram_baddress_storage = sdram_baddress_storage_full[1:0];
- assign basesoc_csrbank0_dfii_pi0_baddress0_w = sdram_baddress_storage_full[1:0];
- assign sdram_wrdata_storage = sdram_wrdata_storage_full[7:0];
- assign basesoc_csrbank0_dfii_pi0_wrdata0_w = sdram_wrdata_storage_full[7:0];
- assign basesoc_csrbank0_dfii_pi0_rddata_w = sdram_status[7:0];
- assign basesoc_csrbank1_sel = (basesoc_interface1_bank_bus_adr[13:9] == 3'd4);
- assign basesoc_csrbank1_load3_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_load3_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 1'd0));
- assign basesoc_csrbank1_load2_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_load2_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 1'd1));
- assign basesoc_csrbank1_load1_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_load1_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 2'd2));
- assign basesoc_csrbank1_load0_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_load0_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 2'd3));
- assign basesoc_csrbank1_reload3_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_reload3_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 3'd4));
- assign basesoc_csrbank1_reload2_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_reload2_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 3'd5));
- assign basesoc_csrbank1_reload1_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_reload1_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 3'd6));
- assign basesoc_csrbank1_reload0_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_reload0_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 3'd7));
- assign basesoc_csrbank1_en0_r = basesoc_interface1_bank_bus_dat_w[0];
- assign basesoc_csrbank1_en0_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd8));
- assign basesoc_timer0_update_value_r = basesoc_interface1_bank_bus_dat_w[0];
- assign basesoc_timer0_update_value_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd9));
- assign basesoc_csrbank1_value3_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_value3_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd10));
- assign basesoc_csrbank1_value2_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_value2_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd11));
- assign basesoc_csrbank1_value1_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_value1_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd12));
- assign basesoc_csrbank1_value0_r = basesoc_interface1_bank_bus_dat_w[7:0];
- assign basesoc_csrbank1_value0_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd13));
- assign basesoc_timer0_eventmanager_status_r = basesoc_interface1_bank_bus_dat_w[0];
- assign basesoc_timer0_eventmanager_status_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd14));
- assign basesoc_timer0_eventmanager_pending_r = basesoc_interface1_bank_bus_dat_w[0];
- assign basesoc_timer0_eventmanager_pending_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 4'd15));
- assign basesoc_csrbank1_ev_enable0_r = basesoc_interface1_bank_bus_dat_w[0];
- assign basesoc_csrbank1_ev_enable0_re = ((basesoc_csrbank1_sel & basesoc_interface1_bank_bus_we) & (basesoc_interface1_bank_bus_adr[4:0] == 5'd16));
- assign basesoc_timer0_load_storage = basesoc_timer0_load_storage_full[31:0];
- assign basesoc_csrbank1_load3_w = basesoc_timer0_load_storage_full[31:24];
- assign basesoc_csrbank1_load2_w = basesoc_timer0_load_storage_full[23:16];
- assign basesoc_csrbank1_load1_w = basesoc_timer0_load_storage_full[15:8];
- assign basesoc_csrbank1_load0_w = basesoc_timer0_load_storage_full[7:0];
- assign basesoc_timer0_reload_storage = basesoc_timer0_reload_storage_full[31:0];
- assign basesoc_csrbank1_reload3_w = basesoc_timer0_reload_storage_full[31:24];
- assign basesoc_csrbank1_reload2_w = basesoc_timer0_reload_storage_full[23:16];
- assign basesoc_csrbank1_reload1_w = basesoc_timer0_reload_storage_full[15:8];
- assign basesoc_csrbank1_reload0_w = basesoc_timer0_reload_storage_full[7:0];
- assign basesoc_timer0_en_storage = basesoc_timer0_en_storage_full;
- assign basesoc_csrbank1_en0_w = basesoc_timer0_en_storage_full;
- assign basesoc_csrbank1_value3_w = basesoc_timer0_value_status[31:24];
- assign basesoc_csrbank1_value2_w = basesoc_timer0_value_status[23:16];
- assign basesoc_csrbank1_value1_w = basesoc_timer0_value_status[15:8];
- assign basesoc_csrbank1_value0_w = basesoc_timer0_value_status[7:0];
- assign basesoc_timer0_eventmanager_storage = basesoc_timer0_eventmanager_storage_full;
- assign basesoc_csrbank1_ev_enable0_w = basesoc_timer0_eventmanager_storage_full;
- assign basesoc_csrbank2_sel = (basesoc_interface2_bank_bus_adr[13:9] == 2'd2);
- assign basesoc_uart_rxtx_r = basesoc_interface2_bank_bus_dat_w[7:0];
- assign basesoc_uart_rxtx_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 1'd0));
- assign basesoc_csrbank2_txfull_r = basesoc_interface2_bank_bus_dat_w[0];
- assign basesoc_csrbank2_txfull_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 1'd1));
- assign basesoc_csrbank2_rxempty_r = basesoc_interface2_bank_bus_dat_w[0];
- assign basesoc_csrbank2_rxempty_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 2'd2));
- assign basesoc_uart_status_r = basesoc_interface2_bank_bus_dat_w[1:0];
- assign basesoc_uart_status_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 2'd3));
- assign basesoc_uart_pending_r = basesoc_interface2_bank_bus_dat_w[1:0];
- assign basesoc_uart_pending_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 3'd4));
- assign basesoc_csrbank2_ev_enable0_r = basesoc_interface2_bank_bus_dat_w[1:0];
- assign basesoc_csrbank2_ev_enable0_re = ((basesoc_csrbank2_sel & basesoc_interface2_bank_bus_we) & (basesoc_interface2_bank_bus_adr[2:0] == 3'd5));
- assign basesoc_csrbank2_txfull_w = basesoc_uart_txfull_status;
- assign basesoc_csrbank2_rxempty_w = basesoc_uart_rxempty_status;
- assign basesoc_uart_storage = basesoc_uart_storage_full[1:0];
- assign basesoc_csrbank2_ev_enable0_w = basesoc_uart_storage_full[1:0];
- assign basesoc_csrbank3_sel = (basesoc_interface3_bank_bus_adr[13:9] == 1'd1);
- assign basesoc_csrbank3_tuning_word3_r = basesoc_interface3_bank_bus_dat_w[7:0];
- assign basesoc_csrbank3_tuning_word3_re = ((basesoc_csrbank3_sel & basesoc_interface3_bank_bus_we) & (basesoc_interface3_bank_bus_adr[1:0] == 1'd0));
- assign basesoc_csrbank3_tuning_word2_r = basesoc_interface3_bank_bus_dat_w[7:0];
- assign basesoc_csrbank3_tuning_word2_re = ((basesoc_csrbank3_sel & basesoc_interface3_bank_bus_we) & (basesoc_interface3_bank_bus_adr[1:0] == 1'd1));
- assign basesoc_csrbank3_tuning_word1_r = basesoc_interface3_bank_bus_dat_w[7:0];
- assign basesoc_csrbank3_tuning_word1_re = ((basesoc_csrbank3_sel & basesoc_interface3_bank_bus_we) & (basesoc_interface3_bank_bus_adr[1:0] == 2'd2));
- assign basesoc_csrbank3_tuning_word0_r = basesoc_interface3_bank_bus_dat_w[7:0];
- assign basesoc_csrbank3_tuning_word0_re = ((basesoc_csrbank3_sel & basesoc_interface3_bank_bus_we) & (basesoc_interface3_bank_bus_adr[1:0] == 2'd3));
- assign basesoc_uart_phy_storage = basesoc_uart_phy_storage_full[31:0];
- assign basesoc_csrbank3_tuning_word3_w = basesoc_uart_phy_storage_full[31:24];
- assign basesoc_csrbank3_tuning_word2_w = basesoc_uart_phy_storage_full[23:16];
- assign basesoc_csrbank3_tuning_word1_w = basesoc_uart_phy_storage_full[15:8];
- assign basesoc_csrbank3_tuning_word0_w = basesoc_uart_phy_storage_full[7:0];
- assign basesoc_interface0_bank_bus_adr = basesoc_interface_adr;
- assign basesoc_interface1_bank_bus_adr = basesoc_interface_adr;
- assign basesoc_interface2_bank_bus_adr = basesoc_interface_adr;
- assign basesoc_interface3_bank_bus_adr = basesoc_interface_adr;
- assign basesoc_interface0_bank_bus_we = basesoc_interface_we;
- assign basesoc_interface1_bank_bus_we = basesoc_interface_we;
- assign basesoc_interface2_bank_bus_we = basesoc_interface_we;
- assign basesoc_interface3_bank_bus_we = basesoc_interface_we;
- assign basesoc_interface0_bank_bus_dat_w = basesoc_interface_dat_w;
- assign basesoc_interface1_bank_bus_dat_w = basesoc_interface_dat_w;
- assign basesoc_interface2_bank_bus_dat_w = basesoc_interface_dat_w;
- assign basesoc_interface3_bank_bus_dat_w = basesoc_interface_dat_w;
- assign basesoc_interface_dat_r = (((basesoc_interface0_bank_bus_dat_r | basesoc_interface1_bank_bus_dat_r) | basesoc_interface2_bank_bus_dat_r) | basesoc_interface3_bank_bus_dat_r);
- always @(*) begin
- rhs_array_muxed0 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed0 <= sdram_choose_cmd_valids[0];
- end
- 1'd1: begin
- rhs_array_muxed0 <= sdram_choose_cmd_valids[1];
- end
- 2'd2: begin
- rhs_array_muxed0 <= sdram_choose_cmd_valids[2];
- end
- default: begin
- rhs_array_muxed0 <= sdram_choose_cmd_valids[3];
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed1 <= 13'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed1 <= sdram_bankmachine0_cmd_payload_a;
- end
- 1'd1: begin
- rhs_array_muxed1 <= sdram_bankmachine1_cmd_payload_a;
- end
- 2'd2: begin
- rhs_array_muxed1 <= sdram_bankmachine2_cmd_payload_a;
- end
- default: begin
- rhs_array_muxed1 <= sdram_bankmachine3_cmd_payload_a;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed2 <= 2'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed2 <= sdram_bankmachine0_cmd_payload_ba;
- end
- 1'd1: begin
- rhs_array_muxed2 <= sdram_bankmachine1_cmd_payload_ba;
- end
- 2'd2: begin
- rhs_array_muxed2 <= sdram_bankmachine2_cmd_payload_ba;
- end
- default: begin
- rhs_array_muxed2 <= sdram_bankmachine3_cmd_payload_ba;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed3 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed3 <= sdram_bankmachine0_cmd_payload_is_read;
- end
- 1'd1: begin
- rhs_array_muxed3 <= sdram_bankmachine1_cmd_payload_is_read;
- end
- 2'd2: begin
- rhs_array_muxed3 <= sdram_bankmachine2_cmd_payload_is_read;
- end
- default: begin
- rhs_array_muxed3 <= sdram_bankmachine3_cmd_payload_is_read;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed4 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed4 <= sdram_bankmachine0_cmd_payload_is_write;
- end
- 1'd1: begin
- rhs_array_muxed4 <= sdram_bankmachine1_cmd_payload_is_write;
- end
- 2'd2: begin
- rhs_array_muxed4 <= sdram_bankmachine2_cmd_payload_is_write;
- end
- default: begin
- rhs_array_muxed4 <= sdram_bankmachine3_cmd_payload_is_write;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed5 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- rhs_array_muxed5 <= sdram_bankmachine0_cmd_payload_is_cmd;
- end
- 1'd1: begin
- rhs_array_muxed5 <= sdram_bankmachine1_cmd_payload_is_cmd;
- end
- 2'd2: begin
- rhs_array_muxed5 <= sdram_bankmachine2_cmd_payload_is_cmd;
- end
- default: begin
- rhs_array_muxed5 <= sdram_bankmachine3_cmd_payload_is_cmd;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed0 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- t_array_muxed0 <= sdram_bankmachine0_cmd_payload_cas;
- end
- 1'd1: begin
- t_array_muxed0 <= sdram_bankmachine1_cmd_payload_cas;
- end
- 2'd2: begin
- t_array_muxed0 <= sdram_bankmachine2_cmd_payload_cas;
- end
- default: begin
- t_array_muxed0 <= sdram_bankmachine3_cmd_payload_cas;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed1 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- t_array_muxed1 <= sdram_bankmachine0_cmd_payload_ras;
- end
- 1'd1: begin
- t_array_muxed1 <= sdram_bankmachine1_cmd_payload_ras;
- end
- 2'd2: begin
- t_array_muxed1 <= sdram_bankmachine2_cmd_payload_ras;
- end
- default: begin
- t_array_muxed1 <= sdram_bankmachine3_cmd_payload_ras;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed2 <= 1'd0;
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- t_array_muxed2 <= sdram_bankmachine0_cmd_payload_we;
- end
- 1'd1: begin
- t_array_muxed2 <= sdram_bankmachine1_cmd_payload_we;
- end
- 2'd2: begin
- t_array_muxed2 <= sdram_bankmachine2_cmd_payload_we;
- end
- default: begin
- t_array_muxed2 <= sdram_bankmachine3_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed6 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed6 <= sdram_choose_req_valids[0];
- end
- 1'd1: begin
- rhs_array_muxed6 <= sdram_choose_req_valids[1];
- end
- 2'd2: begin
- rhs_array_muxed6 <= sdram_choose_req_valids[2];
- end
- default: begin
- rhs_array_muxed6 <= sdram_choose_req_valids[3];
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed7 <= 13'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed7 <= sdram_bankmachine0_cmd_payload_a;
- end
- 1'd1: begin
- rhs_array_muxed7 <= sdram_bankmachine1_cmd_payload_a;
- end
- 2'd2: begin
- rhs_array_muxed7 <= sdram_bankmachine2_cmd_payload_a;
- end
- default: begin
- rhs_array_muxed7 <= sdram_bankmachine3_cmd_payload_a;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed8 <= 2'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed8 <= sdram_bankmachine0_cmd_payload_ba;
- end
- 1'd1: begin
- rhs_array_muxed8 <= sdram_bankmachine1_cmd_payload_ba;
- end
- 2'd2: begin
- rhs_array_muxed8 <= sdram_bankmachine2_cmd_payload_ba;
- end
- default: begin
- rhs_array_muxed8 <= sdram_bankmachine3_cmd_payload_ba;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed9 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed9 <= sdram_bankmachine0_cmd_payload_is_read;
- end
- 1'd1: begin
- rhs_array_muxed9 <= sdram_bankmachine1_cmd_payload_is_read;
- end
- 2'd2: begin
- rhs_array_muxed9 <= sdram_bankmachine2_cmd_payload_is_read;
- end
- default: begin
- rhs_array_muxed9 <= sdram_bankmachine3_cmd_payload_is_read;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed10 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed10 <= sdram_bankmachine0_cmd_payload_is_write;
- end
- 1'd1: begin
- rhs_array_muxed10 <= sdram_bankmachine1_cmd_payload_is_write;
- end
- 2'd2: begin
- rhs_array_muxed10 <= sdram_bankmachine2_cmd_payload_is_write;
- end
- default: begin
- rhs_array_muxed10 <= sdram_bankmachine3_cmd_payload_is_write;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed11 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- rhs_array_muxed11 <= sdram_bankmachine0_cmd_payload_is_cmd;
- end
- 1'd1: begin
- rhs_array_muxed11 <= sdram_bankmachine1_cmd_payload_is_cmd;
- end
- 2'd2: begin
- rhs_array_muxed11 <= sdram_bankmachine2_cmd_payload_is_cmd;
- end
- default: begin
- rhs_array_muxed11 <= sdram_bankmachine3_cmd_payload_is_cmd;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed3 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- t_array_muxed3 <= sdram_bankmachine0_cmd_payload_cas;
- end
- 1'd1: begin
- t_array_muxed3 <= sdram_bankmachine1_cmd_payload_cas;
- end
- 2'd2: begin
- t_array_muxed3 <= sdram_bankmachine2_cmd_payload_cas;
- end
- default: begin
- t_array_muxed3 <= sdram_bankmachine3_cmd_payload_cas;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed4 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- t_array_muxed4 <= sdram_bankmachine0_cmd_payload_ras;
- end
- 1'd1: begin
- t_array_muxed4 <= sdram_bankmachine1_cmd_payload_ras;
- end
- 2'd2: begin
- t_array_muxed4 <= sdram_bankmachine2_cmd_payload_ras;
- end
- default: begin
- t_array_muxed4 <= sdram_bankmachine3_cmd_payload_ras;
- end
- endcase
- end
- always @(*) begin
- t_array_muxed5 <= 1'd0;
- case (sdram_choose_req_grant)
- 1'd0: begin
- t_array_muxed5 <= sdram_bankmachine0_cmd_payload_we;
- end
- 1'd1: begin
- t_array_muxed5 <= sdram_bankmachine1_cmd_payload_we;
- end
- 2'd2: begin
- t_array_muxed5 <= sdram_bankmachine2_cmd_payload_we;
- end
- default: begin
- t_array_muxed5 <= sdram_bankmachine3_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed12 <= 23'd0;
- case (roundrobin0_grant)
- default: begin
- rhs_array_muxed12 <= rca;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed13 <= 1'd0;
- case (roundrobin0_grant)
- default: begin
- rhs_array_muxed13 <= port_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed14 <= 1'd0;
- case (roundrobin0_grant)
- default: begin
- rhs_array_muxed14 <= (((cba == 1'd0) & (~(((1'd0 | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid);
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed15 <= 23'd0;
- case (roundrobin1_grant)
- default: begin
- rhs_array_muxed15 <= rca;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed16 <= 1'd0;
- case (roundrobin1_grant)
- default: begin
- rhs_array_muxed16 <= port_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed17 <= 1'd0;
- case (roundrobin1_grant)
- default: begin
- rhs_array_muxed17 <= (((cba == 1'd1) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid);
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed18 <= 23'd0;
- case (roundrobin2_grant)
- default: begin
- rhs_array_muxed18 <= rca;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed19 <= 1'd0;
- case (roundrobin2_grant)
- default: begin
- rhs_array_muxed19 <= port_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed20 <= 1'd0;
- case (roundrobin2_grant)
- default: begin
- rhs_array_muxed20 <= (((cba == 2'd2) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank3_lock & (roundrobin3_grant == 1'd0))))) & port_cmd_valid);
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed21 <= 23'd0;
- case (roundrobin3_grant)
- default: begin
- rhs_array_muxed21 <= rca;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed22 <= 1'd0;
- case (roundrobin3_grant)
- default: begin
- rhs_array_muxed22 <= port_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed23 <= 1'd0;
- case (roundrobin3_grant)
- default: begin
- rhs_array_muxed23 <= (((cba == 2'd3) & (~(((1'd0 | (sdram_interface_bank0_lock & (roundrobin0_grant == 1'd0))) | (sdram_interface_bank1_lock & (roundrobin1_grant == 1'd0))) | (sdram_interface_bank2_lock & (roundrobin2_grant == 1'd0))))) & port_cmd_valid);
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed24 <= 30'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed24 <= interface1_wb_sdram_adr;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed25 <= 32'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed25 <= interface1_wb_sdram_dat_w;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed26 <= 4'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed26 <= interface1_wb_sdram_sel;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed27 <= 1'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed27 <= interface1_wb_sdram_cyc;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed28 <= 1'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed28 <= interface1_wb_sdram_stb;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed29 <= 1'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed29 <= interface1_wb_sdram_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed30 <= 3'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed30 <= interface1_wb_sdram_cti;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed31 <= 2'd0;
- case (wb_sdram_con_grant)
- default: begin
- rhs_array_muxed31 <= interface1_wb_sdram_bte;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed32 <= 30'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed32 <= basesoc_picorv32_ibus_adr;
- end
- default: begin
- rhs_array_muxed32 <= basesoc_picorv32_dbus_adr;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed33 <= 32'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed33 <= basesoc_picorv32_ibus_dat_w;
- end
- default: begin
- rhs_array_muxed33 <= basesoc_picorv32_dbus_dat_w;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed34 <= 4'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed34 <= basesoc_picorv32_ibus_sel;
- end
- default: begin
- rhs_array_muxed34 <= basesoc_picorv32_dbus_sel;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed35 <= 1'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed35 <= basesoc_picorv32_ibus_cyc;
- end
- default: begin
- rhs_array_muxed35 <= basesoc_picorv32_dbus_cyc;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed36 <= 1'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed36 <= basesoc_picorv32_ibus_stb;
- end
- default: begin
- rhs_array_muxed36 <= basesoc_picorv32_dbus_stb;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed37 <= 1'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed37 <= basesoc_picorv32_ibus_we;
- end
- default: begin
- rhs_array_muxed37 <= basesoc_picorv32_dbus_we;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed38 <= 3'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed38 <= basesoc_picorv32_ibus_cti;
- end
- default: begin
- rhs_array_muxed38 <= basesoc_picorv32_dbus_cti;
- end
- endcase
- end
- always @(*) begin
- rhs_array_muxed39 <= 2'd0;
- case (basesoc_grant)
- 1'd0: begin
- rhs_array_muxed39 <= basesoc_picorv32_ibus_bte;
- end
- default: begin
- rhs_array_muxed39 <= basesoc_picorv32_dbus_bte;
- end
- endcase
- end
- always @(*) begin
- array_muxed0 <= 13'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed0 <= sdram_nop_a;
- end
- 1'd1: begin
- array_muxed0 <= sdram_choose_cmd_cmd_payload_a;
- end
- 2'd2: begin
- array_muxed0 <= sdram_choose_req_cmd_payload_a;
- end
- default: begin
- array_muxed0 <= sdram_cmd_payload_a;
- end
- endcase
- end
- always @(*) begin
- array_muxed1 <= 2'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed1 <= sdram_nop_ba;
- end
- 1'd1: begin
- array_muxed1 <= sdram_choose_cmd_cmd_payload_ba;
- end
- 2'd2: begin
- array_muxed1 <= sdram_choose_req_cmd_payload_ba;
- end
- default: begin
- array_muxed1 <= sdram_cmd_payload_ba;
- end
- endcase
- end
- always @(*) begin
- array_muxed2 <= 1'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed2 <= sdram_nop_cas;
- end
- 1'd1: begin
- array_muxed2 <= sdram_choose_cmd_cmd_payload_cas;
- end
- 2'd2: begin
- array_muxed2 <= sdram_choose_req_cmd_payload_cas;
- end
- default: begin
- array_muxed2 <= sdram_cmd_payload_cas;
- end
- endcase
- end
- always @(*) begin
- array_muxed3 <= 1'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed3 <= sdram_nop_ras;
- end
- 1'd1: begin
- array_muxed3 <= sdram_choose_cmd_cmd_payload_ras;
- end
- 2'd2: begin
- array_muxed3 <= sdram_choose_req_cmd_payload_ras;
- end
- default: begin
- array_muxed3 <= sdram_cmd_payload_ras;
- end
- endcase
- end
- always @(*) begin
- array_muxed4 <= 1'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed4 <= sdram_nop_we;
- end
- 1'd1: begin
- array_muxed4 <= sdram_choose_cmd_cmd_payload_we;
- end
- 2'd2: begin
- array_muxed4 <= sdram_choose_req_cmd_payload_we;
- end
- default: begin
- array_muxed4 <= sdram_cmd_payload_we;
- end
- endcase
- end
- always @(*) begin
- array_muxed5 <= 1'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed5 <= 1'd0;
- end
- 1'd1: begin
- array_muxed5 <= (sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_payload_is_read);
- end
- 2'd2: begin
- array_muxed5 <= (sdram_choose_req_cmd_valid & sdram_choose_req_cmd_payload_is_read);
- end
- default: begin
- array_muxed5 <= (sdram_cmd_valid & sdram_cmd_payload_is_read);
- end
- endcase
- end
- always @(*) begin
- array_muxed6 <= 1'd0;
- case (sdram_sel)
- 1'd0: begin
- array_muxed6 <= 1'd0;
- end
- 1'd1: begin
- array_muxed6 <= (sdram_choose_cmd_cmd_valid & sdram_choose_cmd_cmd_payload_is_write);
- end
- 2'd2: begin
- array_muxed6 <= (sdram_choose_req_cmd_valid & sdram_choose_req_cmd_payload_is_write);
- end
- default: begin
- array_muxed6 <= (sdram_cmd_valid & sdram_cmd_payload_is_write);
- end
- endcase
- end
- assign basesoc_uart_phy_rx = regs1;
- always @(posedge sys_clk) begin
- basesoc_rom_bus_ack <= 1'd0;
- if (((basesoc_rom_bus_cyc & basesoc_rom_bus_stb) & (~basesoc_rom_bus_ack))) begin
- basesoc_rom_bus_ack <= 1'd1;
- end
- basesoc_sram_bus_ack <= 1'd0;
- if (((basesoc_sram_bus_cyc & basesoc_sram_bus_stb) & (~basesoc_sram_bus_ack))) begin
- basesoc_sram_bus_ack <= 1'd1;
- end
- basesoc_interface_we <= 1'd0;
- basesoc_interface_dat_w <= basesoc_bus_wishbone_dat_w;
- basesoc_interface_adr <= basesoc_bus_wishbone_adr;
- basesoc_bus_wishbone_dat_r <= basesoc_interface_dat_r;
- if ((basesoc_counter == 1'd1)) begin
- basesoc_interface_we <= basesoc_bus_wishbone_we;
- end
- if ((basesoc_counter == 2'd2)) begin
- basesoc_bus_wishbone_ack <= 1'd1;
- end
- if ((basesoc_counter == 2'd3)) begin
- basesoc_bus_wishbone_ack <= 1'd0;
- end
- if ((basesoc_counter != 1'd0)) begin
- basesoc_counter <= (basesoc_counter + 1'd1);
- end else begin
- if ((basesoc_bus_wishbone_cyc & basesoc_bus_wishbone_stb)) begin
- basesoc_counter <= 1'd1;
- end
- end
- basesoc_uart_phy_sink_ready <= 1'd0;
- if (((basesoc_uart_phy_sink_valid & (~basesoc_uart_phy_tx_busy)) & (~basesoc_uart_phy_sink_ready))) begin
- basesoc_uart_phy_tx_reg <= basesoc_uart_phy_sink_payload_data;
- basesoc_uart_phy_tx_bitcount <= 1'd0;
- basesoc_uart_phy_tx_busy <= 1'd1;
- serial_tx <= 1'd0;
- end else begin
- if ((basesoc_uart_phy_uart_clk_txen & basesoc_uart_phy_tx_busy)) begin
- basesoc_uart_phy_tx_bitcount <= (basesoc_uart_phy_tx_bitcount + 1'd1);
- if ((basesoc_uart_phy_tx_bitcount == 4'd8)) begin
- serial_tx <= 1'd1;
- end else begin
- if ((basesoc_uart_phy_tx_bitcount == 4'd9)) begin
- serial_tx <= 1'd1;
- basesoc_uart_phy_tx_busy <= 1'd0;
- basesoc_uart_phy_sink_ready <= 1'd1;
- end else begin
- serial_tx <= basesoc_uart_phy_tx_reg[0];
- basesoc_uart_phy_tx_reg <= {1'd0, basesoc_uart_phy_tx_reg[7:1]};
- end
- end
- end
- end
- if (basesoc_uart_phy_tx_busy) begin
- {basesoc_uart_phy_uart_clk_txen, basesoc_uart_phy_phase_accumulator_tx} <= (basesoc_uart_phy_phase_accumulator_tx + basesoc_uart_phy_storage);
- end else begin
- {basesoc_uart_phy_uart_clk_txen, basesoc_uart_phy_phase_accumulator_tx} <= 1'd0;
- end
- basesoc_uart_phy_source_valid <= 1'd0;
- basesoc_uart_phy_rx_r <= basesoc_uart_phy_rx;
- if ((~basesoc_uart_phy_rx_busy)) begin
- if (((~basesoc_uart_phy_rx) & basesoc_uart_phy_rx_r)) begin
- basesoc_uart_phy_rx_busy <= 1'd1;
- basesoc_uart_phy_rx_bitcount <= 1'd0;
- end
- end else begin
- if (basesoc_uart_phy_uart_clk_rxen) begin
- basesoc_uart_phy_rx_bitcount <= (basesoc_uart_phy_rx_bitcount + 1'd1);
- if ((basesoc_uart_phy_rx_bitcount == 1'd0)) begin
- if (basesoc_uart_phy_rx) begin
- basesoc_uart_phy_rx_busy <= 1'd0;
- end
- end else begin
- if ((basesoc_uart_phy_rx_bitcount == 4'd9)) begin
- basesoc_uart_phy_rx_busy <= 1'd0;
- if (basesoc_uart_phy_rx) begin
- basesoc_uart_phy_source_payload_data <= basesoc_uart_phy_rx_reg;
- basesoc_uart_phy_source_valid <= 1'd1;
- end
- end else begin
- basesoc_uart_phy_rx_reg <= {basesoc_uart_phy_rx, basesoc_uart_phy_rx_reg[7:1]};
- end
- end
- end
- end
- if (basesoc_uart_phy_rx_busy) begin
- {basesoc_uart_phy_uart_clk_rxen, basesoc_uart_phy_phase_accumulator_rx} <= (basesoc_uart_phy_phase_accumulator_rx + basesoc_uart_phy_storage);
- end else begin
- {basesoc_uart_phy_uart_clk_rxen, basesoc_uart_phy_phase_accumulator_rx} <= 32'd2147483648;
- end
- if (basesoc_uart_tx_clear) begin
- basesoc_uart_tx_pending <= 1'd0;
- end
- basesoc_uart_tx_old_trigger <= basesoc_uart_tx_trigger;
- if (((~basesoc_uart_tx_trigger) & basesoc_uart_tx_old_trigger)) begin
- basesoc_uart_tx_pending <= 1'd1;
- end
- if (basesoc_uart_rx_clear) begin
- basesoc_uart_rx_pending <= 1'd0;
- end
- basesoc_uart_rx_old_trigger <= basesoc_uart_rx_trigger;
- if (((~basesoc_uart_rx_trigger) & basesoc_uart_rx_old_trigger)) begin
- basesoc_uart_rx_pending <= 1'd1;
- end
- if (((basesoc_uart_tx_fifo_syncfifo_we & basesoc_uart_tx_fifo_syncfifo_writable) & (~basesoc_uart_tx_fifo_replace))) begin
- basesoc_uart_tx_fifo_produce <= (basesoc_uart_tx_fifo_produce + 1'd1);
- end
- if (basesoc_uart_tx_fifo_do_read) begin
- basesoc_uart_tx_fifo_consume <= (basesoc_uart_tx_fifo_consume + 1'd1);
- end
- if (((basesoc_uart_tx_fifo_syncfifo_we & basesoc_uart_tx_fifo_syncfifo_writable) & (~basesoc_uart_tx_fifo_replace))) begin
- if ((~basesoc_uart_tx_fifo_do_read)) begin
- basesoc_uart_tx_fifo_level <= (basesoc_uart_tx_fifo_level + 1'd1);
- end
- end else begin
- if (basesoc_uart_tx_fifo_do_read) begin
- basesoc_uart_tx_fifo_level <= (basesoc_uart_tx_fifo_level - 1'd1);
- end
- end
- if (((basesoc_uart_rx_fifo_syncfifo_we & basesoc_uart_rx_fifo_syncfifo_writable) & (~basesoc_uart_rx_fifo_replace))) begin
- basesoc_uart_rx_fifo_produce <= (basesoc_uart_rx_fifo_produce + 1'd1);
- end
- if (basesoc_uart_rx_fifo_do_read) begin
- basesoc_uart_rx_fifo_consume <= (basesoc_uart_rx_fifo_consume + 1'd1);
- end
- if (((basesoc_uart_rx_fifo_syncfifo_we & basesoc_uart_rx_fifo_syncfifo_writable) & (~basesoc_uart_rx_fifo_replace))) begin
- if ((~basesoc_uart_rx_fifo_do_read)) begin
- basesoc_uart_rx_fifo_level <= (basesoc_uart_rx_fifo_level + 1'd1);
- end
- end else begin
- if (basesoc_uart_rx_fifo_do_read) begin
- basesoc_uart_rx_fifo_level <= (basesoc_uart_rx_fifo_level - 1'd1);
- end
- end
- if (basesoc_timer0_en_storage) begin
- if ((basesoc_timer0_value == 1'd0)) begin
- basesoc_timer0_value <= basesoc_timer0_reload_storage;
- end else begin
- basesoc_timer0_value <= (basesoc_timer0_value - 1'd1);
- end
- end else begin
- basesoc_timer0_value <= basesoc_timer0_load_storage;
- end
- if (basesoc_timer0_update_value_re) begin
- basesoc_timer0_value_status <= basesoc_timer0_value;
- end
- if (basesoc_timer0_zero_clear) begin
- basesoc_timer0_zero_pending <= 1'd0;
- end
- basesoc_timer0_zero_old_trigger <= basesoc_timer0_zero_trigger;
- if (((~basesoc_timer0_zero_trigger) & basesoc_timer0_zero_old_trigger)) begin
- basesoc_timer0_zero_pending <= 1'd1;
- end
- sdram_a <= dfi_p0_address;
- sdram_ba <= dfi_p0_bank;
- sdram_cke <= dfi_p0_cke;
- sdram_cas_n <= dfi_p0_cas_n;
- sdram_ras_n <= dfi_p0_ras_n;
- sdram_we_n <= dfi_p0_we_n;
- sdram_cs_n <= dfi_p0_cs_n;
- sd_dq_out <= dfi_p0_wrdata;
- if (dfi_p0_wrdata_en) begin
- sdram_dm <= dfi_p0_wrdata_mask;
- end else begin
- sdram_dm <= 1'd0;
- end
- dfi_p0_rddata <= sd_dq_in_ps;
- d_dfi_wrdata_en <= dfi_p0_wrdata_en;
- rddata_sr <= {rddata_sr[2:0], dfi_p0_rddata_en};
- if (sdram_inti_p0_rddata_valid) begin
- sdram_status <= sdram_inti_p0_rddata;
- end
- sdram_cmd_payload_a <= 11'd1024;
- sdram_cmd_payload_ba <= 1'd0;
- sdram_cmd_payload_cas <= 1'd0;
- sdram_cmd_payload_ras <= 1'd0;
- sdram_cmd_payload_we <= 1'd0;
- sdram_seq_done <= 1'd0;
- if ((sdram_counter == 1'd1)) begin
- sdram_cmd_payload_ras <= 1'd1;
- sdram_cmd_payload_we <= 1'd1;
- end
- if ((sdram_counter == 2'd3)) begin
- sdram_cmd_payload_cas <= 1'd1;
- sdram_cmd_payload_ras <= 1'd1;
- end
- if ((sdram_counter == 4'd10)) begin
- sdram_seq_done <= 1'd1;
- end
- if ((sdram_counter == 4'd10)) begin
- sdram_counter <= 1'd0;
- end else begin
- if ((sdram_counter != 1'd0)) begin
- sdram_counter <= (sdram_counter + 1'd1);
- end else begin
- if (sdram_seq_start) begin
- sdram_counter <= 1'd1;
- end
- end
- end
- if (sdram_wait) begin
- if ((~sdram_done)) begin
- sdram_count <= (sdram_count - 1'd1);
- end
- end else begin
- sdram_count <= 10'd782;
- end
- refresher_state <= refresher_next_state;
- if (sdram_bankmachine0_track_close) begin
- sdram_bankmachine0_has_openrow <= 1'd0;
- end else begin
- if (sdram_bankmachine0_track_open) begin
- sdram_bankmachine0_has_openrow <= 1'd1;
- sdram_bankmachine0_openrow <= sdram_bankmachine0_source_payload_adr[22:10];
- end
- end
- if (((sdram_bankmachine0_syncfifo0_we & sdram_bankmachine0_syncfifo0_writable) & (~sdram_bankmachine0_replace))) begin
- sdram_bankmachine0_produce <= (sdram_bankmachine0_produce + 1'd1);
- end
- if (sdram_bankmachine0_do_read) begin
- sdram_bankmachine0_consume <= (sdram_bankmachine0_consume + 1'd1);
- end
- if (((sdram_bankmachine0_syncfifo0_we & sdram_bankmachine0_syncfifo0_writable) & (~sdram_bankmachine0_replace))) begin
- if ((~sdram_bankmachine0_do_read)) begin
- sdram_bankmachine0_level <= (sdram_bankmachine0_level + 1'd1);
- end
- end else begin
- if (sdram_bankmachine0_do_read) begin
- sdram_bankmachine0_level <= (sdram_bankmachine0_level - 1'd1);
- end
- end
- if (sdram_bankmachine0_wait) begin
- if ((~sdram_bankmachine0_done)) begin
- sdram_bankmachine0_count <= (sdram_bankmachine0_count - 1'd1);
- end
- end else begin
- sdram_bankmachine0_count <= 3'd4;
- end
- bankmachine0_state <= bankmachine0_next_state;
- if (sdram_bankmachine1_track_close) begin
- sdram_bankmachine1_has_openrow <= 1'd0;
- end else begin
- if (sdram_bankmachine1_track_open) begin
- sdram_bankmachine1_has_openrow <= 1'd1;
- sdram_bankmachine1_openrow <= sdram_bankmachine1_source_payload_adr[22:10];
- end
- end
- if (((sdram_bankmachine1_syncfifo1_we & sdram_bankmachine1_syncfifo1_writable) & (~sdram_bankmachine1_replace))) begin
- sdram_bankmachine1_produce <= (sdram_bankmachine1_produce + 1'd1);
- end
- if (sdram_bankmachine1_do_read) begin
- sdram_bankmachine1_consume <= (sdram_bankmachine1_consume + 1'd1);
- end
- if (((sdram_bankmachine1_syncfifo1_we & sdram_bankmachine1_syncfifo1_writable) & (~sdram_bankmachine1_replace))) begin
- if ((~sdram_bankmachine1_do_read)) begin
- sdram_bankmachine1_level <= (sdram_bankmachine1_level + 1'd1);
- end
- end else begin
- if (sdram_bankmachine1_do_read) begin
- sdram_bankmachine1_level <= (sdram_bankmachine1_level - 1'd1);
- end
- end
- if (sdram_bankmachine1_wait) begin
- if ((~sdram_bankmachine1_done)) begin
- sdram_bankmachine1_count <= (sdram_bankmachine1_count - 1'd1);
- end
- end else begin
- sdram_bankmachine1_count <= 3'd4;
- end
- bankmachine1_state <= bankmachine1_next_state;
- if (sdram_bankmachine2_track_close) begin
- sdram_bankmachine2_has_openrow <= 1'd0;
- end else begin
- if (sdram_bankmachine2_track_open) begin
- sdram_bankmachine2_has_openrow <= 1'd1;
- sdram_bankmachine2_openrow <= sdram_bankmachine2_source_payload_adr[22:10];
- end
- end
- if (((sdram_bankmachine2_syncfifo2_we & sdram_bankmachine2_syncfifo2_writable) & (~sdram_bankmachine2_replace))) begin
- sdram_bankmachine2_produce <= (sdram_bankmachine2_produce + 1'd1);
- end
- if (sdram_bankmachine2_do_read) begin
- sdram_bankmachine2_consume <= (sdram_bankmachine2_consume + 1'd1);
- end
- if (((sdram_bankmachine2_syncfifo2_we & sdram_bankmachine2_syncfifo2_writable) & (~sdram_bankmachine2_replace))) begin
- if ((~sdram_bankmachine2_do_read)) begin
- sdram_bankmachine2_level <= (sdram_bankmachine2_level + 1'd1);
- end
- end else begin
- if (sdram_bankmachine2_do_read) begin
- sdram_bankmachine2_level <= (sdram_bankmachine2_level - 1'd1);
- end
- end
- if (sdram_bankmachine2_wait) begin
- if ((~sdram_bankmachine2_done)) begin
- sdram_bankmachine2_count <= (sdram_bankmachine2_count - 1'd1);
- end
- end else begin
- sdram_bankmachine2_count <= 3'd4;
- end
- bankmachine2_state <= bankmachine2_next_state;
- if (sdram_bankmachine3_track_close) begin
- sdram_bankmachine3_has_openrow <= 1'd0;
- end else begin
- if (sdram_bankmachine3_track_open) begin
- sdram_bankmachine3_has_openrow <= 1'd1;
- sdram_bankmachine3_openrow <= sdram_bankmachine3_source_payload_adr[22:10];
- end
- end
- if (((sdram_bankmachine3_syncfifo3_we & sdram_bankmachine3_syncfifo3_writable) & (~sdram_bankmachine3_replace))) begin
- sdram_bankmachine3_produce <= (sdram_bankmachine3_produce + 1'd1);
- end
- if (sdram_bankmachine3_do_read) begin
- sdram_bankmachine3_consume <= (sdram_bankmachine3_consume + 1'd1);
- end
- if (((sdram_bankmachine3_syncfifo3_we & sdram_bankmachine3_syncfifo3_writable) & (~sdram_bankmachine3_replace))) begin
- if ((~sdram_bankmachine3_do_read)) begin
- sdram_bankmachine3_level <= (sdram_bankmachine3_level + 1'd1);
- end
- end else begin
- if (sdram_bankmachine3_do_read) begin
- sdram_bankmachine3_level <= (sdram_bankmachine3_level - 1'd1);
- end
- end
- if (sdram_bankmachine3_wait) begin
- if ((~sdram_bankmachine3_done)) begin
- sdram_bankmachine3_count <= (sdram_bankmachine3_count - 1'd1);
- end
- end else begin
- sdram_bankmachine3_count <= 3'd4;
- end
- bankmachine3_state <= bankmachine3_next_state;
- if ((~sdram_en0)) begin
- sdram_time0 <= 5'd31;
- end else begin
- if ((~sdram_max_time0)) begin
- sdram_time0 <= (sdram_time0 - 1'd1);
- end
- end
- if ((~sdram_en1)) begin
- sdram_time1 <= 4'd15;
- end else begin
- if ((~sdram_max_time1)) begin
- sdram_time1 <= (sdram_time1 - 1'd1);
- end
- end
- if (sdram_choose_cmd_ce) begin
- case (sdram_choose_cmd_grant)
- 1'd0: begin
- if (sdram_choose_cmd_request[1]) begin
- sdram_choose_cmd_grant <= 1'd1;
- end else begin
- if (sdram_choose_cmd_request[2]) begin
- sdram_choose_cmd_grant <= 2'd2;
- end else begin
- if (sdram_choose_cmd_request[3]) begin
- sdram_choose_cmd_grant <= 2'd3;
- end
- end
- end
- end
- 1'd1: begin
- if (sdram_choose_cmd_request[2]) begin
- sdram_choose_cmd_grant <= 2'd2;
- end else begin
- if (sdram_choose_cmd_request[3]) begin
- sdram_choose_cmd_grant <= 2'd3;
- end else begin
- if (sdram_choose_cmd_request[0]) begin
- sdram_choose_cmd_grant <= 1'd0;
- end
- end
- end
- end
- 2'd2: begin
- if (sdram_choose_cmd_request[3]) begin
- sdram_choose_cmd_grant <= 2'd3;
- end else begin
- if (sdram_choose_cmd_request[0]) begin
- sdram_choose_cmd_grant <= 1'd0;
- end else begin
- if (sdram_choose_cmd_request[1]) begin
- sdram_choose_cmd_grant <= 1'd1;
- end
- end
- end
- end
- 2'd3: begin
- if (sdram_choose_cmd_request[0]) begin
- sdram_choose_cmd_grant <= 1'd0;
- end else begin
- if (sdram_choose_cmd_request[1]) begin
- sdram_choose_cmd_grant <= 1'd1;
- end else begin
- if (sdram_choose_cmd_request[2]) begin
- sdram_choose_cmd_grant <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- if (sdram_choose_req_ce) begin
- case (sdram_choose_req_grant)
- 1'd0: begin
- if (sdram_choose_req_request[1]) begin
- sdram_choose_req_grant <= 1'd1;
- end else begin
- if (sdram_choose_req_request[2]) begin
- sdram_choose_req_grant <= 2'd2;
- end else begin
- if (sdram_choose_req_request[3]) begin
- sdram_choose_req_grant <= 2'd3;
- end
- end
- end
- end
- 1'd1: begin
- if (sdram_choose_req_request[2]) begin
- sdram_choose_req_grant <= 2'd2;
- end else begin
- if (sdram_choose_req_request[3]) begin
- sdram_choose_req_grant <= 2'd3;
- end else begin
- if (sdram_choose_req_request[0]) begin
- sdram_choose_req_grant <= 1'd0;
- end
- end
- end
- end
- 2'd2: begin
- if (sdram_choose_req_request[3]) begin
- sdram_choose_req_grant <= 2'd3;
- end else begin
- if (sdram_choose_req_request[0]) begin
- sdram_choose_req_grant <= 1'd0;
- end else begin
- if (sdram_choose_req_request[1]) begin
- sdram_choose_req_grant <= 1'd1;
- end
- end
- end
- end
- 2'd3: begin
- if (sdram_choose_req_request[0]) begin
- sdram_choose_req_grant <= 1'd0;
- end else begin
- if (sdram_choose_req_request[1]) begin
- sdram_choose_req_grant <= 1'd1;
- end else begin
- if (sdram_choose_req_request[2]) begin
- sdram_choose_req_grant <= 2'd2;
- end
- end
- end
- end
- endcase
- end
- sdram_dfi_p0_address <= array_muxed0;
- sdram_dfi_p0_bank <= array_muxed1;
- sdram_dfi_p0_cas_n <= (~array_muxed2);
- sdram_dfi_p0_ras_n <= (~array_muxed3);
- sdram_dfi_p0_we_n <= (~array_muxed4);
- sdram_dfi_p0_rddata_en <= array_muxed5;
- sdram_dfi_p0_wrdata_en <= array_muxed6;
- multiplexer_state <= multiplexer_next_state;
- new_master_wdata_ready <= ((((1'd0 | ((roundrobin0_grant == 1'd0) & sdram_interface_bank0_wdata_ready)) | ((roundrobin1_grant == 1'd0) & sdram_interface_bank1_wdata_ready)) | ((roundrobin2_grant == 1'd0) & sdram_interface_bank2_wdata_ready)) | ((roundrobin3_grant == 1'd0) & sdram_interface_bank3_wdata_ready));
- new_master_rdata_valid0 <= ((((1'd0 | ((roundrobin0_grant == 1'd0) & sdram_interface_bank0_rdata_valid)) | ((roundrobin1_grant == 1'd0) & sdram_interface_bank1_rdata_valid)) | ((roundrobin2_grant == 1'd0) & sdram_interface_bank2_rdata_valid)) | ((roundrobin3_grant == 1'd0) & sdram_interface_bank3_rdata_valid));
- new_master_rdata_valid1 <= new_master_rdata_valid0;
- new_master_rdata_valid2 <= new_master_rdata_valid1;
- new_master_rdata_valid3 <= new_master_rdata_valid2;
- new_master_rdata_valid4 <= new_master_rdata_valid3;
- if (cache_word_clr) begin
- cache <= 1'd0;
- end else begin
- if (cache_word_inc) begin
- cache <= (cache + 1'd1);
- end
- end
- cache_state <= cache_next_state;
- litedramwishbonebridge_state <= litedramwishbonebridge_next_state;
- case (basesoc_grant)
- 1'd0: begin
- if ((~basesoc_request[0])) begin
- if (basesoc_request[1]) begin
- basesoc_grant <= 1'd1;
- end
- end
- end
- 1'd1: begin
- if ((~basesoc_request[1])) begin
- if (basesoc_request[0]) begin
- basesoc_grant <= 1'd0;
- end
- end
- end
- endcase
- basesoc_slave_sel_r <= basesoc_slave_sel;
- basesoc_interface0_bank_bus_dat_r <= 1'd0;
- if (basesoc_csrbank0_sel) begin
- case (basesoc_interface0_bank_bus_adr[2:0])
- 1'd0: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_control0_w;
- end
- 1'd1: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_command0_w;
- end
- 2'd2: begin
- basesoc_interface0_bank_bus_dat_r <= sdram_command_issue_w;
- end
- 2'd3: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_address1_w;
- end
- 3'd4: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_address0_w;
- end
- 3'd5: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_baddress0_w;
- end
- 3'd6: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_wrdata0_w;
- end
- 3'd7: begin
- basesoc_interface0_bank_bus_dat_r <= basesoc_csrbank0_dfii_pi0_rddata_w;
- end
- endcase
- end
- if (basesoc_csrbank0_dfii_control0_re) begin
- sdram_storage_full[3:0] <= basesoc_csrbank0_dfii_control0_r;
- end
- sdram_re <= basesoc_csrbank0_dfii_control0_re;
- if (basesoc_csrbank0_dfii_pi0_command0_re) begin
- sdram_command_storage_full[5:0] <= basesoc_csrbank0_dfii_pi0_command0_r;
- end
- sdram_command_re <= basesoc_csrbank0_dfii_pi0_command0_re;
- if (basesoc_csrbank0_dfii_pi0_address1_re) begin
- sdram_address_storage_full[12:8] <= basesoc_csrbank0_dfii_pi0_address1_r;
- end
- if (basesoc_csrbank0_dfii_pi0_address0_re) begin
- sdram_address_storage_full[7:0] <= basesoc_csrbank0_dfii_pi0_address0_r;
- end
- sdram_address_re <= basesoc_csrbank0_dfii_pi0_address0_re;
- if (basesoc_csrbank0_dfii_pi0_baddress0_re) begin
- sdram_baddress_storage_full[1:0] <= basesoc_csrbank0_dfii_pi0_baddress0_r;
- end
- sdram_baddress_re <= basesoc_csrbank0_dfii_pi0_baddress0_re;
- if (basesoc_csrbank0_dfii_pi0_wrdata0_re) begin
- sdram_wrdata_storage_full[7:0] <= basesoc_csrbank0_dfii_pi0_wrdata0_r;
- end
- sdram_wrdata_re <= basesoc_csrbank0_dfii_pi0_wrdata0_re;
- basesoc_interface1_bank_bus_dat_r <= 1'd0;
- if (basesoc_csrbank1_sel) begin
- case (basesoc_interface1_bank_bus_adr[4:0])
- 1'd0: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_load3_w;
- end
- 1'd1: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_load2_w;
- end
- 2'd2: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_load1_w;
- end
- 2'd3: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_load0_w;
- end
- 3'd4: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_reload3_w;
- end
- 3'd5: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_reload2_w;
- end
- 3'd6: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_reload1_w;
- end
- 3'd7: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_reload0_w;
- end
- 4'd8: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_en0_w;
- end
- 4'd9: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_timer0_update_value_w;
- end
- 4'd10: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_value3_w;
- end
- 4'd11: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_value2_w;
- end
- 4'd12: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_value1_w;
- end
- 4'd13: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_value0_w;
- end
- 4'd14: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_timer0_eventmanager_status_w;
- end
- 4'd15: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_timer0_eventmanager_pending_w;
- end
- 5'd16: begin
- basesoc_interface1_bank_bus_dat_r <= basesoc_csrbank1_ev_enable0_w;
- end
- endcase
- end
- if (basesoc_csrbank1_load3_re) begin
- basesoc_timer0_load_storage_full[31:24] <= basesoc_csrbank1_load3_r;
- end
- if (basesoc_csrbank1_load2_re) begin
- basesoc_timer0_load_storage_full[23:16] <= basesoc_csrbank1_load2_r;
- end
- if (basesoc_csrbank1_load1_re) begin
- basesoc_timer0_load_storage_full[15:8] <= basesoc_csrbank1_load1_r;
- end
- if (basesoc_csrbank1_load0_re) begin
- basesoc_timer0_load_storage_full[7:0] <= basesoc_csrbank1_load0_r;
- end
- basesoc_timer0_load_re <= basesoc_csrbank1_load0_re;
- if (basesoc_csrbank1_reload3_re) begin
- basesoc_timer0_reload_storage_full[31:24] <= basesoc_csrbank1_reload3_r;
- end
- if (basesoc_csrbank1_reload2_re) begin
- basesoc_timer0_reload_storage_full[23:16] <= basesoc_csrbank1_reload2_r;
- end
- if (basesoc_csrbank1_reload1_re) begin
- basesoc_timer0_reload_storage_full[15:8] <= basesoc_csrbank1_reload1_r;
- end
- if (basesoc_csrbank1_reload0_re) begin
- basesoc_timer0_reload_storage_full[7:0] <= basesoc_csrbank1_reload0_r;
- end
- basesoc_timer0_reload_re <= basesoc_csrbank1_reload0_re;
- if (basesoc_csrbank1_en0_re) begin
- basesoc_timer0_en_storage_full <= basesoc_csrbank1_en0_r;
- end
- basesoc_timer0_en_re <= basesoc_csrbank1_en0_re;
- if (basesoc_csrbank1_ev_enable0_re) begin
- basesoc_timer0_eventmanager_storage_full <= basesoc_csrbank1_ev_enable0_r;
- end
- basesoc_timer0_eventmanager_re <= basesoc_csrbank1_ev_enable0_re;
- basesoc_interface2_bank_bus_dat_r <= 1'd0;
- if (basesoc_csrbank2_sel) begin
- case (basesoc_interface2_bank_bus_adr[2:0])
- 1'd0: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_uart_rxtx_w;
- end
- 1'd1: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_csrbank2_txfull_w;
- end
- 2'd2: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_csrbank2_rxempty_w;
- end
- 2'd3: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_uart_status_w;
- end
- 3'd4: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_uart_pending_w;
- end
- 3'd5: begin
- basesoc_interface2_bank_bus_dat_r <= basesoc_csrbank2_ev_enable0_w;
- end
- endcase
- end
- if (basesoc_csrbank2_ev_enable0_re) begin
- basesoc_uart_storage_full[1:0] <= basesoc_csrbank2_ev_enable0_r;
- end
- basesoc_uart_re <= basesoc_csrbank2_ev_enable0_re;
- basesoc_interface3_bank_bus_dat_r <= 1'd0;
- if (basesoc_csrbank3_sel) begin
- case (basesoc_interface3_bank_bus_adr[1:0])
- 1'd0: begin
- basesoc_interface3_bank_bus_dat_r <= basesoc_csrbank3_tuning_word3_w;
- end
- 1'd1: begin
- basesoc_interface3_bank_bus_dat_r <= basesoc_csrbank3_tuning_word2_w;
- end
- 2'd2: begin
- basesoc_interface3_bank_bus_dat_r <= basesoc_csrbank3_tuning_word1_w;
- end
- 2'd3: begin
- basesoc_interface3_bank_bus_dat_r <= basesoc_csrbank3_tuning_word0_w;
- end
- endcase
- end
- if (basesoc_csrbank3_tuning_word3_re) begin
- basesoc_uart_phy_storage_full[31:24] <= basesoc_csrbank3_tuning_word3_r;
- end
- if (basesoc_csrbank3_tuning_word2_re) begin
- basesoc_uart_phy_storage_full[23:16] <= basesoc_csrbank3_tuning_word2_r;
- end
- if (basesoc_csrbank3_tuning_word1_re) begin
- basesoc_uart_phy_storage_full[15:8] <= basesoc_csrbank3_tuning_word1_r;
- end
- if (basesoc_csrbank3_tuning_word0_re) begin
- basesoc_uart_phy_storage_full[7:0] <= basesoc_csrbank3_tuning_word0_r;
- end
- basesoc_uart_phy_re <= basesoc_csrbank3_tuning_word0_re;
- if (sys_rst) begin
- basesoc_rom_bus_ack <= 1'd0;
- basesoc_sram_bus_ack <= 1'd0;
- basesoc_interface_adr <= 14'd0;
- basesoc_interface_we <= 1'd0;
- basesoc_interface_dat_w <= 8'd0;
- basesoc_bus_wishbone_dat_r <= 32'd0;
- basesoc_bus_wishbone_ack <= 1'd0;
- basesoc_counter <= 2'd0;
- serial_tx <= 1'd1;
- basesoc_uart_phy_storage_full <= 32'd4947802;
- basesoc_uart_phy_re <= 1'd0;
- basesoc_uart_phy_sink_ready <= 1'd0;
- basesoc_uart_phy_uart_clk_txen <= 1'd0;
- basesoc_uart_phy_phase_accumulator_tx <= 32'd0;
- basesoc_uart_phy_tx_reg <= 8'd0;
- basesoc_uart_phy_tx_bitcount <= 4'd0;
- basesoc_uart_phy_tx_busy <= 1'd0;
- basesoc_uart_phy_source_valid <= 1'd0;
- basesoc_uart_phy_source_payload_data <= 8'd0;
- basesoc_uart_phy_uart_clk_rxen <= 1'd0;
- basesoc_uart_phy_phase_accumulator_rx <= 32'd0;
- basesoc_uart_phy_rx_r <= 1'd0;
- basesoc_uart_phy_rx_reg <= 8'd0;
- basesoc_uart_phy_rx_bitcount <= 4'd0;
- basesoc_uart_phy_rx_busy <= 1'd0;
- basesoc_uart_tx_pending <= 1'd0;
- basesoc_uart_tx_old_trigger <= 1'd0;
- basesoc_uart_rx_pending <= 1'd0;
- basesoc_uart_rx_old_trigger <= 1'd0;
- basesoc_uart_storage_full <= 2'd0;
- basesoc_uart_re <= 1'd0;
- basesoc_uart_tx_fifo_level <= 5'd0;
- basesoc_uart_tx_fifo_produce <= 4'd0;
- basesoc_uart_tx_fifo_consume <= 4'd0;
- basesoc_uart_rx_fifo_level <= 5'd0;
- basesoc_uart_rx_fifo_produce <= 4'd0;
- basesoc_uart_rx_fifo_consume <= 4'd0;
- basesoc_timer0_load_storage_full <= 32'd0;
- basesoc_timer0_load_re <= 1'd0;
- basesoc_timer0_reload_storage_full <= 32'd0;
- basesoc_timer0_reload_re <= 1'd0;
- basesoc_timer0_en_storage_full <= 1'd0;
- basesoc_timer0_en_re <= 1'd0;
- basesoc_timer0_value_status <= 32'd0;
- basesoc_timer0_zero_pending <= 1'd0;
- basesoc_timer0_zero_old_trigger <= 1'd0;
- basesoc_timer0_eventmanager_storage_full <= 1'd0;
- basesoc_timer0_eventmanager_re <= 1'd0;
- basesoc_timer0_value <= 32'd0;
- sdram_a <= 13'd0;
- sdram_we_n <= 1'd0;
- sdram_ras_n <= 1'd0;
- sdram_cas_n <= 1'd0;
- sdram_cs_n <= 1'd0;
- sdram_cke <= 1'd0;
- sdram_ba <= 2'd0;
- sdram_dm <= 1'd0;
- dfi_p0_rddata <= 8'd0;
- sd_dq_out <= 8'd0;
- d_dfi_wrdata_en <= 1'd0;
- rddata_sr <= 4'd0;
- sdram_storage_full <= 4'd0;
- sdram_re <= 1'd0;
- sdram_command_storage_full <= 6'd0;
- sdram_command_re <= 1'd0;
- sdram_address_storage_full <= 13'd0;
- sdram_address_re <= 1'd0;
- sdram_baddress_storage_full <= 2'd0;
- sdram_baddress_re <= 1'd0;
- sdram_wrdata_storage_full <= 8'd0;
- sdram_wrdata_re <= 1'd0;
- sdram_status <= 8'd0;
- sdram_dfi_p0_address <= 13'd0;
- sdram_dfi_p0_bank <= 2'd0;
- sdram_dfi_p0_cas_n <= 1'd1;
- sdram_dfi_p0_ras_n <= 1'd1;
- sdram_dfi_p0_we_n <= 1'd1;
- sdram_dfi_p0_wrdata_en <= 1'd0;
- sdram_dfi_p0_rddata_en <= 1'd0;
- sdram_cmd_payload_a <= 13'd0;
- sdram_cmd_payload_ba <= 2'd0;
- sdram_cmd_payload_cas <= 1'd0;
- sdram_cmd_payload_ras <= 1'd0;
- sdram_cmd_payload_we <= 1'd0;
- sdram_seq_done <= 1'd0;
- sdram_counter <= 4'd0;
- sdram_count <= 10'd782;
- sdram_bankmachine0_level <= 4'd0;
- sdram_bankmachine0_produce <= 3'd0;
- sdram_bankmachine0_consume <= 3'd0;
- sdram_bankmachine0_has_openrow <= 1'd0;
- sdram_bankmachine0_count <= 3'd4;
- sdram_bankmachine1_level <= 4'd0;
- sdram_bankmachine1_produce <= 3'd0;
- sdram_bankmachine1_consume <= 3'd0;
- sdram_bankmachine1_has_openrow <= 1'd0;
- sdram_bankmachine1_count <= 3'd4;
- sdram_bankmachine2_level <= 4'd0;
- sdram_bankmachine2_produce <= 3'd0;
- sdram_bankmachine2_consume <= 3'd0;
- sdram_bankmachine2_has_openrow <= 1'd0;
- sdram_bankmachine2_count <= 3'd4;
- sdram_bankmachine3_level <= 4'd0;
- sdram_bankmachine3_produce <= 3'd0;
- sdram_bankmachine3_consume <= 3'd0;
- sdram_bankmachine3_has_openrow <= 1'd0;
- sdram_bankmachine3_count <= 3'd4;
- sdram_choose_cmd_grant <= 2'd0;
- sdram_choose_req_grant <= 2'd0;
- sdram_time0 <= 5'd0;
- sdram_time1 <= 4'd0;
- cache <= 2'd0;
- refresher_state <= 2'd0;
- bankmachine0_state <= 3'd0;
- bankmachine1_state <= 3'd0;
- bankmachine2_state <= 3'd0;
- bankmachine3_state <= 3'd0;
- multiplexer_state <= 3'd0;
- new_master_wdata_ready <= 1'd0;
- new_master_rdata_valid0 <= 1'd0;
- new_master_rdata_valid1 <= 1'd0;
- new_master_rdata_valid2 <= 1'd0;
- new_master_rdata_valid3 <= 1'd0;
- new_master_rdata_valid4 <= 1'd0;
- cache_state <= 3'd0;
- litedramwishbonebridge_state <= 2'd0;
- basesoc_grant <= 1'd0;
- basesoc_slave_sel_r <= 4'd0;
- basesoc_interface0_bank_bus_dat_r <= 8'd0;
- basesoc_interface1_bank_bus_dat_r <= 8'd0;
- basesoc_interface2_bank_bus_dat_r <= 8'd0;
- basesoc_interface3_bank_bus_dat_r <= 8'd0;
- end
- regs0 <= serial_rx;
- regs1 <= regs0;
- end
- always @(posedge sys_ps_clk) begin
- sd_dq_in_ps <= sdram_dq;
- if (sys_ps_rst) begin
- sd_dq_in_ps <= 8'd0;
- end
- end
- picorv32 #(
- .CATCH_ILLINSN(1'd1),
- .CATCH_MISALIGN(1'd1),
- .ENABLE_COUNTERS(1'd1),
- .ENABLE_COUNTERS64(1'd1),
- .ENABLE_DIV(1'd1),
- .ENABLE_FAST_MUL(1'd0),
- .ENABLE_IRQ(1'd1),
- .ENABLE_IRQ_QREGS(1'd1),
- .ENABLE_IRQ_TIMER(1'd1),
- .ENABLE_MUL(1'd1),
- .ENABLE_PCPI(1'd0),
- .ENABLE_REGS_16_31(1'd1),
- .ENABLE_REGS_DUALPORT(1'd1),
- .ENABLE_TRACE(1'd0),
- .LATCHED_IRQ(32'd4294967295),
- .LATCHED_MEM_RDATA(1'd0),
- .MASKED_IRQ(1'd0),
- .PROGADDR_IRQ(5'd16),
- .PROGADDR_RESET(1'd0),
- .STACKADDR(32'd4294967295),
- .TWO_CYCLE_ALU(1'd0),
- .TWO_CYCLE_COMPARE(1'd0),
- .TWO_STAGE_SHIFT(1'd1)
- ) picorv32 (
- .clk(sys_clk),
- .irq(basesoc_picorv32_interrupt),
- .mem_rdata(basesoc_picorv32_mem_rdata),
- .mem_ready(basesoc_picorv32_mem_ready),
- .pcpi_rd(1'd0),
- .pcpi_ready(1'd0),
- .pcpi_wait(1'd0),
- .pcpi_wr(1'd0),
- .resetn((~sys_rst)),
- .eoi(basesoc_picorv329),
- .mem_addr(basesoc_picorv32_mem_addr),
- .mem_instr(basesoc_picorv32_mem_instr),
- .mem_la_addr(basesoc_picorv322),
- .mem_la_read(basesoc_picorv320),
- .mem_la_wdata(basesoc_picorv323),
- .mem_la_write(basesoc_picorv321),
- .mem_la_wstrb(basesoc_picorv324),
- .mem_valid(basesoc_picorv32_mem_valid),
- .mem_wdata(basesoc_picorv32_mem_wdata),
- .mem_wstrb(basesoc_picorv32_mem_wstrb),
- .pcpi_insn(basesoc_picorv326),
- .pcpi_rs1(basesoc_picorv327),
- .pcpi_rs2(basesoc_picorv328),
- .pcpi_valid(basesoc_picorv325),
- .trap(basesoc_picorv32_trap)
- );
- reg [31:0] mem[0:7];
- reg [2:0] memadr;
- always @(posedge sys_clk) begin
- memadr <= basesoc_rom_adr;
- end
- assign basesoc_rom_dat_r = mem[memadr];
- initial begin
- $readmemh("mem.init", mem);
- end
- reg [31:0] mem_1[0:1023];
- reg [9:0] memadr_1;
- always @(posedge sys_clk) begin
- if (basesoc_sram_we[0])
- mem_1[basesoc_sram_adr][7:0] <= basesoc_sram_dat_w[7:0];
- if (basesoc_sram_we[1])
- mem_1[basesoc_sram_adr][15:8] <= basesoc_sram_dat_w[15:8];
- if (basesoc_sram_we[2])
- mem_1[basesoc_sram_adr][23:16] <= basesoc_sram_dat_w[23:16];
- if (basesoc_sram_we[3])
- mem_1[basesoc_sram_adr][31:24] <= basesoc_sram_dat_w[31:24];
- memadr_1 <= basesoc_sram_adr;
- end
- assign basesoc_sram_dat_r = mem_1[memadr_1];
- reg [9:0] storage[0:15];
- reg [9:0] memdat;
- always @(posedge sys_clk) begin
- if (basesoc_uart_tx_fifo_wrport_we)
- storage[basesoc_uart_tx_fifo_wrport_adr] <= basesoc_uart_tx_fifo_wrport_dat_w;
- memdat <= storage[basesoc_uart_tx_fifo_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign basesoc_uart_tx_fifo_wrport_dat_r = memdat;
- assign basesoc_uart_tx_fifo_rdport_dat_r = storage[basesoc_uart_tx_fifo_rdport_adr];
- reg [9:0] storage_1[0:15];
- reg [9:0] memdat_1;
- always @(posedge sys_clk) begin
- if (basesoc_uart_rx_fifo_wrport_we)
- storage_1[basesoc_uart_rx_fifo_wrport_adr] <= basesoc_uart_rx_fifo_wrport_dat_w;
- memdat_1 <= storage_1[basesoc_uart_rx_fifo_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign basesoc_uart_rx_fifo_wrport_dat_r = memdat_1;
- assign basesoc_uart_rx_fifo_rdport_dat_r = storage_1[basesoc_uart_rx_fifo_rdport_adr];
- assign sdram_dq = drive_dq ? sd_dq_out : 8'bz;
- reg [25:0] storage_2[0:7];
- reg [25:0] memdat_2;
- always @(posedge sys_clk) begin
- if (sdram_bankmachine0_wrport_we)
- storage_2[sdram_bankmachine0_wrport_adr] <= sdram_bankmachine0_wrport_dat_w;
- memdat_2 <= storage_2[sdram_bankmachine0_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign sdram_bankmachine0_wrport_dat_r = memdat_2;
- assign sdram_bankmachine0_rdport_dat_r = storage_2[sdram_bankmachine0_rdport_adr];
- reg [25:0] storage_3[0:7];
- reg [25:0] memdat_3;
- always @(posedge sys_clk) begin
- if (sdram_bankmachine1_wrport_we)
- storage_3[sdram_bankmachine1_wrport_adr] <= sdram_bankmachine1_wrport_dat_w;
- memdat_3 <= storage_3[sdram_bankmachine1_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign sdram_bankmachine1_wrport_dat_r = memdat_3;
- assign sdram_bankmachine1_rdport_dat_r = storage_3[sdram_bankmachine1_rdport_adr];
- reg [25:0] storage_4[0:7];
- reg [25:0] memdat_4;
- always @(posedge sys_clk) begin
- if (sdram_bankmachine2_wrport_we)
- storage_4[sdram_bankmachine2_wrport_adr] <= sdram_bankmachine2_wrport_dat_w;
- memdat_4 <= storage_4[sdram_bankmachine2_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign sdram_bankmachine2_wrport_dat_r = memdat_4;
- assign sdram_bankmachine2_rdport_dat_r = storage_4[sdram_bankmachine2_rdport_adr];
- reg [25:0] storage_5[0:7];
- reg [25:0] memdat_5;
- always @(posedge sys_clk) begin
- if (sdram_bankmachine3_wrport_we)
- storage_5[sdram_bankmachine3_wrport_adr] <= sdram_bankmachine3_wrport_dat_w;
- memdat_5 <= storage_5[sdram_bankmachine3_wrport_adr];
- end
- always @(posedge sys_clk) begin
- end
- assign sdram_bankmachine3_wrport_dat_r = memdat_5;
- assign sdram_bankmachine3_rdport_dat_r = storage_5[sdram_bankmachine3_rdport_adr];
- reg [31:0] data_mem[0:2047];
- reg [10:0] memadr_2;
- always @(posedge sys_clk) begin
- if (cache_data_port_we[0])
- data_mem[cache_data_port_adr][7:0] <= cache_data_port_dat_w[7:0];
- if (cache_data_port_we[1])
- data_mem[cache_data_port_adr][15:8] <= cache_data_port_dat_w[15:8];
- if (cache_data_port_we[2])
- data_mem[cache_data_port_adr][23:16] <= cache_data_port_dat_w[23:16];
- if (cache_data_port_we[3])
- data_mem[cache_data_port_adr][31:24] <= cache_data_port_dat_w[31:24];
- memadr_2 <= cache_data_port_adr;
- end
- assign cache_data_port_dat_r = data_mem[memadr_2];
- reg [19:0] tag_mem[0:2047];
- reg [10:0] memadr_3;
- always @(posedge sys_clk) begin
- if (cache_tag_port_we)
- tag_mem[cache_tag_port_adr] <= cache_tag_port_dat_w;
- memadr_3 <= cache_tag_port_adr;
- end
- assign cache_tag_port_dat_r = tag_mem[memadr_3];
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement