![]() |
|
|
|
#1 |
|
Ok, can anyone tell me why:
constant B4 : unsigned := "010"; constant CONST : unsigned := B4 + "001"; --is NOT locally static constant B4 : integer := 2; constant CONST : integer := B4 + 1; -- is locally static Taras Taras_96 |
|
|
|
|
#2 |
|
Posts: n/a
|
Taras_96 wrote:
> Ok, can anyone tell me why: > > constant B4 : unsigned := "010"; > constant CONST : unsigned := B4 + "001"; --is NOT locally static > > constant B4 : integer := 2; > constant CONST : integer := B4 + 1; -- is locally static > > Taras > I seem to remember that the process of slicing a vector is considered non-static, so perhaps the creation of the anonymous subtype of the unsigned vector makes it non-static. I shall look it up in the standard when at work. In the case of the integer, there is no anonymous subtype created as no subtype of integer if implied. In the case of unsigned, the vector will deduce its width from the size of B4. regards Alan -- Alan Fitch (at home) reverse: org dot ieee dot apfitch Alan Peter Fitch |
|
|
|
#3 |
|
Posts: n/a
|
Taras_96 wrote:
> Ok, can anyone tell me why: > > constant B4 : unsigned := "010"; > constant CONST : unsigned := B4 + "001"; --is NOT locally static I think because CONST is an unconstrained array. Try constant CONST : unsigned(2 downto 0) := B4 + "001"; or some such. > > constant B4 : integer := 2; > constant CONST : integer := B4 + 1; -- is locally static > > Taras > Duane Clark |
|
|
|
#4 |
|
Posts: n/a
|
Taras,
> constant B4 : unsigned := "010"; > constant CONST : unsigned := B4 + "001"; --is NOT locally static > > constant B4 : integer := 2; > constant CONST : integer := B4 + 1; -- is locally static From the LRM: 7.4.1 Locally static primaries An expression is said to be locally static if and only if every operator in the expression denotes an implicitly deďŹned operator whose operands and result are scalar and if every primary in the expression is a locally static primary, where a locally static primary is deďŹned to be one of the following: ... Integers are scalar, arrays are not. The VHDL-200X effort has proposals that modify this. Two important changes: 1) Strike the requirement for the operand and result to be scalar. (FT22) 2) Include operators defined in std_logic_1164 and numeric_std along with implicitly defined operators in consideration for being locally static. (FT23) The VHDL-200X working group is looking for corporate support to fund the LRM editing effort. Funding will determine the question as to when the features will be available. If your company can help sponsor this effort, please contact myself (VASG vice-chair) or Stephen Bailey (VASG chair). Best Regards, Jim Lewis > > Taras > -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ Jim Lewis Director of Training private.php?do=newpm&u= SynthWorks Design Inc. http://www.SynthWorks.com 1-503-590-4787 Expert VHDL Training for Hardware Design and Verification ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ Jim Lewis |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Cisco 2620 static natting help | biomed32uk | Hardware | 1 | 10-22-2009 03:25 PM |
| please help: simple java coding error 'cannot be referenced from a static context' | clm90 | General Help Related Topics | 0 | 10-17-2009 06:49 AM |
| Shag Floor danger? | Dave Hardenbrook | A+ Certification | 3 | 02-28-2008 05:13 AM |
| USB Key not recognised on laptop in a domain, but is when logged in locally | lawrend | A+ Certification | 4 | 04-24-2005 03:02 AM |
| Re: Anti Static Mats | David Hough | A+ Certification | 3 | 05-08-2004 03:46 PM |