![]() |
|
|
|||||||
![]() |
VHDL - Modelsim - forcing signals to 'Z' |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
Hi,
I've got a simple problem with Modelsim. The relevant connections of my system look like that: ------------ ------------ | | | | | | | | | A-----+----B | | | | | | | Module1 | | | Module2 | | | | | | ------------ | ------------ | input to Module3 A and B are declared as inout in Module1 and Module2 (it's a GPIO pin). Both Module1 and Module2 can drive the pin. I can't change the code of Module2 and I can't tell it to stop driving the pin (it drives it to '0'). But I want the pin to be driven only by Module1, so Module3 can see the value driven by Module1. What I tried is forcing (-freeze) signal B to 'Z', but it seems not to work. Any ideas why? Can I do something else? Thanks, DonQ DonQ |
|
|
|
|
#2 |
|
Posts: n/a
|
On Fri, 27 Feb 2004 12:45:30 -0800, DonQ wrote:
> Hi, > > I've got a simple problem with Modelsim. The relevant connections of my > system look like that: > > > ------------ ------------ > | | | | > | | | | > | A-----+----B | > | | | | | > | Module1 | | | Module2 | > | | | | | > ------------ | ------------ > | > input to Module3 > > > A and B are declared as inout in Module1 and Module2 (it's a GPIO pin). > > Both Module1 and Module2 can drive the pin. I can't change the code of > Module2 and I can't tell it to stop driving the pin (it drives it to '0'). > But I want the pin to be driven only by Module1, so Module3 can see the > value driven by Module1. > > What I tried is forcing (-freeze) signal B to 'Z', but it seems not to > work. > Any ideas why? > Can I do something else? > > Thanks, > DonQ Why don't you OR the signals from Module1 and Module2 to the input of Module3?? If Module2 is always 0, then Module3 will see only the value of the signal from Module1?? Chuck Chuck Gales |
|
|
|
#3 |
|
Posts: n/a
|
DonQ wrote:
> Hi, > > I've got a simple problem with Modelsim. > The relevant connections of my system look like that: > > > ------------ ------------ > | | | | > | | | | > | A-----+----B | > | | | | | > | Module1 | | | Module2 | > | | | | | > ------------ | ------------ > | > input to Module3 > > > A and B are declared as inout in Module1 and Module2 (it's a GPIO > pin). > > Both Module1 and Module2 can drive the pin. > I can't change the code of Module2 and I can't tell it to stop driving > the pin (it drives it to '0'). > But I want the pin to be driven only by Module1, so Module3 can see > the value driven by Module1. > > What I tried is forcing (-freeze) signal B to 'Z', but it seems not to > work. > Any ideas why? > Can I do something else? > > Thanks, > DonQ This is your JOB to fix A or B to 'Z, not Modelsim JOB. But your modules need to know when there are output or tristate. You have to do a control with an 'output enable' or other control signal(chip select + read signal), like -- example: A and B are 8-bit vector A <= "00110011" WHEN (A_OE = '1') ELSE (OTHERS => 'Z'); B <= "11001100" WHEN (B_OE = '1') ELSE (OTHERS => 'Z'); -- works if B_OE <= not(A_OE); Just try. Laurent www.amontec.com Amontec Team, Laurent Gauch |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Error in Modelsim 6.0a | boitsas | Software | 1 | 10-26-2009 05:36 AM |
| simprim problems on modelsim | saiyijinprince | Hardware | 2 | 04-05-2007 02:24 PM |
| VHDL assign multiple concatenated signals | veevee1 | VHDL | 0 | 03-07-2007 11:26 AM |
| SCSI Long Cables, High Voltage Differential Signals and Data Skew? | Will Hay | A+ Certification | 1 | 03-04-2004 06:44 PM |
| SCSI Long Cables, High Voltage Differential Signals and Data Skew? | Will Hay | A+ Certification | 0 | 03-04-2004 06:29 PM |