请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
用verilog就不会出现这个问题
1164的库加了没有
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
应该是没有调用库
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
实际上程序是这样写的,烦请各位帮忙看看吧,其中只有一个地方用的加号。
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY count12en IS
PORT(clr,clk,en :IN std_logic;
qa,qb,qc,qd :OUT std_logic);
END count12en;
ARCHITECTURE rtl OF count12en IS
SIGNAL reg:std_logic_vector(3 downto 0);
BEGIN
PROCESS(clk,clr,en)
BEGIN
IF(clr='0')THEN
reg<="0000";
ELSIF(clk'event and clk='1')THEN
IF(en='1')THEN
reg<=reg+'1';
IF(reg="1011")THEN
reg<="0000";
END IF;
END IF;
END IF;
qa<=reg(0);
qb<=reg(1);
qc<=reg(2);
qd<=reg(3);
END PROCESS;
END rtl;
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
SIGNAL reg:std_logic_vector(3 downto 0);改成
SIGNAL reg:integer range 0 to 15;试试看
或者reg<=reg+'1';把1改成二进制表示
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
ENTITY count12en IS
PORT(clr,clk,en :IN std_logic;
qa,qb,qc,qd :OUT std_logic);
END count12en;
ARCHITECTURE rtl OF count12en IS
SIGNAL reg:std_logic_vector(3 downto 0);
BEGIN
PROCESS(clk,clr,en)
BEGIN
IF clr='0' THEN
reg<="0000";
ELSIF clk'event and clk='1' THEN
IF en='1' THEN
IF reg="1011" THEN
reg<="0000";
else
reg<=reg + 1 ;
END IF;
END IF;
END IF;
qa<=reg(0);
qb<=reg(1);
qc<=reg(2);
qd<=reg(3);
END PROCESS;
这样就可以了
请教各位高手问题:我在MAX+PLUSII中用VHDL描述计数器时遇到的
谢谢各位启发,加了ieee.std_logic_unsigned.all就好了。谢谢:)
很不错的 啊
