模N计数器的实现
一般设计中用到计数器时,我们可以调用lpm库中的计数器模块,也可以采用VHDL语言自己设计一码伍铅个模N计数器。本设计采用VHDL语言设计一个最大模值为16的计数器。输入端口为:使能信号en,复位信号clr和时钟信号clk输出端口为:qa、qb、qc、qd。其VHDL语橘伍言描述略。
带使能控制的异或门的实现
输入端为:xor_en:异或使能,a和b:异或输入输出端为:c:异或输出。当xor_en为高电平时,c输出a和b的异或值。当xor_en为低电平时,c输出信号b。其VHDL语言略。
2分频(触发器)的实现
输入端为:时钟信号clk,输入信号d输出端为:q:输出信号a,q1:输出信号a反。其VHDL语言略。
4.分频器的实现
本设计采用层次化的设计方法,首先设计实现分频器电路中各组成电路元件,然后通过元件例化的方法,调用各元件,实现整个分迟好频器。其VHDL语言略。
这是对时钟进行10分频的VHDL代码,2,4,8,16分频原理与其唯启拆相同。entity clk_div is
port (clk_in :in std_logic
clk_out:out std_logic)
end clk_div
architecture Behavioral of clk_div is
signal cnt:integer range 1 to 10
signal clk_temp:std_logic:='0'
begin
process (clk_in,cnt)
begin
if clk_in'event and clk_in='1' then
if cnt=10 then cnt<=1
else cnt<=cnt+1
end if
if cnt>5 then clk_temp<='1'
else clk_temp<='0'旁困
end if
end if
end process
clk_out<指枣=clk_temp
end Behavioral
42是16进制数字,换算成10进制就是66,。输入时钟是66M,用计数器计数,掘森计到66,CLK_1M翻转一次,然后计数器清零陆樱,再过66个时钟周期再翻转一次,循环得到的CLK_1M就是早散丛1MHz,。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)