【FPGA小技巧】同步设计方法中TC的生成和使用
[复制链接]
上图是时钟分频的例子,从电路可以看出1110 后就变为000 ,就是15分频了,其对应的程序例子如下:
signal Counter: std_logic_vector(3 downto 0);
signal TC: std_logic;
signal flop: std_logic;
process(TC, Clk)
begin
if TC=‘1’ then --此复位为寄存器信号,为同步设计,可行
Counter <= “0000”;
TC <= ‘-’;
elsif rising_edge(Clk) then
Counter <= Counter + 1;
if Counter=“1110” then --注意和异步设计中TC信号的比较
--此处TC为寄存器输出
TC <= ‘1’;
else
TC <= ‘0’;
end if;
end if;
end process;
|