home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / lang / vhdl / 606 < prev    next >
Encoding:
Text File  |  1992-12-22  |  1.5 KB  |  42 lines

  1. Newsgroups: comp.lang.vhdl
  2. Path: sparky!uunet!nwnexus!ole!george
  3. From: george@ole.cdac.com (George Lippincott)
  4. Subject: wire primitives in VHDL
  5. Message-ID: <1992Dec22.014551.24293@ole.cdac.com>
  6. Organization: Cascade Design Automation
  7. Date: Tue, 22 Dec 1992 01:45:51 GMT
  8. Lines: 32
  9.  
  10.  
  11. I am trying to figure out a way in VHDL to merge two bidirectional
  12. signals into one signal.  This is something that most of the major
  13. logic simulators let you do but which as far as I can tell is
  14. impossible in VHDL. 
  15.  
  16. This situation comes up when an entity is implemented in such a way 
  17. that two bidirectional ports connect to the same signal.  What I
  18. would like to do is have some way to "short" these two signals together.
  19. Ideally the resolution function would see all of the drivers for
  20. both signals and calculate a value for both nets.
  21.  
  22. This can be done in Verilog like this:
  23.         module wire(w,w)
  24.         inout w;
  25.         endmodule;
  26.  
  27. I haven't been able to figure out a way to do the same thing in VHDL.
  28. If I use the code:
  29.         a <= b;
  30.         b <= a;
  31.  
  32. Then a driver is added to both signals and the value gets stuck at 'U'
  33. due to the nature of the resolution function in the IEEE 1167 package.
  34.  
  35. Does anyone have any idea on how to work around this?
  36.  
  37. ---------------------------------------------------------------------------
  38. George Lippincott               | UUCP:      uunet!ole!george
  39. Cascade Design Automation Corp. | Internet:  george@ole.cdac.com
  40. 3650 131st Ave SE, #650         | TEL:       (206)-649-7661
  41. Bellevue, WA  98006             | FAX:       (206)-649-7600
  42.