mirror of
https://github.com/UzixLS/zx-sizif-xxs.git
synced 2025-07-18 23:01:40 +03:00
fix io contention
This commit is contained in:
@ -30,12 +30,12 @@ module cpucontrol(
|
|||||||
|
|
||||||
|
|
||||||
/* CONTENTION */
|
/* CONTENTION */
|
||||||
wire iorq_contended = bus.iorq && (~bus.a[0] || (~bus.a[1] && ~bus.a[15] && bus.wr)) && (machine != MACHINE_S3);
|
wire iorq_contended = bus.iorq && (~bus.a_reg[0] || (~bus.a_reg[1] && ~bus.a[15] && bus.wr)) && (machine != MACHINE_S3);
|
||||||
reg mreq_delayed, iorq_delayed;
|
reg mreq_delayed, iorq_delayed;
|
||||||
always @(posedge clkcpu)
|
always @(posedge clkcpu)
|
||||||
mreq_delayed <= bus.mreq;
|
mreq_delayed <= bus.mreq;
|
||||||
always @(posedge clkcpu)
|
always @(posedge clkcpu)
|
||||||
iorq_delayed <= bus.iorq && ~bus.a[0];
|
iorq_delayed <= bus.iorq && ~bus.a_reg[0];
|
||||||
wire contention_mem_page = (machine == MACHINE_S3)? rampage128[2] : rampage128[0];
|
wire contention_mem_page = (machine == MACHINE_S3)? rampage128[2] : rampage128[0];
|
||||||
wire contention_mem_addr = bus.a[14] & (~bus.a[15] | (bus.a[15] & contention_mem_page));
|
wire contention_mem_addr = bus.a[14] & (~bus.a[15] | (bus.a[15] & contention_mem_page));
|
||||||
wire contention_mem = iorq_delayed == 1'b0 && mreq_delayed == 1'b0 && contention_mem_addr;
|
wire contention_mem = iorq_delayed == 1'b0 && mreq_delayed == 1'b0 && contention_mem_addr;
|
||||||
|
Reference in New Issue
Block a user