bootstrap_enb <= 1;
end
- always @(posedge clk)
+ always @(negedge clk) /* Set things up at the negedge to prepare for the posedge. */
case (state)
`STATE_FETCH: begin
if (newcycle) begin
if (wr)
buswdata <= wdata;
end
+ end
+ `STATE_DECODE: begin /* Make sure this only happens for one clock. */
+ end
+ endcase
+
+ always @(posedge clk)
+ case (state)
+ `STATE_FETCH: begin
+ /* Things are set up in negedge so that something looking on posedge will get his shit. */
state <= `STATE_DECODE;
end
`STATE_DECODE: begin
ie <= 1;
iedelay <= 0;
end
- buswr <= 0;
- busrd <= 0;
wr <= 0;
rd <= 0;
+ buswr <= 0;
+ busrd <= 0;
address <= 16'bxxxxxxxxxxxxxxxx; // Make it obvious if something of type has happened.
wdata <= 8'bxxxxxxxx;
state <= `STATE_EXECUTE;