Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > vhdl model length of wire with delay ?

Reply
Thread Tools

vhdl model length of wire with delay ?

 
 
Tony Benham
Guest
Posts: n/a
 
      06-24-2005
Hi,
I'm trying to connect the bidirectional databuses of two models together,
and create a delay in the path between them for a testbench. So in effect I
need a piece of wire with a delay that will connect two bidirectional
signals. So if neither bus is driving both ends of the 'wire' would be
tristate, but if either end drives the signal it should be delayed at the
other end of the 'wire', and driven.
I cannot see how to model this at the moment. Can anyone suggest a way of
doing this ?
Regards
Tony


 
Reply With Quote
 
 
 
 
Jonathan Bromley
Guest
Posts: n/a
 
      06-24-2005
On Fri, 24 Jun 2005 13:31:32 GMT, "Tony Benham"
<> wrote:

>I'm trying to connect the bidirectional databuses of two models together,
>and create a delay in the path between them for a testbench. So in effect I
>need a piece of wire with a delay that will connect two bidirectional
>signals. So if neither bus is driving both ends of the 'wire' would be
>tristate, but if either end drives the signal it should be delayed at the
>other end of the 'wire', and driven.
>I cannot see how to model this at the moment. Can anyone suggest a way of
>doing this ?


It's hard, and a weakness of VHDL that it can't easily model such
things.

If you can, by any means at all, split the wire into two
unidirectional pieces, then it is easy. It's worth almost
any amount of effort to do that.

If you really, really can't do that, then there are some tricks
to play that will work in some special cases. For example, if
each bit of your wire is only ever driven with '0', '1', 'X' or
'Z', you can abuse the weak-value states 'H', 'L' and 'W' to
get something like the desired effect. But it's VERY tricky,
especially if either end of the bus has more than one driver
on it.

It's depressingly easy in Verilog: just annotate the wire's
declaration with a delay value.

Ben Cohen's website has a zero-delay bidirectional wire model.
It has some limitations, but it's a lot better than nothing
and you may be able to hack it to add a delay.

Finally, another possible approach is to modify each driver
on the wire so that it implements the delay *in the driver*.
This is messy because you must modify several bits of code,
but it's easy to understand and it's sure to work.

Good luck
--
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL, Verilog, SystemC, Perl, Tcl/Tk, Verification, Project Services

Doulos Ltd. Church Hatch, 22 Market Place, Ringwood, BH24 1AW, UK
Tel: +44 (0)1425 471223 mail:
Fax: +44 (0)1425 471573 Web: http://www.doulos.com

The contents of this message may contain personal views which
are not the views of Doulos Ltd., unless specifically stated.


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
How to force an internal wire which is deep inside DUT hierachy attop level testbench using VHDL design? One Cent VHDL 7 09-10-2012 10:53 PM
DMA 40-pin/80-Wire with a empty spot on one wire? lcs A+ Certification 1 02-02-2006 09:06 AM
2 Wire and 3 Wire Telecom Wiring SchoolTech NZ Computing 1 02-26-2005 08:23 AM
[vhdl] how to wire two signals together? alias not adequate Khashishi VHDL 3 09-22-2004 10:36 PM
diffrence between wire (in verilog) and signal (in vhdl) mohammed rafi VHDL 1 05-06-2004 04:21 PM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57