3 == Ports ===========================================================
10 percolate up: dram_addr_ 32
11 percolate up: dram_addr_r_ 1
12 percolate down: dram_addr_a 1
13 percolate up: dram_isread_ 1
14 percolate up: dram_write_data_ 64
15 percolate up: dram_write_data_push_ 1
16 percolate down: dram_write_data_full 1
17 percolate down: dram_read_data 64
18 percolate up: dram_read_data_pop_ 1
19 percolate down: dram_read_data_empty 1
20 percolate down: dram_read_data_latency 2
22 == TeX ==============================================================
24 == Fleeterpreter ====================================================
25 public void service() { }
26 == FleetSim ==============================================================
28 == FPGA ==============================================================
32 reg dram_write_data_push;
33 reg dram_read_data_pop;
34 reg [`WORDWIDTH:0] out_d;
35 wire [31:0] dram_addr__;
37 assign dram_addr_r_ = dram_addr_r;
38 assign dram_isread_ = dram_isread;
39 assign dram_addr__ = !dram_isread ? inAddrWrite_d[31:0] : inAddrRead_d[31:0];
40 assign dram_addr_ = { dram_addr__[30:6], 1'b0, dram_addr__[5:0] };
41 assign dram_write_data_push_ = dram_write_data_push;
42 assign dram_read_data_pop_ = dram_read_data_pop;
43 assign dram_write_data_ = inDataWrite_d;
44 // assign dram_write_data_ = inDataWrite_d[(`WORDWIDTH-1):0];
45 assign out_d_ = out_d;
47 always @(posedge clk) begin
53 dram_read_data_pop <= 0;
59 if (dram_addr_r && !dram_addr_a) begin
61 end else if (dram_addr_r && dram_addr_a && !dram_isread) begin
66 out_d <= { 1'b1, 37'b0 };
67 end else if (dram_addr_r && dram_addr_a && dram_isread) begin
71 out_d <= { 1'b0, dram_read_data[36:0] };
72 end else if (`out_empty && `inAddrWrite_full && `inDataWrite_full && !dram_addr_r && !dram_addr_a) begin
75 end else if (`out_empty && `inAddrRead_full && !dram_addr_r && !dram_addr_a) begin
83 == Test ========================================================
86 == Constants ========================================================
88 == Contributors =========================================================
89 Adam Megacz <megacz@cs.berkeley.edu>