diff options
author | H. Peter Anvin <hpa@zytor.com> | 2003-09-12 06:52:39 +0000 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2003-09-12 06:52:39 +0000 |
commit | 680781246fb69a8af28cf7363c8f925a5391cd52 (patch) | |
tree | cb5734d0997d6119846120e6d19d6488aa3ade8f /t80pio | |
parent | 2a5e31192a90f3fdd9f02f1cb9811bb90778aed8 (diff) | |
download | abc80-680781246fb69a8af28cf7363c8f925a5391cd52.tar.gz abc80-680781246fb69a8af28cf7363c8f925a5391cd52.tar.xz abc80-680781246fb69a8af28cf7363c8f925a5391cd52.zip |
Fix syntax issue; more needed
Diffstat (limited to 't80pio')
-rw-r--r-- | t80pio/t80pio.v | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/t80pio/t80pio.v b/t80pio/t80pio.v index c90e487..cdf78ca 100644 --- a/t80pio/t80pio.v +++ b/t80pio/t80pio.v @@ -62,7 +62,7 @@ module T80PIO ( (M == 2'b00) ? D : (M == 2'b01) ? data_in : (M == 2'b10) ? data_in : - (M == 2'b11) ? (D & ~IO) | (data_in & IO); + /* (M == 2'b11) */ (D & ~IO) | (data_in & IO); assign Do = Do_q; @@ -72,7 +72,7 @@ module T80PIO ( (M == 2'b00) ? D : (M == 2'b01) ? data_in : (M == 2'b10) ? D : - (M == 2'b11) ? (D & ~IO) | (data_in & IO); + /* (M == 2'b11) */ (D & ~IO) | (data_in & IO); // Output RDY signals assign ARDY = @@ -96,6 +96,14 @@ module T80PIO ( assign INT_n = ~( need_irq & IEI ); assign IEO = IEI & ~need_irq & ~intak & ~servicing_irq; + // Useful variables for the interrupt code + wire [7:0] xor_mask = ICW[1] ? 8'hFF : 8'h00; + wire irq_cond = ICW[2] ? + // "AND" mode + !((read_data ^ xor_mask) & MB) : + // "OR" mode + ((read_data ^ ~xor_mask) & MB); + always @(posedge CLK_n or negedge RESET_n) begin if ( !RESET_n ) @@ -145,7 +153,7 @@ module T80PIO ( if ( io_next ) IO <= Di; else if ( mb_next ) - MB <= Di + MB <= Di; else begin casex ( Di[3:0] ) @@ -194,14 +202,6 @@ module T80PIO ( // Mode 3 interrupt control if ( M == 2'b11 && ICW[3] ) begin - wire [7:0] xor_mask = ICW[1] ? 8'hFF : 8'h00; - - wire irq_cond = ICW[2] ? - // "AND" mode - !((read_data ^ xor_mask) & MB) : - // "OR" mode - ((read_data ^ ~xor_mask) & MB); - need_irq <= need_irq | irq_cond; end // if ( M == 2'b11 && ICW[3] ) |