home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!europa.asd.contel.com!howland.reston.ans.net!zaphod.mps.ohio-state.edu!saimiri.primate.wisc.edu!ames!pacbell.com!network.ucsd.edu!sdcc12!cs!jlodman
- From: jlodman@cs.ucsd.edu (Michael Lodman)
- Newsgroups: comp.lang.verilog
- Subject: Re: execution of always blocks
- Message-ID: <42799@sdcc12.ucsd.edu>
- Date: 22 Dec 92 02:11:54 GMT
- References: <13665@optilink.COM> <1992Dec18.174451.11544@newsgate.sps.mot.com> <1992Dec18.200153.25828@twisto.eng.hou.compaq.com>
- Sender: news@sdcc12.ucsd.edu
- Organization: CSE Department, UC San Diego
- Lines: 21
- Nntp-Posting-Host: beowulf.ucsd.edu
-
- In article <1992Dec18.200153.25828@twisto.eng.hou.compaq.com> ehlers@tiktok.eng.hou.compaq.com (Steve Ehlers) writes:
- >Which is fine if you only care about which ONE is last. If you have
- >three (or more) registers, you'll still have problems. Using the
- >non-blocking assignment operator ( <= ) will give you the behavior you want:
- >
- > always @(posedge Clk) c <= b;
- > always @(posedge Clk) b <= a;
-
- I've always wondered why Verilog, an HDL, had a blocking assignment as
- the default to begin with. Early Verilog designs were excessively verbose,
- with the creation of non-existant "registers" and wire delay terms to
- get around this problem. The recent introduction of the non-blocking
- assignemnt seems to me long overdue on the part of the language designers.
-
- With the non-blocking assignemnt, what used to be somewhat tedious is now
- a breeze as the model works exactly like I expect the hardware to.
-
- --
- Michael Lodman Department of Computer Science Engineering
- University of California, San Diego
- jlodman@cs.ucsd.edu (619) 455-1500 x2627
-