![]() |
|
|
|
#1 |
|
Hello all,
I was trying to complie the following code. I need one bit at each rising edge frm the constant std_logic_vector and afterward i am rotating it left in cyclic way. But,I got an error " Ambiguous reference to type "UNSIGNED" ". I didnt understand what it is meant , secondly can anyone suggest me how to assign std_logic_vector to unsiged and vice versa.any type conv ? regards, Ali ----------------------------------------------------------- LIBRARY IEEE; USE IEEE.STD_lOGIC_1164.ALL; USE IEEE.NUMERIC_BIT.ALL; USE IEEE.NUMERIC_STD.ALL; ENTITY SHIFT_REG IS PORT ( CLK : IN STD_LOGIC; RESET : IN STD_LOGIC; OUTPUT : OUT STD_LOGIC ); END SHIFT_REG; ARCHITECTURE ARCH_REG OF SHIFT_REG IS CONSTANT DATA_IN : UNSIGNED(7 DOWNTO 0) := "01010101"; BEGIN INP: PROCESS(CLK,RESET) VARIABLE DATAV_IN1 : UNSIGNED(7 DOWNTO 0); VARIABLE DATAV_IN2 : UNSIGNED(7 DOWNTO 0); BEGIN IF (RESET = '0') THEN OUTPUT <= '0'; DATAV_IN1 := DATA_IN; ELSIF (CLK'EVENT AND CLK = '1') THEN OUTPUT <= DATAV_IN1(7); DATAV_IN2 := ROTATE_LEFT (DATAV_IN1,1); DATAV_IN1 := DATAV_IN2; END IF; END PROCESS INP; END ARCHITECTURE ARCH_REG; ----------------------------------------------------------- jahaya@gmail.com |
|
|
|
|
#2 |
|
Posts: n/a
|
You should only use one of numeric_std and numeric_bit. Both packages
define the type "unsigned" differently. numeric_bit: type unsigned is array (natural range <>) of bit; numeric_std: type unsigned is array (natural range <>) of std_logic; You instructed the compiler to use (!) all (!) symbols in both packages. Delete "use ieee.numeric_bit.all" (obviously unused) and everything should be ok. You can also specify "ieee.numeric_std.unsigned" in each place where you use unsigned. Most design units only need either numeric_bit or numeric_std. If you really need symbols of both packages, you must qualify them and not use a "use package.all" statement. Hubble. Hubble |
|
|
|
#3 |
|
Posts: n/a
|
Hi hubble,
it works now ! thank u regards, ahmed Hubble wrote: > You should only use one of numeric_std and numeric_bit. Both packages > define the type "unsigned" differently. > numeric_bit: > type unsigned is array (natural range <>) of bit; > numeric_std: > type unsigned is array (natural range <>) of std_logic; > > You instructed the compiler to use (!) all (!) symbols in both > packages. > > Delete "use ieee.numeric_bit.all" (obviously unused) and everything > should be ok. You can also specify "ieee.numeric_std.unsigned" in each > place where you use unsigned. > > Most design units only need either numeric_bit or numeric_std. If you > really need symbols of both packages, you must qualify them and not use > a "use package.all" statement. > > Hubble. jahaya@gmail.com |
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Error: expected constructor, destructor or type conversion before '(' token | suse | Software | 0 | 03-09-2009 03:25 AM |
| Eclipse - Axis2 - Java Webservices Error | amanjsingh | Software | 1 | 10-09-2007 09:03 AM |
| Need help on Modelsim VHDL syntax? ASAP:) | kaji | General Help Related Topics | 0 | 03-14-2007 10:43 PM |
| Need help on a Modelsim VHDL Syntax? ASAP:) | kaji | Software | 0 | 03-14-2007 10:43 PM |
| Need Help on a Modelsim VHDL Syntax....ASAP:) | kaji | Hardware | 0 | 03-14-2007 10:41 PM |