前面介绍了触发器的设计,下面介绍常用的时序逻辑电路设计范例:
序列信号发生器:(VHDL)
序列信号发生器是指在系统时钟的作用下面能够循环产生一组或者多组序列信号的电路。下面的代码设计在系统时钟下面产生序列信号“10110001”。
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity xl_generate is
port(clk: in std_logic;
clr: in std_logic;
dout: out std_logic);
end;
architecture one of xl_generate is
signal reg: std_logic_vector(7 downto 0);
begin
process(clk,clr)
begin
if clk'event and clk='1' then
if clr='1' then
dout<='0';
reg<="10110001";
else
dout<=reg(7);
reg<=reg(6 downto 0)®(7);
end if;
end if;
end process;
end;
分频器:在数字电路中,分频器是一种应用十分广泛的电路,器功能是对较高频率的信号进行分频。通常来说,分频器常常用来对数字电路中的时钟信号进行分频,用以得到较低频率的时钟信号、选通信号、中断信号等。(VHDL)
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity div248 is
port(clk: in std_logic;
div2: out std_logic;
div4: out std_logic;
div8: out std_logic);
end;
architecture one of div248 is
signal cnt: std_logic_vector(2 downto 0);
begin
process(clk)
begin
if clk'event and clk='1' then
cnt<=cnt+1;
end if;
end process;
div2<=cnt(0);
div4<=cnt(1);
div8<=cnt(2);
end;
参考资料:《基于Quartsu II的FPGA/CPLD数字系统设计实例》
周润景图雅张丽敏 编著
文章评论(0条评论)
登录后参与讨论