Changeset 84 for trunk/MultiChannelUSB/histogram.v
- Timestamp:
- Dec 21, 2009, 5:09:06 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/MultiChannelUSB/histogram.v
r72 r84 12 12 // signal declaration 13 13 reg [3:0] state_reg, state_next; 14 reg flag_reg, flag_next;15 14 reg wren_reg, wren_next; 16 15 reg [11:0] addr_reg, addr_next; … … 18 17 19 18 wire [W-1:0] q_a_wire, q_b_wire; 20 21 wire [11:0] addr_wire;22 wire [W-1:0] data_wire;23 24 assign addr_wire = (flag_reg) ? data : addr_reg;25 assign data_wire = (flag_reg) ? (q_a_wire + 32'd1) : data_reg;26 19 27 20 altsyncram #( … … 39 32 .outdata_aclr_a("NONE"), 40 33 .outdata_aclr_b("NONE"), 41 .outdata_reg_a(" UNREGISTERED"),42 .outdata_reg_b(" UNREGISTERED"),34 .outdata_reg_a("CLOCK0"), 35 .outdata_reg_b("CLOCK0"), 43 36 .power_up_uninitialized("FALSE"), 44 37 .read_during_write_mode_mixed_ports("OLD_DATA"), … … 53 46 .clock0(clk), 54 47 .wren_b(1'b0), 55 .address_a(addr_ wire),48 .address_a(addr_reg), 56 49 .address_b(address), 57 .data_a(data_ wire),50 .data_a(data_reg), 58 51 .data_b(), 59 52 .q_a(q_a_wire), … … 79 72 if (reset) 80 73 begin 81 flag_reg <= 1'b0;82 74 wren_reg <= 1'b1; 83 75 addr_reg <= 12'd0; … … 87 79 else 88 80 begin 89 flag_reg <= flag_next;90 81 wren_reg <= wren_next; 91 82 addr_reg <= addr_next; … … 97 88 always @* 98 89 begin 99 flag_next = flag_reg;100 90 wren_next = wren_reg; 101 91 addr_next = addr_reg; … … 106 96 begin 107 97 // nothing to do 108 flag_next = 1'b0;109 98 wren_next = 1'b0; 110 99 addr_next = 12'd0; … … 118 107 if (&addr_reg) 119 108 begin 120 flag_next = 1'b1;121 109 wren_next = 1'b0; 122 110 state_next = 4'd2; … … 130 118 2: 131 119 begin 120 wren_next = 1'b0; 132 121 if (data_ready) 133 122 begin 134 if (&q_a_wire) 135 begin 136 flag_next = 1'b0; 137 state_next = 4'd0; 138 end 139 else 140 begin 141 wren_next = 1'b1; 142 state_next = 4'd3; 143 end 123 addr_next = data; 124 state_next = 4'd3; 144 125 end 145 126 end … … 147 128 3: 148 129 begin 149 wren_next = 1'b0; 150 state_next = 4'd2; 130 state_next = 4'd4; 131 end 132 133 4: 134 begin 135 if (&q_a_wire) 136 begin 137 state_next = 4'd0; 138 end 139 else 140 begin 141 wren_next = 1'b1; 142 data_next = q_a_wire + 32'd1; 143 state_next = 4'd2; 144 end 151 145 end 152 146 153 147 default: 154 148 begin 155 flag_next = 1'b0;156 149 wren_next = 1'b0; 157 150 addr_next = 12'd0;
Note:
See TracChangeset
for help on using the changeset viewer.