Line 57... |
Line 57... |
i_kp_row, o_kp_col,
|
i_kp_row, o_kp_col,
|
// UART control
|
// UART control
|
o_uart_setup,
|
o_uart_setup,
|
// GPIO lines
|
// GPIO lines
|
i_gpio, o_gpio);
|
i_gpio, o_gpio);
|
parameter ZIP_ADDRESS_WIDTH=23, ZA=ZIP_ADDRESS_WIDTH,
|
parameter BUS_ADDRESS_WIDTH=23, ZIP_ADDRESS_WIDTH=BUS_ADDRESS_WIDTH,
|
CMOD_ZIPCPU_RESET_ADDRESS=23'h400100,
|
CMOD_ZIPCPU_RESET_ADDRESS=23'h400100,
|
BUS_ADDRESS_WIDTH=23, BAW=23; // 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;
|
// The bus commander, via an external JTAG port
|
|
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;
|
output reg [7:0] o_tx_data;
|
output reg [7:0] o_tx_data;
|
input i_tx_busy;
|
input i_tx_busy;
|
Line 258... |
Line 257... |
wire [31:0] pic_data;
|
wire [31:0] pic_data;
|
icontrol #(11) pic(i_clk, 1'b0, (wb_stb)&&(io_sel)
|
icontrol #(11) pic(i_clk, 1'b0, (wb_stb)&&(io_sel)
|
&&(wb_addr[3:0]==4'h0)&&(wb_we),
|
&&(wb_addr[3:0]==4'h0)&&(wb_we),
|
wb_data, pic_data, int_vector, w_interrupt);
|
wb_data, pic_data, int_vector, w_interrupt);
|
|
|
initial bus_err_addr = `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 zta_ack, zta_stall, ztb_ack, ztb_stall;
|
Line 288... |
Line 287... |
always @(posedge i_clk)
|
always @(posedge i_clk)
|
r_rtc_ack <= ((wb_stb)&&(rtc_sel));
|
r_rtc_ack <= ((wb_stb)&&(rtc_sel));
|
assign rtc_ack = r_rtc_ack;
|
assign rtc_ack = r_rtc_ack;
|
|
|
rtclight
|
rtclight
|
#(32'h35afe5,23,0,0) // 80 MHz clock
|
#(23'h35afe5,23,0,0) // 80 MHz clock
|
thetime(i_clk, wb_cyc,
|
thetime(i_clk, wb_cyc,
|
((wb_stb)&&(rtc_sel)), wb_we,
|
((wb_stb)&&(rtc_sel)), wb_we,
|
{ 1'b0, wb_addr[1:0] }, wb_data, rtc_data,
|
{ 1'b0, wb_addr[1:0] }, wb_data, rtc_data,
|
rtc_interrupt, ppd);
|
rtc_interrupt, ppd);
|
`else
|
`else
|