diff --git a/README b/README.md similarity index 96% rename from README rename to README.md index dc2056b..42e6ad6 100644 --- a/README +++ b/README.md @@ -18,6 +18,8 @@ address. This allows direct connection to (Xilinx) block RAMs. When using asynchronous memory, I suggest registering the address/control lines for glitchless output signals. +[Also check out my new 65C02 project](https://github.com/Arlet/verilog-65c02) + Have fun. ========== diff --git a/cpu.v b/cpu.v index a08804f..ed8da62 100644 --- a/cpu.v +++ b/cpu.v @@ -836,15 +836,6 @@ always @(posedge clk ) * time to read the IR again before the next decode. */ -reg RDY1 = 1; - -always @(posedge clk ) - RDY1 <= RDY; - -always @(posedge clk ) - if( ~RDY && RDY1 ) - DIHOLD <= DI; - always @(posedge clk ) if( reset ) IRHOLD_valid <= 0; @@ -859,7 +850,11 @@ always @(posedge clk ) assign IR = (IRQ & ~I) | NMI_edge ? 8'h00 : IRHOLD_valid ? IRHOLD : DIMUX; -assign DIMUX = ~RDY1 ? DIHOLD : DI; +always @(posedge clk ) + if( RDY ) + DIHOLD <= DI; + +assign DIMUX = ~RDY ? DIHOLD : DI; /* * Microcode state machine