本帖最后由 丁弋宇 于 2010-7-29 21:50 编辑
process (clk)
variable cnt : integer range 0 to 7;
begin
if (rising_edge(clk)) then
if reset = '1' then
cnt := 0;
else
cnt := cnt + 1;
led <= '1';
if cnt = 0 then
led <= '0';
end if;
end if;
end if;
end process;
解释下,也就是LED在if外面赋缺省值,如果if内部重新赋值以新值为算
当然,一般做法LED<='1'都是放else里面做到互斥了。
这里我举的是个简单化的特例供大家研究 |