题目 VHDL问题:can't determine definition of operator ""/""--found 0 possiblelibrary IEEE;use IEEE.STD_LOGIC_1164.all;use IEEE.STD_LOGIC_ARITH.all;use IEEE.STD_LOGIC_UNSIGNED.all;entity frequency isport(clk:in std_logic; frenow:out std_logic_vector(32 downto 0));end frequency;architectu...
1:将你程序中的bit_vector改为 std_logic_vector,USE IEEE.STD_LOGIC_UNSIGNED.ALL以及USE IEEE.STD_LOGIC_SIGNED.ALL可以使得“+”两方具有不同的数据类型,但不支持bit_vector。2:USE IEEE.STD_LOGIC_UNSIGNED.ALL以及USE IEEE.STD_LOGIC_SIGNED.ALL用一个就可以了,删除了USE IEEE.STD_LOGIC...
你采用的信号标识符count和变量标识符count混淆到一块去了。在结构体的端口声明中,已经将count声明为端口信号了,在进程中声明变量时,应当采用其它标识符。特别是在最后一个进程中没有声明变量count,却在关系表达式中出现了count,编译器自然会将这个count认定为是端口信号count。
process(clk)variable e:integer;begin e:=85899*50000000/4294967296;frenow<= STD_LOGIC_VECTOR(TO_UNSIGNED(e, 33));...这个e是固定值,也就是constant, 得到的frenow也是固定值,综合后这些都会被优化掉
将上述if语句中的所有“and”改成分号";",并在最后加上end if;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_unsigned.ALL;USE IEEE.STD_LOGIC_arith.ALL;添加以上库试试。
错误说明你mod运算的库没调 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.numeric_std.all;use ieee.std_logic_signed.all;use ieee.std_logic_arith.all;应该是这边少了个运算的库,好久没用VHDL了,忘记什么库了 如果不是这个原因,当我没说 ...
VHDL没有“IF L="000" OR L="100" THEN L<="001" AND R<="000";”这样的语句!改为“IF L="000" OR L="100" THEN L<="001"; R<="000";”,后面的类似语句也要改掉!
vhdl VHDL error at dt.vhd(25):can't determine definition of operator ""="" -- found 0 possible de library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity dt is port(clk,ope,close:in std_logic; up1,up2,down2,down3:in std_logic; stop1,stop2,stop3:...
use ieee.std_logic_unsigned.all;