2 changes: 2 additions & 0 deletions .gitignore
Expand Up @@ -7,6 +7,8 @@
*.fpg
*.raw
*.fbi
*.swn
*.swo
boards/milkymist-one/synthesis/build
boards/milkymist-one/synthesis/build-rescue
boards/milkymist-one/standby/build
Expand Down
157 changes: 39 additions & 118 deletions boards/milkymist-one/rtl/system.v
Expand Up @@ -311,8 +311,8 @@ wire [31:0] norflash_adr,
usb_adr,
eth_adr,
brg_adr,
csrbrg_adr;
//gps_receiver_adr;
csrbrg_adr,
namuru_adr;

wire [2:0] brg_cti;

Expand All @@ -327,48 +327,48 @@ wire [31:0] norflash_dat_r,
brg_dat_r,
brg_dat_w,
csrbrg_dat_r,
csrbrg_dat_w;
//gps_receiver_dat_r,
//gps_receiver_dat_w;
csrbrg_dat_w,
namuru_dat_r,
namuru_dat_w;

wire [3:0] norflash_sel,
monitor_sel,
usb_sel,
eth_sel,
brg_sel;
//gps_receiver_sel;
brg_sel,
namuru_sel;

wire norflash_we,
monitor_we,
usb_we,
eth_we,
brg_we,
csrbrg_we;
// gps_receiver_we;
csrbrg_we,
namuru_we;

wire norflash_cyc,
monitor_cyc,
usb_cyc,
eth_cyc,
brg_cyc,
csrbrg_cyc;
// gps_receiver_cyc;
csrbrg_cyc,
namuru_cyc;

wire norflash_stb,
monitor_stb,
usb_stb,
eth_stb,
brg_stb,
csrbrg_stb;
//gps_receiver_stb;
csrbrg_stb,
namuru_stb;

wire norflash_ack,
monitor_ack,
usb_ack,
eth_ack,
brg_ack,
csrbrg_ack;
// gps_receiver_ack;
csrbrg_ack,
namuru_ack;

