微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 如何实现4分频?

如何实现4分频?

时间:10-02 整理:3721RD 点击:
多谢大家指教

难道大家觉得太简单,不肯指教?
好像是用计数器实现的 具体怎么实现的 ?
谁能指教?

偶来扔个砖头先
举例来说:16M的晶振,让它的输入信号输入4个脉冲的时候翻转一次,这个翻转的输出就是四分频拉。
用CPLD的VHDL语言来做的话:
library ieee;
use ieee.std_logic_1164.all;
entity fp is
port(
clk:in std_logic;--这个是输入的时钟信号嘛
clk_outut std_logic);--这个输出的是四分频的信号嘛
end;
architecture one of fp is
signal:cnt:integer range 0 to 4;
begin
process(clk)
if rising_edge(clk) then
cnt <= cnt+1;
if cnt=4 then
cnt <= 0;
cnt_out <= not cnt_out;
end if;
end if;
end process;
end;
好像是这样的吧。呵呵

非常感谢 就是这样的

两次二分频 

随便写了下,没有调试过,你看个方法就好
module 4fp(CLK,OCLK);
input CLK;
output OCLK;
reg count=1;
reg rOCLK=1'd0;
always @(posedge CLK)
begin
count=count+1;
if(count==4)
begin
count=1;
rOCLK=~rOCLK;
end
end
assign OCLK=rOCLK;
endmodule

我觉得可以用两个D触发器来做

两个D触发器就是计数器么

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top