在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3866|回复: 7

如何实现4分频?

[复制链接]
发表于 2007-12-19 12:27:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
多谢大家指教
 楼主| 发表于 2007-12-19 14:55:10 | 显示全部楼层
难道大家觉得太简单,不肯指教?
好像是用计数器实现的 具体怎么实现的 ?
谁能指教?
发表于 2007-12-19 15:36:44 | 显示全部楼层

偶来扔个砖头先

举例来说:16M的晶振,让它的输入信号输入4个脉冲的时候翻转一次,这个翻转的输出就是四分频拉。。
用CPLD的VHDL语言来做的话:
library ieee;
use ieee.std_logic_1164.all;

entity fp is
    port(
             clk                :in std_logic;--这个是输入的时钟信号嘛
             clk_out         ut 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;
好像是这样的吧。。呵呵
 楼主| 发表于 2007-12-19 17:04:16 | 显示全部楼层
非常感谢 就是这样的



原帖由 国产可乐 于 2007-12-19 15:36 发表
举例来说:16M的晶振,让它的输入信号输入4个脉冲的时候翻转一次,这个翻转的输出就是四分频拉。。
用CPLD的VHDL语言来做的话:
library ieee;
use ieee.std_logic_1164.all;

entity fp is
    port(
       ...

发表于 2007-12-24 13:53:35 | 显示全部楼层
两次二分频 
发表于 2007-12-24 14:03:42 | 显示全部楼层
随便写了下,没有调试过,你看个方法就好
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

[ 本帖最后由 tnttnp 于 2007-12-24 14:05 编辑 ]
发表于 2007-12-24 16:42:02 | 显示全部楼层
我觉得可以用两个D触发器来做
发表于 2007-12-25 09:23:56 | 显示全部楼层
两个D触发器就是计数器么
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-5-15 12:04 , Processed in 0.024306 second(s), 10 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表