From: Kevin Kilzer Newsgroups: comp.arch.fpga Subject: Visualizing VHDL Reply-To: kkilzer.remove.this@mindspring.com Message-ID: X-Newsreader: Forte Agent 1.93/32.576 English (American) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 6 Date: Wed, 08 Oct 2003 05:49:40 GMT NNTP-Posting-Host: 209.86.26.242 X-Complaints-To: abuse@earthlink.net X-Trace: newsread4.news.pas.earthlink.net 1065592180 209.86.26.242 (Tue, 07 Oct 2003 22:49:40 PDT) NNTP-Posting-Date: Tue, 07 Oct 2003 22:49:40 PDT Organization: EarthLink Inc. -- http://www.EarthLink.net Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.icl.net!newsfeed.fjserv.net!logbridge.uoregon.edu!newshub.sdsu.edu!elnk-nf2-pas!newsfeed.earthlink.net!stamper.news.pas.earthlink.net!newsread4.news.pas.earthlink.net.POSTED!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34106 When you write VHDL (or Verilog for that matter), do you visualize a schematic with wires, gates, flops, latches, muxes, etc., or do you use some other way of thinking about it? Kevin ###### Reply-To: "Martin Euredjian" <0_0_0_0_@pacbell.net> From: "Martin Euredjian" <0_0_0_0_@pacbell.net> Newsgroups: comp.arch.fpga References: Subject: Re: Visualizing VHDL Lines: 25 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Message-ID: NNTP-Posting-Host: 64.170.224.250 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr25.news.prodigy.com 1065592604 ST000 64.170.224.250 (Wed, 08 Oct 2003 01:56:44 EDT) NNTP-Posting-Date: Wed, 08 Oct 2003 01:56:44 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: FKPO@MC@@S@YRWLX@JJ^_VTDEB\@PD\MNPWZKB]MPXHZUYICD^RAQBKZQTZTX\_I[^G_KGFNON[ZOE_AZNVO^\XGGNTCIRPIJH[@RQKBXLRZ@CD^HKANYVW@RLGEZEJN@\_WZJBNZYYKVIOR]T]MNMG_Z[YVWSCH_Q[GPC_A@CARQVXDSDA^M]@DRVUM@RBM Date: Wed, 08 Oct 2003 05:56:44 GMT Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!newspeer1.nwr.nac.net!in.100proofnews.com!in.100proofnews.com!prodigy.com!prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr25.news.prodigy.com.POSTED!003b42bf!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34107 "Kevin Kilzer" wrote: > When you write VHDL (or Verilog for that matter), do you visualize a > schematic with wires, gates, flops, latches, muxes, etc., or do you > use some other way of thinking about it? I don't know about visualizing (I do a lot of pencil drawings), but you are describing hardware. If you loose that focus you are bound to create monstruous designs that will not perform well at all. If you are a hardware guy it is a subconscious thing to simply think in those terms. I typically start with the hardware I want to create and simply use HDL to describe it. You can either rely on inference (which can be dangerous) or explicitly instantiate what you need. I tend to favor actually wiring-up what I want or using inference when I know that the tools won't screw it up. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian To send private email: 0_0_0_0_@pacbell.net where "0_0_0_0_" = "martineu" ###### From: Allan Herriman Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL Date: Wed, 08 Oct 2003 16:19:36 +1000 Organization: Global Crossing Internet Lines: 15 Message-ID: References: NNTP-Posting-Host: nnrp1.phx1.gblx.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: node21.cwnet.roc.gblx.net 1065594232 39318 64.214.31.40 (8 Oct 2003 06:23:52 GMT) X-Complaints-To: abuse@gblx.net NNTP-Posting-Date: Wed, 8 Oct 2003 06:23:52 +0000 (UTC) X-Newsreader: Forte Free Agent 1.93/32.576 English (American) X-Original-NNTP-Posting-Host: 203.219.10.94 X-Original-Trace: 8 Oct 2003 16:23:50 +1000, 203.219.10.94 Cache-Post-Path: nnrp1.phx1.gblx.net!203.12.160.33 X-Cache: nntpcache 2.4.0b5 (see http://www.nntpcache.org/) Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!newspump.monmouth.com!newspeer.monmouth.com!news-out.visi.com!petbe.visi.com!nntp1.roc.gblx.net!nntp.gblx.net!nntp.gblx.net!news.globalcrossing.net!dnews.tpgi.com.au!tpg.com.au!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34108 On Wed, 08 Oct 2003 05:49:40 GMT, Kevin Kilzer wrote: >When you write VHDL (or Verilog for that matter), do you visualize a >schematic with wires, gates, flops, latches, muxes, etc., or do you >use some other way of thinking about it? I don't think about gates and muxes, because the FPGAs I use have LUTs. So I think about clouds of LUTs and flip flops. The only significant thing (for my application) about a cloud of LUTs is the depth, which determines the delay. Regards, Allan. ###### From: "Simon Peacock" Newsgroups: comp.arch.fpga References: Subject: Re: Visualizing VHDL Lines: 19 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 X-Original-NNTP-Posting-Host: 202.154.130.254 Message-ID: <3f83e478@news.actrix.gen.nz> Date: Wed, 8 Oct 2003 23:18:31 +1300 NNTP-Posting-Host: 203.96.16.33 X-Complaints-To: abuse@tsnz.net X-Trace: news02.tsnz.net 1065608313 203.96.16.33 (Wed, 08 Oct 2003 23:18:33 NZDT) NNTP-Posting-Date: Wed, 08 Oct 2003 23:18:33 NZDT Organization: TelstraClear Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!irazu.switch.ch!switch.ch!in.100proofnews.com!in.100proofnews.com!news02.tsnz.net!news.actrix.gen.nz!202.154.130.254 Xref: redlance.franklin.ch comp.arch.fpga:34113 I always visualise what I want, not how I get there.. there's an old saying.. if you keep looking down you will never see the sky. Same with FPGA's.. if you keep looking at the gates, you miss the big picture.. VHDL and Verilog allow you to design high level. think concepts.. then thing solutions.. same as designing Top Down Software. Simon "Kevin Kilzer" wrote in message news:qg97ovc5hrf4aii8qe858uljdpg14d5rp9@4ax.com... > When you write VHDL (or Verilog for that matter), do you visualize a > schematic with wires, gates, flops, latches, muxes, etc., or do you > use some other way of thinking about it? > > Kevin > ###### Message-ID: <3F84455C.6030607@pico-systems.com> Date: Wed, 08 Oct 2003 12:11:56 -0500 From: Jon Elson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL References: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 69.3.230.106 X-Trace: news.athenanews.com 1065633506 69.3.230.106 (8 Oct 2003 13:18:26 -0400) Lines: 35 X-Complaints-To: abuse@athenanews.com X-Original-NNTP-Posting-Host: 127.0.0.1 Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!irazu.switch.ch!switch.ch!newsfeed00.sul.t-online.de!t-online.de!newsfeed.icl.net!newsfeed.fjserv.net!newshosting.com!news-xfer2.atl.newshosting.com!38.144.126.70.MISMATCH!feed3.newsreader.com!newsreader.com!news.athenanews.com!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34140 Kevin Kilzer wrote: > When you write VHDL (or Verilog for that matter), do you visualize a > schematic with wires, gates, flops, latches, muxes, etc., or do you > use some other way of thinking about it? Generally, no. If the function is easily described in gates and FFs, it seems most concise to describe it as a schematic, and then either convert it to VHDL or feed it to the XST tools. For many things, I find that VHDL leads to endless pages of mind-numbing text, where a schematic is just a couple of sheets of easily absorbed signal flow. One place that it was so obvious to use VHDL was a set of 48-bit binary to grey code and grey code to binary translators. With the for loop, these compacted down to about 5 lines of code, each! So, these functions became VHDL symbols on my schematic. But, you HAVE to keep in mind that what you get, in terms of actual logic, is not what you specify in a schematic! The boolean function, from the inputs and the outputs will match, but anything you do to control signal timing in the combinatorial structure will disappear. I needed to delay some signals, and just threw in some extra gates. Of course, this had no effect on the boolean functions from input to output, and so were optimized away. So, finally, I realized I needed to bring signals off-chip, through an external RC, and back in to do what I wanted. If what you are doing is more purely mathematical, such as ALUs, registers, buses, and calculations being performed, then VHDL (or the HDL of your choice) may be vastly more organized than a schematic. Jon ###### Reply-To: "Martin Euredjian" <0_0_0_0_@pacbell.net> From: "Martin Euredjian" <0_0_0_0_@pacbell.net> Newsgroups: comp.arch.fpga References: <3F84455C.6030607@pico-systems.com> Subject: Re: Visualizing VHDL Lines: 27 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Message-ID: <0J_gb.12844$wD6.10691@newssvr25.news.prodigy.com> NNTP-Posting-Host: 64.170.224.250 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr25.news.prodigy.com 1065646012 ST000 64.170.224.250 (Wed, 08 Oct 2003 16:46:52 EDT) NNTP-Posting-Date: Wed, 08 Oct 2003 16:46:52 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: [[PAPDONPZVABQ\YCJKDM^P@VZ\LPCXLLBWLOOAFEQR@ETUCCNSKQFCY@TXDX_WHSVB]ZEJLSNY\^J[CUVSA_QLFC^RQHUPH[P[NRWCCMLSNPOD_ESALHUK@TDFUZHBLJ\XGKL^NXA\EVHSP[D_C^B_^JCX^W]CHBAX]POG@SSAZQ\LE[DCNMUPG_VSC@VJM Date: Wed, 08 Oct 2003 20:46:52 GMT Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!newsfeed.stueberl.de!in.100proofnews.com!in.100proofnews.com!prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr25.news.prodigy.com.POSTED!003b42bf!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34148 "Jon Elson" wrote: > I needed to delay some signals, and just threw in some extra gates. > Of course, this had no effect on the boolean functions from input > to output, and so were optimized away. So, finally, I realized I > needed to bring signals off-chip, through an external RC, and back > in to do what I wanted. Ouch! This is really, I'll repeat, really bad design practice. Even if it worked (and there are way to make it work) you'd be primed and ready to be victimized by a whole host of variables that can break your delay or make it problematic at best. You can't just draw pretty schematics without having a sense of what's in the chip and how your schematic will be translated. That's suicide. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian To send private email: 0_0_0_0_@pacbell.net where "0_0_0_0_" = "martineu" ###### NNTP-Posting-Date: Wed, 08 Oct 2003 19:54:25 -0500 From: "Patrick MacGregor" Newsgroups: comp.arch.fpga References: Subject: Re: Visualizing VHDL Date: Wed, 8 Oct 2003 20:54:14 -0400 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Message-ID: Lines: 25 NNTP-Posting-Host: 68.55.246.189 X-Trace: sv3-VafRzKk8hp09xmqBson1rr83Y9h5IZ4mwn5SyLHvLWNoalgYNMbo1gFHcz5MTKgZTL4koOP/sVI0GvU!uAT5IQas924BIC2tHuSthQlDp4zqfLMf1gljchgwEfpkCc3b0KC2rO0A9Vmv/Q== X-Complaints-To: abuse@comcast.net X-DMCA-Complaints-To: dmca@comcast.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.1 Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!news.mailgate.org!newsfeed.icl.net!newsfeed.fjserv.net!colt.net!diablo.theplanet.net!newspeer1-gui.server.ntli.net!ntli.net!peer01.cox.net!cox.net!border3.nntp.aus1.giganews.com!intern1.nntp.aus1.giganews.com!nntp.giganews.com!nntp.comcast.com!news.comcast.com.POSTED!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34159 I visualize what I want, then draw a schematic of it. Then I think to myself "...self, the design is now done, why bother with that HDL garbage at all?..." I've never been able to come up with a compelling reason to go beyond schematics, once the job is done. That would be like working for the Department of Redundancy Department. An added bonus is that I'm off doing the next job instead of numbing my brain by turning a perfectly good schematic design into a perfectly useless text file. "Kevin Kilzer" wrote in message news:qg97ovc5hrf4aii8qe858uljdpg14d5rp9@4ax.com... > When you write VHDL (or Verilog for that matter), do you visualize a > schematic with wires, gates, flops, latches, muxes, etc., or do you > use some other way of thinking about it? > > Kevin > ###### Reply-To: "Martin Euredjian" <0_0_0_0_@pacbell.net> From: "Martin Euredjian" <0_0_0_0_@pacbell.net> Newsgroups: comp.arch.fpga References: Subject: Re: Visualizing VHDL Lines: 45 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 Message-ID: NNTP-Posting-Host: 64.170.224.250 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr25.news.prodigy.com 1065663663 ST000 64.170.224.250 (Wed, 08 Oct 2003 21:41:03 EDT) NNTP-Posting-Date: Wed, 08 Oct 2003 21:41:03 EDT Organization: SBC http://yahoo.sbc.com X-UserInfo1: O@XURZ_DPJUQBFH[OZK@_TDAYZOZ@GXOXJXNMRQIMASJETAANVW[AKWZE\]^XQWIGNE_[EBL@^_\^JOCQ^RSNVLGTFTKHTXHHP[NB\_C@\SD@EP_[KCXX__AGDDEKGFNB\ZOKLRNCY_CGG[RHT_UN@C_BSY\G__IJIX_PLSA[CCFAULEY\FL\VLGANTQQ]FN Date: Thu, 09 Oct 2003 01:41:03 GMT Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!newspeer1.nwr.nac.net!news.maxwell.syr.edu!newshosting.com!news-xfer1.atl.newshosting.com!news-feed01.roc.ny.frontiernet.net!nntp.frontiernet.net!prodigy.com!newsmst01.news.prodigy.com!prodigy.com!postmaster.news.prodigy.com!newssvr25.news.prodigy.com.POSTED!003b42bf!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34160 "Patrick MacGregor" wrote: >I visualize what I want, then draw a schematic of it. Then I think to >myself "...self, the design is now done, why bother with that HDL garbage at >all?..." ... > I've never been able to come up with a compelling reason to go beyond > schematics, once the job is done. Proably because you have yet to run into a design that makes you rethink your position. Not a putdown at all, just a fact. Schematics might be nicer/easier to deal with (particularly if you are old school) for small, stable, well-defined projects that might not require a lot of future maintenance. In most cases these designs are trivial to implement in HDL. Please, I say this again, don't take this as a putdown, that's not the intention here. Believe me when I say that there's absolutely no doubt that HDL's are the way to go. You start getting into large million-gate FPGA's with complex logic and schematics are not even an option. Some will use schematics to wire-together top level entities. That's fine. That works. For anything else it would be just about insanity to attempt to use schematics. > turning a perfectly good schematic design into a perfectly useless > text file. You start doing non-trivial (from an HDL standpoint) designs and it's the other way around. A schematic would be perfectly useless. I'm not thrilled about still using ASCII to design hardware, don't get me wrong. But, until someone come up with a better way to do it, it's the best we got. Period. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian To send private email: 0_0_0_0_@pacbell.net where "0_0_0_0_" = "martineu" ###### Message-ID: <3F84E4CB.C583A812@andraka.com> From: Ray Andraka Organization: Andraka Consulting Group, Inc X-Mailer: Mozilla 4.77 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Lines: 36 Date: Thu, 09 Oct 2003 00:32:11 -0400 NNTP-Posting-Host: 68.15.41.165 X-Complaints-To: abuse@cox.net X-Trace: lakeread05 1065673331 68.15.41.165 (Thu, 09 Oct 2003 00:22:11 EDT) NNTP-Posting-Date: Thu, 09 Oct 2003 00:22:11 EDT Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!newsfeed.stueberl.de!peer01.cox.net!cox.net!p01!lakeread05.POSTED!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34164 A properly done hierarchical schematic can be used in large designs just as effectively as an HDL. I'll take a well done schematic over sloppy HDL or a well done HDL over sloppy schematics any day. The key to a readable and reusable design is extensive use of hierarchy. The HDLs do have some advantages: 1) it is far easier to make parameterized macros in an HDL than it is with schematics. This is important for design reuse. It can be done with schematics, but there is more manual intervention for the reuse. I know, I've gotten far more reuse in my business than most businesses achieve both with HDLs and with schematics. 2) Complex simulations are easier with HDLs, as you can write behavioral models for the interfacing circuits rather easily without having to create a circuit. 3) Design archives are easier to revisit in that the source is viewable in a standard text editor. Schematic editors generally need the same tool they were created by in order to view electronic archives. Some schematic editors even change the format of the databases with new releases. Viewlogic did that two or three times over the time that I used it. The fact of the matter is the industry has moved to HDLs, so in order to keep yourself marketable (no job is forever), you should bite the bullet and learn at least one HDL. > -- --Ray Andraka, P.E. President, the Andraka Consulting Group, Inc. 401/884-7930 Fax 401/884-7950 email ray@andraka.com http://www.andraka.com "They that give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, 1759 ###### Message-ID: <3F84ECAF.8070900@pico-systems.com> Date: Thu, 09 Oct 2003 00:05:51 -0500 From: Jon Elson User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL References: <3F84455C.6030607@pico-systems.com> <0J_gb.12844$wD6.10691@newssvr25.news.prodigy.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 69.3.230.106 X-Trace: news.athenanews.com 1065676441 69.3.230.106 (9 Oct 2003 01:14:01 -0400) Lines: 39 X-Complaints-To: abuse@athenanews.com X-Original-NNTP-Posting-Host: 127.0.0.1 Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!newsfeed.freenet.de!news.shlink.de!news2.telebyte.nl!feed3.newsreader.com!newsreader.com!news.athenanews.com!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34167 Martin Euredjian wrote: > "Jon Elson" wrote: > > >>I needed to delay some signals, and just threw in some extra gates. >>Of course, this had no effect on the boolean functions from input >>to output, and so were optimized away. So, finally, I realized I >>needed to bring signals off-chip, through an external RC, and back >>in to do what I wanted. > > > Ouch! This is really, I'll repeat, really bad design practice. Even if it > worked (and there are way to make it work) you'd be primed and ready to be > victimized by a whole host of variables that can break your delay or make it > problematic at best. > > You can't just draw pretty schematics without having a sense of what's in > the chip and how your schematic will be translated. That's suicide. > > Well, it is working in a production product. I didn't need much delay, and it was not critical at all. The purpose was to make sure that a register was incremented at the end of a data transfer, and to be sure the address lines did not change while the strobe line was still in the active state. This is on a CPLD which is the only logic component on a board. The board does not have a clock, either. The delay was implemented with a 5.1K resistor, and the C is the capacitance of the input pin of the CPLD. This is on an XC9572 chip. The next bus cycle will be at least 500 nS later. A related product needs a lot more logic, and it has a clock, so I used a much more proven delay technique on that one. It uses a Spartan FPGA. Jon ###### From: assaf_sarfati@yahoo.com (Assaf Sarfati) Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL Date: 8 Oct 2003 22:49:52 -0700 Organization: http://groups.google.com Lines: 27 Message-ID: <44b0ca4e.0310082149.4d007468@posting.google.com> References: NNTP-Posting-Host: 82.166.71.17 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1065678592 26475 127.0.0.1 (9 Oct 2003 05:49:52 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Thu, 9 Oct 2003 05:49:52 +0000 (UTC) Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!solnet.ch!solnet.ch!news.imp.ch!news.imp.ch!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!postnews1.google.com!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34169 Kevin Kilzer wrote in message news:... > When you write VHDL (or Verilog for that matter), do you visualize a > schematic with wires, gates, flops, latches, muxes, etc., or do you > use some other way of thinking about it? > > Kevin I never start writing HDL code until I have visualised the design. I don't visualise it in my head - I use a graphics program to draw and save the stuff (I use Visio). Browsing old design documentations, I'd say that a visualisation is a mix of drawing types: Data path stuff is drawn as a path - busses are arrows, functions are circles, registers are rectangles. Control and interface is a combination of state diagrams and annotated waveform diagrams (clock cycles, cause/event arrows and various comments). For managing pipelines, I usually draw (or write with a spreadsheet program) a two-dimentional table, with time as one dimension (clock cycles) and the various pipeline stages as the other dimension. I almost never visualise a design in schematic form - at the most, I see registers, muxes and a combinatorial logic "cloud". Hope this helps. ###### From: rickman Newsgroups: comp.arch.fpga Subject: Re: Visualizing VHDL Date: Thu, 09 Oct 2003 09:53:10 -0400 Organization: Arius, Inc Lines: 62 Message-ID: <3F856846.54F0C192@yahoo.com> References: <44b0ca4e.0310082149.4d007468@posting.google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: UmFuZG9tSVYyi3QQKIISCrRUFtbgjcVDLP8XDnDGtnT2I3O0tji3pfvpIQ0Tf+sZ X-Complaints-To: abuse@rcn.com NNTP-Posting-Date: 9 Oct 2003 13:53:08 GMT X-Mailer: Mozilla 4.73 [en] (Windows NT 5.0; U) X-Accept-Language: en Path: redlance.franklin.ch!pfaff2.ethz.ch!news-zh.switch.ch!switch.ch!newsfeed-zh.ip-plus.net!news.ip-plus.net!news.tesion.net!news.space.net!newsfeed.stueberl.de!peer01.cox.net!cox.net!feed2.news.rcn.net!feed1.news.rcn.net!rcn!not-for-mail Xref: redlance.franklin.ch comp.arch.fpga:34184 Assaf Sarfati wrote: > > Kevin Kilzer wrote in message news:... > > When you write VHDL (or Verilog for that matter), do you visualize a > > schematic with wires, gates, flops, latches, muxes, etc., or do you > > use some other way of thinking about it? > > > > Kevin > > I never start writing HDL code until I have visualised the design. I don't > visualise it in my head - I use a graphics program to draw and save the > stuff (I use Visio). > Browsing old design documentations, I'd say that a visualisation is a mix > of drawing types: > > Data path stuff is drawn as a path - busses are arrows, functions are > circles, registers are rectangles. > > Control and interface is a combination of state diagrams and annotated > waveform diagrams (clock cycles, cause/event arrows and various comments). > > For managing pipelines, I usually draw (or write with a spreadsheet program) > a two-dimentional table, with time as one dimension (clock cycles) and > the various pipeline stages as the other dimension. > > I almost never visualise a design in schematic form - at the most, I see > registers, muxes and a combinatorial logic "cloud". > > Hope this helps. I read all the other posts and this was the solution that is closest to what I do. I never think about the coding of the HDL until I have already done all the planning of my design. The planning involved functionaly partioning which is just a drawing with a bunch of boxes interconnected with arrows for signals. Then I iteratively break those boxes down into smaller boxes until I get to the point that I am showing a fleshed out data path and/or I have the lowest level of my logic with consists of symbols like registers, adders, muxes and control boxes (state machines). At this point my hardware is defined and I can start to write code which describes this hardware. I design FPGAs the same way I design software. I plan, modularize, implement and finally test (or simulate in the case of FPGAs). For hardware my drawings are often just hand drawn. If I want to keep them for documentation, I use Visio. But I never code my HDL like I code software. I use an HDL to describe the hardware I want compared to software where I code to describe my solution. -- Rick "rickman" Collins rick.collins@XYarius.com Ignore the reply address. To email me use the above address with the XY removed. Arius - A Signal Processing Solutions Company Specializing in DSP and FPGA design URL http://www.arius.com 4 King Ave 301-682-7772 Voice Frederick, MD 21701-3110 301-682-7666 FAX