Line 58... |
Line 58... |
// UART control
|
// UART control
|
o_uart_setup,
|
o_uart_setup,
|
// GPIO lines
|
// GPIO lines
|
i_gpio, o_gpio);
|
i_gpio, o_gpio);
|
parameter BUS_ADDRESS_WIDTH=23, ZIP_ADDRESS_WIDTH=BUS_ADDRESS_WIDTH,
|
parameter BUS_ADDRESS_WIDTH=23, ZIP_ADDRESS_WIDTH=BUS_ADDRESS_WIDTH,
|
CMOD_ZIPCPU_RESET_ADDRESS=23'h400100,
|
CMOD_ZIPCPU_RESET_ADDRESS=23'h480000,
|
ZA=ZIP_ADDRESS_WIDTH, BAW=BUS_ADDRESS_WIDTH; // 24bits->2,258,23b->2181
|
ZA=ZIP_ADDRESS_WIDTH, BAW=BUS_ADDRESS_WIDTH; // 24bits->2,258,23b->2181
|
input i_clk, i_rst;
|
input i_clk, i_rst;
|
input i_rx_stb;
|
input i_rx_stb;
|
input [7:0] i_rx_data;
|
input [7:0] i_rx_data;
|
output reg o_tx_stb;
|
output reg o_tx_stb;
|
Line 220... |
Line 220... |
assign none_sel =((wb_cyc)&&(wb_stb)&&(io_addr==6'h0));
|
assign none_sel =((wb_cyc)&&(wb_stb)&&(io_addr==6'h0));
|
/*
|
/*
|
assign many_sel =((wb_cyc)&&(wb_stb)&&(
|
assign many_sel =((wb_cyc)&&(wb_stb)&&(
|
{3'h0, io_sel}
|
{3'h0, io_sel}
|
+{3'h0, flctl_sel}
|
+{3'h0, flctl_sel}
|
// +{3'h0, scop_sel}
|
+{3'h0, scop_sel}
|
+{3'h0, cfg_sel}
|
+{3'h0, cfg_sel}
|
|
+{3'h0, rtc_sel}
|
+{3'h0, mem_sel}
|
+{3'h0, mem_sel}
|
+{3'h0, flash_sel} > 1));
|
+{3'h0, flash_sel} > 1));
|
*/
|
*/
|
assign many_sel = 1'b0;
|
assign many_sel = 1'b0;
|
|
|
Line 262... |
Line 263... |
initial bus_err_addr = 0; // `DATESTAMP;
|
initial bus_err_addr = 0; // `DATESTAMP;
|
always @(posedge i_clk)
|
always @(posedge i_clk)
|
if (wb_err)
|
if (wb_err)
|
bus_err_addr <= wb_addr;
|
bus_err_addr <= wb_addr;
|
|
|
wire zta_ack, zta_stall, ztb_ack, ztb_stall;
|
|
wire [31:0] timer_a, timer_b;
|
wire [31:0] timer_a, timer_b;
|
ziptimer #(32,20)
|
wire zta_ack, zta_stall, ztb_ack, ztb_stall;
|
|
ziptimer #(32,31)
|
zipt_a(i_clk, 1'b0, 1'b1, wb_cyc,
|
zipt_a(i_clk, 1'b0, 1'b1, wb_cyc,
|
(wb_stb)&&(io_sel)&&(wb_addr[3:0]==4'h2),
|
(wb_stb)&&(io_sel)&&(wb_addr[3:0]==4'h2),
|
wb_we, wb_data, zta_ack, zta_stall, timer_a,
|
wb_we, wb_data, zta_ack, zta_stall, timer_a,
|
tmra_int);
|
tmra_int);
|
ziptimer #(32,20)
|
ziptimer #(32,31)
|
zipt_b(i_clk, 1'b0, 1'b1, wb_cyc,
|
zipt_b(i_clk, 1'b0, 1'b1, wb_cyc,
|
(wb_stb)&&(io_sel)&&(wb_addr[3:0]==4'h3),
|
(wb_stb)&&(io_sel)&&(wb_addr[3:0]==4'h3),
|
wb_we, wb_data, ztb_ack, ztb_stall, timer_b,
|
wb_we, wb_data, ztb_ack, ztb_stall, timer_b,
|
tmrb_int);
|
tmrb_int);
|
|
|
Line 387... |
Line 388... |
|
|
|
|
//
|
//
|
// FLASH MEMORY CONFIGURATION ACCESS
|
// FLASH MEMORY CONFIGURATION ACCESS
|
//
|
//
|
wire flash_cs_n, flash_sck, flash_mosi;
|
|
wbqspiflash #(24) flashmem(i_clk,
|
wbqspiflash #(24) flashmem(i_clk,
|
wb_cyc,(wb_stb&&flash_sel),(wb_stb)&&(flctl_sel),wb_we,
|
wb_cyc,(wb_stb)&&(flash_sel),(wb_stb)&&(flctl_sel),wb_we,
|
wb_addr[(24-3):0], wb_data,
|
wb_addr[(24-3):0], wb_data,
|
flash_ack, flash_stall, flash_data,
|
flash_ack, flash_stall, flash_data,
|
o_qspi_sck, o_qspi_cs_n, o_qspi_mod, o_qspi_dat, i_qspi_dat,
|
o_qspi_sck, o_qspi_cs_n, o_qspi_mod, o_qspi_dat, i_qspi_dat,
|
flash_interrupt);
|
flash_interrupt);
|
|
|