aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Ettus <matt@ettus.com>2010-04-15 21:27:03 -0700
committerMatt Ettus <matt@ettus.com>2010-04-15 21:27:03 -0700
commit23316f1ac73c917757a70980c3a9f251852ee426 (patch)
treec2b296176ae18648f7d201f345a95b327dbc3feb
parentd94a0fbea165463a132006a15eb8548cde79a4d2 (diff)
downloaduhd-23316f1ac73c917757a70980c3a9f251852ee426.tar.gz
uhd-23316f1ac73c917757a70980c3a9f251852ee426.tar.bz2
uhd-23316f1ac73c917757a70980c3a9f251852ee426.zip
added pps and time capability
-rw-r--r--usrp2/top/u1e/u1e.ucf2
-rw-r--r--usrp2/top/u1e/u1e.v6
-rw-r--r--usrp2/top/u1e/u1e_core.v18
3 files changed, 21 insertions, 5 deletions
diff --git a/usrp2/top/u1e/u1e.ucf b/usrp2/top/u1e/u1e.ucf
index c39759d0b..1c8dfc197 100644
--- a/usrp2/top/u1e/u1e.ucf
+++ b/usrp2/top/u1e/u1e.ucf
@@ -208,7 +208,7 @@ NET "dip_sw<0>" LOC = "J7" ;
#NET "TXSYNC" LOC = "U18" ;
#NET "TXBLANK" LOC = "U19" ;
-#NET "PPS_IN" LOC = "M17" ;
+NET "PPS_IN" LOC = "M17" ;
NET "io_tx<0>" LOC = "AB20" ;
NET "io_tx<1>" LOC = "Y17" ;
diff --git a/usrp2/top/u1e/u1e.v b/usrp2/top/u1e/u1e.v
index ab270879c..b8f716d26 100644
--- a/usrp2/top/u1e/u1e.v
+++ b/usrp2/top/u1e/u1e.v
@@ -20,7 +20,8 @@ module u1e
input cgen_st_status, input cgen_st_ld, input cgen_st_refmon, output cgen_sync_b, output cgen_ref_sel,
output overo_gpio144, output overo_gpio145, output overo_gpio146, output overo_gpio147, // Fifo controls
- inout [15:0] io_tx, inout [15:0] io_rx
+ inout [15:0] io_tx, inout [15:0] io_rx,
+ input PPS_IN
);
// FPGA-specific pins connections
@@ -50,6 +51,7 @@ module u1e
.cgen_sync_b(cgen_sync_b), .cgen_ref_sel(cgen_ref_sel),
.tx_have_space(overo_gpio144), .tx_underrun(overo_gpio145),
.rx_have_data(overo_gpio146), .rx_overrun(overo_gpio147),
- .io_tx(io_tx), .io_rx(io_rx) );
+ .io_tx(io_tx), .io_rx(io_rx),
+ .pps_in(PPS_IN) );
endmodule // u1e
diff --git a/usrp2/top/u1e/u1e_core.v b/usrp2/top/u1e/u1e_core.v
index 30396de3a..9e65faeed 100644
--- a/usrp2/top/u1e/u1e_core.v
+++ b/usrp2/top/u1e/u1e_core.v
@@ -13,7 +13,9 @@ module u1e_core
input cgen_st_status, input cgen_st_ld, input cgen_st_refmon, output cgen_sync_b, output cgen_ref_sel,
output tx_have_space, output tx_underrun, output rx_have_data, output rx_overrun,
- inout [15:0] io_tx, inout [15:0] io_rx
+ inout [15:0] io_tx, inout [15:0] io_rx,
+
+ input pps_in
);
wire wb_clk = clk_fpga;
@@ -249,7 +251,19 @@ module u1e_core
(.clk_i(wb_clk), .rst_i(wb_rst),
.adr_i(s6_adr), .sel_i(s6_sel), .dat_i(s6_dat_mosi), .dat_o(s6_dat_miso),
.we_i(s6_we), .stb_i(s6_stb), .cyc_i(s6_cyc), .ack_o(s6_ack),
- .run_rx(), .run_tx(), .master_time(0), .ctrl_lines(atr_lines));
+ .run_rx(0), .run_tx(0), .ctrl_lines(atr_lines));
+
+
+ // /////////////////////////////////////////////////////////////////////////
+ // VITA Timing
+
+ localparam SR_TIME64 = 0;
+ wire pps_int;
+ wire [63:0] vita_time;
+
+ time_64bit #(.TICKS_PER_SEC(32'd64000000),.BASE(SR_TIME64)) time_64bit
+ (.clk(wb_clk), .rst(wb_rst), .set_stb(set_stb), .set_addr(set_addr), .set_data(set_data),
+ .pps(pps_in), .vita_time(vita_time), .pps_int(pps_int));
// /////////////////////////////////////////////////////////////////////////////////////
// Debug circuitry