Article View: comp.lang.vhdl
Article #332Re: Subset of VHDL for synthesis.
From: Roger Knight (B21)
Date: Wed, 18 Nov 1992 19:53
Date: Wed, 18 Nov 1992 19:53
50 lines
3015 bytes
3015 bytes
In article <3200@ucl-cs.uucp> you write: > >I believe there is a group (VHDL Synthesis Working Group in Europe???) that >is trying to specify this subset. > If you are interested in writing portable VHDL then a subset of the syntax is not very useful. The most important area were the synthesis tools differ is in the interpretation of semantics. For example we are using Mentor's AutoLogic and working with customers who have Racal and Synopsys. The Racal user doesn't think our VHDL will synthesise well on SilcSyn because it doesn't do resource sharing and so the same (large) adder would be built separately for each decode in the controlling state machine. AutoLogic builds a single adder cells and multiplexes the input where needed. They've also found nested IF's don't give good results on Racal so avoid using them. We've never had that sort of problem and use netsted IF's all the time. Even clock recognition is not simple. We have described clocks as IEEE 1164 9-state logic and used the syntax:- IF clk = '1' AND clk'LAST_VALUE = '0' AND clk'EVENT THEN This tells AutoLogic the clock has changed and is a rising edge. Unfortunately when our customer tried to compile it under Synopsys he had to remove the 'LAST_VALUE test. OK using 'LAST_VALUE is pedantic but logically more correct since a 'X' to '1' transition is not a rising edge and so without the 'LAST_VALUE test there could be differences between a VHDL simulation and synthesised logic's behaviour when a 'X'-->'1' vector is applied to a clock. There are also incompatibilities in the way arithmetic is interpreted. Should bit level values be magnitude or 2's complement? How do you define overflow in arithmetic operations? A VHDL simulator will report a run-time error on overflow but the synthesised logic can't! Would the logic wrap around through zero, reset or go to some random undefined value? The good news is Synopsys, Mentor and Viewlogic are supposed to be working together on a unified arithmetic library for the IEEE 1164 logic type ( the IEEE only defined logical operations on the type). I just hope its not too diferent from the arithmetic which Mentor have already implemented! Roger Knight rknight@gec-rl.hrc.co.uk VHDL ASIC Design Group Hirst Research Centre, GEC-Marconi Ltd. DISCLAIMER: I said it not my company.If any of the above is bu****t, misleading or just plain wrong - thats your problem not mine.
Technical Details
Message-ID:
<1992Nov18.195347.22306@gec-rl-hrc.co.uk>Path:
arc1-ca.pugleaf.net!sparky!uunet!sun-barr!cs.utexas.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!uknet!root44!hrc63!rknightReferences:
<3200@ucl-cs.uucp>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!sun-barr!cs.utexas.edu!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!agate!doc.ic.ac.uk!uknet!root44!hrc63!rknight From: rknight@gec-rl-hrc.co.uk (Roger Knight (B21)) Newsgroups: comp.lang.vhdl Subject: Re: Subset of VHDL for synthesis. Keywords: VHDL Synthesis portability Message-ID: <1992Nov18.195347.22306@gec-rl-hrc.co.uk> Date: 18 Nov 92 19:53:47 GMT References: <3200@ucl-cs.uucp> Sender: <rknight@gec-rl-hrc.co.uk> Organization: GEC Hirst Research Centre Lines: 50