Line 139... |
Line 139... |
o_oled_sck, o_oled_cs_n, o_oled_mosi, o_oled_dcn,
|
o_oled_sck, o_oled_cs_n, o_oled_mosi, o_oled_dcn,
|
o_oled_reset_n, o_oled_vccen, o_oled_pmoden,
|
o_oled_reset_n, o_oled_vccen, o_oled_pmoden,
|
// The GPS PMod
|
// The GPS PMod
|
i_gps_pps, i_gps_3df
|
i_gps_pps, i_gps_3df
|
);
|
);
|
parameter ZA=28, ZIPINTS=14, RESET_ADDRESS=28'h04e0000;
|
parameter ZA=28, ZIPINTS=15, RESET_ADDRESS=28'h04e0000;
|
input i_clk, i_rst;
|
input i_clk, i_rst;
|
// The bus commander, via an external uart port
|
// The bus commander, via an external uart port
|
input i_rx_stb;
|
input i_rx_stb;
|
input [7:0] i_rx_data;
|
input [7:0] i_rx_data;
|
output wire o_tx_stb;
|
output wire o_tx_stb;
|
Line 226... |
Line 226... |
reg [31:0] wb_idata;
|
reg [31:0] wb_idata;
|
|
|
// Interrupts
|
// Interrupts
|
wire gpio_int, oled_int, flash_int, scop_int;
|
wire gpio_int, oled_int, flash_int, scop_int;
|
wire enet_tx_int, enet_rx_int, sdcard_int, rtc_int, rtc_pps,
|
wire enet_tx_int, enet_rx_int, sdcard_int, rtc_int, rtc_pps,
|
auxrx_int, auxtx_int, gpsrx_int, sw_int, btn_int;
|
auxrx_int, auxtx_int, gpsrx_int, gpstx_int,
|
|
sw_int, btn_int;
|
|
|
//
|
//
|
//
|
//
|
// First BUS master source: The UART
|
// First BUS master source: The UART
|
//
|
//
|
Line 290... |
Line 291... |
wire zip_ack, zip_stall, zip_err;
|
wire zip_ack, zip_stall, zip_err;
|
|
|
`ifdef ZIP_SYSTEM
|
`ifdef ZIP_SYSTEM
|
wire [(ZIPINTS-1):0] zip_interrupt_vec = {
|
wire [(ZIPINTS-1):0] zip_interrupt_vec = {
|
// Lazy(ier) interrupts
|
// Lazy(ier) interrupts
|
oled_int, gpio_int, rtc_int, scop_int, flash_int, sw_int, btn_int,
|
gpio_int, scop_int, flash_int, sw_int, btn_int, rtc_int,
|
// Fast interrupts
|
// Fast interrupts
|
sdcard_int, auxtx_int, auxrx_int, enet_tx_int, enet_rx_int,
|
oled_int, sdcard_int,
|
gpsrx_int, rtc_pps
|
gpstx_int, gpsrx_int,
|
|
auxtx_int, auxrx_int,
|
|
enet_tx_int, enet_rx_int, rtc_pps
|
};
|
};
|
|
|
zipsystem #( .RESET_ADDRESS(RESET_ADDRESS),
|
zipsystem #( .RESET_ADDRESS(RESET_ADDRESS),
|
.ADDRESS_WIDTH(ZA),
|
.ADDRESS_WIDTH(ZA),
|
.LGICACHE(10),
|
.LGICACHE(10),
|
Line 653... |
Line 656... |
// There is no option for turning these off--they will always be on.
|
// There is no option for turning these off--they will always be on.
|
wire [8:0] master_ints;
|
wire [8:0] master_ints;
|
assign master_ints = { zip_cpu_int, oled_int, rtc_int, sdcard_int,
|
assign master_ints = { zip_cpu_int, oled_int, rtc_int, sdcard_int,
|
enet_tx_int, enet_rx_int,
|
enet_tx_int, enet_rx_int,
|
scop_int, flash_int, rtc_pps };
|
scop_int, flash_int, rtc_pps };
|
wire [5:0] board_ints;
|
wire [6:0] board_ints;
|
wire [3:0] w_led;
|
wire [3:0] w_led;
|
wire rtc_ppd;
|
wire rtc_ppd;
|
fastio #(
|
fastio #(
|
.AUXUART_SETUP(30'd705), // 115200 Baud, 8N1, from 81.25M
|
.AUXUART_SETUP(30'd705), // 115200 Baud, 8N1, from 81.25M
|
.GPSUART_SETUP(30'd8464), // 9600 Baud, 8N1
|
.GPSUART_SETUP(30'd8464), // 9600 Baud, 8N1
|
Line 668... |
Line 671... |
wb_cyc, (io_sel)&&(wb_stb), wb_we, wb_addr[4:0],
|
wb_cyc, (io_sel)&&(wb_stb), wb_we, wb_addr[4:0],
|
wb_data, io_ack, io_stall, io_data,
|
wb_data, io_ack, io_stall, io_data,
|
rtc_ppd,
|
rtc_ppd,
|
bus_err_addr, gps_now[63:32], gps_step[47:16], master_ints, w_interrupt,
|
bus_err_addr, gps_now[63:32], gps_step[47:16], master_ints, w_interrupt,
|
board_ints);
|
board_ints);
|
assign { gpio_int, auxrx_int, auxtx_int, gpsrx_int, sw_int, btn_int } = board_ints;
|
assign { gpio_int, auxrx_int, auxtx_int, gpsrx_int, gpstx_int, sw_int, btn_int } = board_ints;
|
|
|
/*
|
/*
|
reg [25:0] dbg_counter_err, dbg_counter_cyc, dbg_counter_sel,
|
reg [25:0] dbg_counter_err, dbg_counter_cyc, dbg_counter_sel,
|
dbg_counter_many;
|
dbg_counter_many;
|
// assign wb_err = (wb_cyc)&&(sel_err || many_ack || slow_many_ack);
|
// assign wb_err = (wb_cyc)&&(sel_err || many_ack || slow_many_ack);
|