//---------------------------------------------------------------------------
// Wishbone switch
Expand Down Expand Up @@ -473,25 +473,15 @@ conbus5x7 #(
.s1_stb_o(monitor_stb),
.s1_ack_i(monitor_ack),
// Slave 2
.s2_dat_i(32'd0),
.s2_dat_o(),
.s2_adr_o(),
.s2_dat_i(namuru_dat_r),
.s2_dat_o(namuru_dat_w),
.s2_adr_o(namuru_adr),
.s2_cti_o(),
.s2_sel_o(),
.s2_we_o(),
.s2_cyc_o(),
.s2_stb_o(),
.s2_ack_i(1'd0),
/* Slave 2
.s2_dat_i(gps_receiver_dat_r),
.s2_dat_o(gps_receiver_dat_w),
.s2_adr_o(gps_receiver__adr),
.s2_cti_o(),
.s2_sel_o(gps_receiver_sel),
.s2_we_o(gps_receiver_we),
.s2_cyc_o(gps_receiver_cyc),
.s2_stb_o(gps_receiver_stb),
.s2_ack_i(gps_receiver_ack), */
.s2_sel_o(namuru_sel),
.s2_we_o(namuru_we),
.s2_cyc_o(namuru_cyc),
.s2_stb_o(namuru_stb),
.s2_ack_i(namuru_ack),
// Slave 2
/*.s2_dat_i(usb_dat_r),
.s2_dat_o(usb_dat_w),
Expand Down Expand Up @@ -522,16 +512,6 @@ conbus5x7 #(
.s4_cyc_o(brg_cyc),
.s4_stb_o(brg_stb),
.s4_ack_i(brg_ack),
// Slave 5
/*.s5_dat_i(gps_receiver_dat_r),
.s5_dat_o(gps_receiver_dat_w),
.s5_adr_o(gps_receiver__adr),
.s5_cti_o(),
.s5_sel_o(gps_receiver_sel),
.s5_we_o(gps_receiver_we),
.s5_cyc_o(gps_receiver_cyc),
.s5_stb_o(gps_receiver_stb),
.s5_ack_i(gps_receiver_ack),*/
// Slave 6
.s5_dat_i(csrbrg_dat_r),
.s5_dat_o(csrbrg_dat_w),
Expand Down Expand Up @@ -565,10 +545,7 @@ wire [31:0] csr_dr_uart,
csr_dr_dmx_tx,
csr_dr_dmx_rx,
csr_dr_ir,
csr_dr_usb,
// csr_dr_uart1,
// csr_dr_gpsreceiver;
csr_dr_namuru;
csr_dr_usb;

//------------------------------------------------------------------
// FML master wires
Expand Down Expand Up @@ -731,9 +708,6 @@ csrbrg csrbrg(
|csr_dr_dmx_rx
|csr_dr_ir
|csr_dr_usb
// |csr_dr_uart1
// |csr_dr_gpsreceiver
|csr_dr_namuru
)
);

Expand Down Expand Up @@ -797,13 +771,9 @@ wire miditx_irq;
wire ir_irq;
wire usb_irq;
wire namuru_irq;
//wire uart1rx_irq;
//wire uart1tx_irq;

wire [31:0] cpu_interrupt;
assign cpu_interrupt = {14'd0,
// uart1tx_irq,
//uart1rx_irq,
namuru_irq,
usb_irq,
ir_irq,
Expand Down Expand Up @@ -1636,78 +1606,29 @@ FD workaround(
`endif

//---------------------------------------------------------------------------
// UART1
//---------------------------------------------------------------------------
/*uart #(
.csr_addr(5'h10),
.clk_freq(`CLOCK_FREQUENCY),
.baud(`BAUD_RATE)
) uart1 (
.sys_clk(sys_clk),
.sys_rst(sys_rst),

.csr_a(csr_a),
.csr_we(csr_we),
.csr_di(csr_dw),
.csr_do(csr_dr_uart1),

.rx_irq(uart1rx_irq),
.tx_irq(uart1tx_irq),

.uart_rx(uart1_rx),
.uart_tx(uart1_tx)
);
*/
//---------------------------------------------------------------------------
// L1 GPS Receiver
// namuru GPS Correlator
//---------------------------------------------------------------------------
/* gpsreceiver2 #(
.csr_addr(5'hf),
) gpsreceiver2 (
namuru baseband (
.sys_clk(sys_clk),
.sys_rst(sys_rst),

.wb_adr_i(gps_receiver_adr),
.wb_dat_o(gps_receiver_dat_r),
.wb_dat_i(gps_receiver_dat_w),
.wb_sel_i(gps_receiver_sel),
.wb_stb_i(gps_receiver_stb),
.wb_cyc_i(gps_receiver_cyc),
.wb_ack_o(gps_receiver_ack),
.wb_we_i(eth_we),

.csr_a(csr_a),
.csr_we(csr_we),
.csr_di(csr_dw),
.csr_do(csr_dr_gpsreceiver),

.gps_rec_clk(gps_rec_clk),
.gps_rec_sync(gps_rec_sync),
.gps_rec_data(gps_rec_data),
.gps_led(led2),
.gps_rec_overflow(gps_debug_purple),
.gps_rec_rxb0_clk(gps_debug_blue)
//.gps_rec_data_debug(gps_debug_green)
);*/
//---------------------------------------------------------------------------
// Namuru Correlator
//---------------------------------------------------------------------------
namuru #(
.csr_addr(5'h10),
) namuru (
.sys_clk(sys_clk),
.sys_rst(sys_rst),

.csr_a(csr_a),
.csr_we(csr_we),
.csr_di(csr_dw),
.csr_do(csr_dr_namuru),

.accum_int(namuru_irq),
.wb_adr_i(namuru_adr),
.wb_dat_o(namuru_dat_r),
.wb_dat_i(namuru_dat_w),
.wb_sel_i(namuru_sel),
.wb_stb_i(namuru_stb),
.wb_cyc_i(namuru_cyc),
.wb_ack_o(namuru_ack),
.wb_we_i(namuru_we),

.gps_rec_clk(gps_rec_clk),
.gps_rec_sign(gps_rec_sign),
.gps_rec_mag(gps_rec_mag)

//.gps_led(led2),
//.gps_rec_overflow(gps_debug_purple),
//.gps_rec_rxb0_clk(gps_debug_blue)
//.gps_rec_data_debug(gps_debug_green)
);

endmodule
16 changes: 8 additions & 8 deletions boards/milkymist-one/synthesis/common.ucf
Expand Up @@ -66,7 +66,7 @@ NET "btn3" LOC = AB5 | IOSTANDARD = LVCMOS33;

# ==== LEDs ====
NET "led1" LOC = B16 | IOSTANDARD = LVCMOS33 | SLEW = QUIETIO | DRIVE = 24;
NET "led2" LOC = A16 | IOSTANDARD = LVCMOS33 | SLEW = QUIETIO | DRIVE = 24;
#NET "led2" LOC = A16 | IOSTANDARD = LVCMOS33 | SLEW = QUIETIO | DRIVE = 24;

# ==== DDR SDRAM ====
NET "sdram_adr(0)" LOC = B1;
Expand Down Expand Up @@ -309,16 +309,16 @@ NET "exp(*)" IOSTANDARD = LVCMOS33;
NET "exp(*)" PULLDOWN;

# ==== L1 GPS Receiver ====
NET "gps_rec_sync" LOC = A20 | IOSTANDARD = LVCMOS33;
NET "gps_rec_data" LOC = A21 | IOSTANDARD = LVCMOS33;
NET "gps_rec_sign" LOC = A20 | IOSTANDARD = LVCMOS33; #sign - sync
NET "gps_rec_mag" LOC = A21 | IOSTANDARD = LVCMOS33; #mag - data
NET "gps_rec_clk" LOC = B21 | IOSTANDARD = LVCMOS33;
NET "gps_debug_purple" LOC = B22 | IOSTANDARD = LVCMOS33 | SLEW = FAST;
NET "gps_debug_blue" LOC = G16 | IOSTANDARD = LVCMOS33 | SLEW = FAST;
NET "gps_debug_green" LOC = G17 | IOSTANDARD = LVCMOS33 | SLEW = FAST;
#NET "gps_debug_purple" LOC = B22 | IOSTANDARD = LVCMOS33 | SLEW = FAST;
#NET "gps_debug_blue" LOC = G16 | IOSTANDARD = LVCMOS33 | SLEW = FAST;
#NET "gps_debug_green" LOC = G17 | IOSTANDARD = LVCMOS33 | SLEW = FAST;

# ==== UART1 ====
NET "uart1_rx" LOC = G17 | IOSTANDARD = LVCMOS33 | PULLUP; #IO_L13P_1
NET "uart1_tx" LOC = G16 | IOSTANDARD = LVCMOS33 | SLEW = SLOW;
# NET "uart1_rx" LOC = G17 | IOSTANDARD = LVCMOS33 | PULLUP; #IO_L13P_1
# NET "uart1_tx" LOC = G16 | IOSTANDARD = LVCMOS33 | SLEW = SLOW;


# ==== PCB revision ====
Expand Down