From a170b9b42345794429486dd4f3316e84ea2cc871 Mon Sep 17 00:00:00 2001 From: Josh Blum Date: Fri, 22 Jan 2010 11:46:58 -0800 Subject: Moved usrp1 fpga files into usrp1 subdir. --- usrp1/models/bustri.v | 17 ++++++++++ usrp1/models/fifo.v | 82 +++++++++++++++++++++++++++++++++++++++++++++++ usrp1/models/fifo_1c_1k.v | 81 ++++++++++++++++++++++++++++++++++++++++++++++ usrp1/models/fifo_1c_2k.v | 81 ++++++++++++++++++++++++++++++++++++++++++++++ usrp1/models/fifo_1c_4k.v | 76 +++++++++++++++++++++++++++++++++++++++++++ usrp1/models/fifo_1k.v | 24 ++++++++++++++ usrp1/models/fifo_2k.v | 24 ++++++++++++++ usrp1/models/fifo_4k.v | 24 ++++++++++++++ usrp1/models/fifo_4k_18.v | 26 +++++++++++++++ usrp1/models/pll.v | 33 +++++++++++++++++++ usrp1/models/ssram.v | 38 ++++++++++++++++++++++ 11 files changed, 506 insertions(+) create mode 100644 usrp1/models/bustri.v create mode 100644 usrp1/models/fifo.v create mode 100644 usrp1/models/fifo_1c_1k.v create mode 100644 usrp1/models/fifo_1c_2k.v create mode 100644 usrp1/models/fifo_1c_4k.v create mode 100644 usrp1/models/fifo_1k.v create mode 100644 usrp1/models/fifo_2k.v create mode 100644 usrp1/models/fifo_4k.v create mode 100644 usrp1/models/fifo_4k_18.v create mode 100644 usrp1/models/pll.v create mode 100644 usrp1/models/ssram.v (limited to 'usrp1/models') diff --git a/usrp1/models/bustri.v b/usrp1/models/bustri.v new file mode 100644 index 000000000..6e5a0f74c --- /dev/null +++ b/usrp1/models/bustri.v @@ -0,0 +1,17 @@ + +// Model for tristate bus on altera +// FIXME do we really need to use a megacell for this? + +module bustri (data, + enabledt, + tridata); + + input [15:0] data; + input enabledt; + inout [15:0] tridata; + + assign tridata = enabledt ? data :16'bz; + +endmodule // bustri + + diff --git a/usrp1/models/fifo.v b/usrp1/models/fifo.v new file mode 100644 index 000000000..0ade49e9c --- /dev/null +++ b/usrp1/models/fifo.v @@ -0,0 +1,82 @@ +// Model of FIFO in Altera + +module fifo( data, wrreq, rdreq, rdclk, wrclk, aclr, q, + rdfull, rdempty, rdusedw, wrfull, wrempty, wrusedw); + + parameter width = 16; + parameter depth = 1024; + parameter addr_bits = 10; + + //`define rd_req 0; // Set this to 0 for rd_ack, 1 for rd_req + + input [width-1:0] data; + input wrreq; + input rdreq; + input rdclk; + input wrclk; + input aclr; + output [width-1:0] q; + output rdfull; + output rdempty; + output reg [addr_bits-1:0] rdusedw; + output wrfull; + output wrempty; + output reg [addr_bits-1:0] wrusedw; + + reg [width-1:0] mem [0:depth-1]; + reg [addr_bits-1:0] rdptr; + reg [addr_bits-1:0] wrptr; + +`ifdef rd_req + reg [width-1:0] q; +`else + wire [width-1:0] q; +`endif + + integer i; + + always @( aclr) + begin + wrptr <= #1 0; + rdptr <= #1 0; + for(i=0;i