[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pci] about bus conflict
when I do post simulation for my own pci bridge which uses Blue Beaver's pci model, I get warning information as "bus conflict". I check the code and find out that it is due to the code as following:
assign #`PAD_MIN_DATA_DLY pci_ad_out_dly1[PCI_BUS_DATA_RANGE:0] = pci_ad_out[PCI_BUS_DATA_RANGE:0];
assign #`PAD_MAX_DATA_DLY pci_ad_out_dly2[PCI_BUS_DATA_RANGE:0] = pci_ad_out[PCI_BUS_DATA_RANGE:0];
wire pci_ad_oe;
wire pci_ad_oe_dly1, pci_ad_oe_dly2;
assign #`PAD_MIN_OE_DLY pci_ad_oe_dly1 = pci_ad_oe;
assign #`PAD_MAX_OE_DLY pci_ad_oe_dly2 = pci_ad_oe;
wire force_ad_x = (pci_ad_oe_dly1 !== pci_ad_oe_dly2)
| (pci_ad_oe & (pci_ad_out_dly1 !== pci_ad_out_dly2));
assign pci_ext_ad[PCI_BUS_DATA_RANGE:0] = force_ad_x ? `PCI_BUS_DATA_X
: (pci_ad_oe_dly2
? pci_ad_out_dly2[PCI_BUS_DATA_RANGE:0]
: `PCI_BUS_DATA_Z);
since PAD_MIN_DLY is not equal PAD_MAX_DLY, there is bus conflict near the posedge of clock.
so i am just wondering why add PAD_MIN_DLY and PAD_MAX_DLY for signals. can I define same value for PAD_MIN_DLY and PAD_MAX_DLY to remove the "bus conflict" warning?
Regards
sumnow
--
To unsubscribe from pci mailing list please visit http://www.opencores.org/mailinglists.shtml