connecting tristates

Hi,

Currently I'm working on a OPB to ISA bridge to be included as a peripheral in a Microblaze system. To verify that the bridge works, I've also made a GPIO that is connected as a peripheral on the ISA bus. The ISA data bus is bidirectional and is thus implemented as a tristate port. Since the data port on the ISA GPIO also is bidirectional, that is also implemented as a tristate. The problem is that when the two tristate signals are connected in the system.mhs file (data = isa_sd) XST interprets that to connect the isa_sd_i with data_i, isa_sd_o with data_o, and isa_sd_t with data_t. I have also tried to separate the data ports on the GPIO side, but I haven't worked out how to specify that isa_sd_o should be connected to data_i and isa_sd_i to data_o.

Does anyone with more experience on this matter than me have any good suggestions on how to solve the problem?

Johan

Reply to
Johan BernspÄng
Loading thread data ...

You can use SR 16636 as a starting point.

formatting link

Once you have the INOUT port broken out to the individual _T, _I, and _O ports in the MPD.

You can then assign these ports in the MHS.

BEGIN isa_gpio PORT isa_sd_o =3D data_i PORT isa_sd_i =3D data_o END

BEGIN opb_gpio PORT GPIO_I =3D data_i PORT GPIO_O =3D data_o END

Johan Bernsp=E5ng wrote:

eral

a

is

a
a

ed in

e

have

orked

sd_i

--=20 / 7'7 Paulo Dutra ( snipped-for-privacy@xilinx.com) \ \ ` Xilinx snipped-for-privacy@xilinx.com / / 2100 Logic Drive

formatting link
\_\/.\ San Jose, California 95124-3450 USA

Reply to
Paulo Dutra

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.