求助VHDL代码优化设置
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY WH IS
PORT(
pwmin11 : IN STD_LOGIC;
motor1 : out std_logic_vector(3 downto 0)
);
END WH;
ARCHITECTURE rt1 OF WH926 IS
BEGIN
PROCESS (pwmin11)
VARIABLE count1: integer := 0;
BEGIN
IF(pwmin11'event and pwmin11='1') THEN
count1 := count1 + 1;
if(count1=1) then
motor1 <= "1100";
elsif(count1=2) then
motor1 <= "0110";
elsif(count1=3) then
motor1 <= "0011";
elsif(count1=4) then
motor1 <= "1001";
count1 := 0;
end if;
end if;
end process;
END rt1;就上面这段代码 使用Quartus II 13网络版,Device使用EPM3032ATC44-10
编译的时候报错Error (280010): Can't fit 36 registers in device
我查了下大概是器件的单元不够用了 我换了一个256的片子 确实可以编译过去了
可是就这么点代码量 我觉得应该没问题吧 要不这个片子还能干啥啊
是我什么地方设置的有问题吗
谢谢 先确定计数器的最大值,然后精确的定义位宽 VARIABLE count1: integer := 0;搞个integer上去算怎么回事 wangjun403 发表于 2013-5-30 18:15 static/image/common/back.gif
先确定计数器的最大值,然后精确的定义位宽搞个integer上去算怎么回事
谢谢 我VHDL是菜鸟级别
只能抄程序改程序 呵呵
VARIABLE count1: integer range 0 to 3;
我把那句改成上面限制了下范围 编译没问题了 只占用5/36了 学习了,学习了
页:
[1]