4860|8

1098

帖子

0

TA的资源

至上芯片

楼主
 

贴一个自己写的N(N=任意正整数)的分频器,VHDL(Y) [复制链接]

前些天要用到一个三分频器,结果在网上找了一个N分频器,当N=奇数时候不好用
于是自己写了一个,N=1,2,3,4,5都测试过了,赫赫,欢迎测试&拍砖
------------------------------------------ ^o^
---------------------------------------
--n divider vhdl model
--this is a n divider that has been syplified on synplicity 7.1 pro
--and implimented with ISPEXPERT 8.3
--copy as you you wish, but please keep this title!
--welcome to syplify and implement on other platform and improve this
simple vhdl

--smth ID: damingge @ bbs.tsinghua.edu.cn
--Email: daming@263.net
--2003.8.16
------------------------------------------------------------------------
--------------


LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;


ENTITY DIV_N IS
generic(n:integer:=3); -- n divided, this value can be (1,2,3,
4,5,6,7,8,...,n)
PORT(
CLK: IN STD_LOGIC;
-- CO1: OUT STD_LOGIC; -- test output , used when debug this vhdl

-- CO2: OUT STD_LOGIC; -- test output , used when debug this vhdl
CLKOUT:OUT STD_LOGIC);
END DIV_N;


ARCHITECTURE Ach OF DIV_N IS
SIGNAL CNT1:integer range 0 to 7:=0;
SIGNAL OUTTEMP_1:STD_LOGIC:=\'1\';
SIGNAL OUTTEMP_2:STD_LOGIC:=\'1\';
BEGIN

l1:PROCESS(CLK)
BEGIN
IF CLK\'EVENT AND CLK=\'1\'THEN
if ( ((n mod 2)=1) and (n > 2) )then
IF CNT1=n-1 THEN
CNT1<=0;
OUTTEMP_1<=NOT OUTTEMP_1;
ELSE
CNT1<=CNT1+1;
END IF;
elsif ( ((n mod 2)=0) and (n >= 2) ) then
IF CNT1=(n/2-1) THEN
CNT1<=0;
OUTTEMP_1<=NOT OUTTEMP_1;
ELSE
CNT1<=CNT1+1;
END IF;
end if;
END IF;
END PROCESS;

l2:PROCESS(CLK)
BEGIN
IF CLK\'EVENT AND CLK=\'0\'THEN
if ( ((n mod 2)=1) and (n > 2) ) then
IF (CNT1=((n-1)/2)) THEN
OUTTEMP_2<=NOT OUTTEMP_2;
END IF;
else
OUTTEMP_2<=\'1\';
END IF;
END IF;
END PROCESS;

l3:PROCESS(OUTTEMP_1,OUTTEMP_2)
BEGIN
IF n=1 then
CLKOUT<=CLK;
ELSE
CLKOUT<=OUTTEMP_1 XOR OUTTEMP_2;
-- CO1<=OUTTEMP_1;
-- CO2<=OUTTEMP_2;
END IF;
END PROCESS;
END Ach;
此帖出自单片机论坛

最新回复

谢谢版主指点,刚才看了CD2024的原理图,Q3是三个D类触发器串联后输出三次二分频后就是2的3次方即8分频了,二进制计数器用作分频都是2的n次方分频了。   详情 回复 发表于 2024-5-2 14:21
点赞 关注
 

回复
举报

585

帖子

0

TA的资源

纯净的硅(中级)

沙发
 

用CD4020,  CD4024,  CD4040, 有一个是一到七倍分频,选择相应输出脚就是三倍分频


此帖出自单片机论坛
 
 

回复

585

帖子

0

TA的资源

纯净的硅(中级)

板凳
 

 

此帖出自单片机论坛
 
 
 

回复

585

帖子

0

TA的资源

纯净的硅(中级)

4
 

CD4024的一号脚是输入,9号脚Q3就是三分频输出了。

此帖出自单片机论坛

点评

CD4024的datasheet上明明标注着CMOS Ripple-Carry Binary Counter/Dividers。Binary 什么意思?认识么?  详情 回复 发表于 2024-4-30 17:09
【CD4024的一号脚是输入,9号脚Q3就是三分频输出了。】 这就是你抄板学到的知识?  详情 回复 发表于 2024-4-30 17:04
[attachimg]805850[/attachimg] 看看4024逻辑框图,标注Q3的引脚是多少分频输出?    详情 回复 发表于 2024-4-30 17:03
【CD4024的一号脚是输入,9号脚Q3就是三分频输出了。】 实在是高明之至。9脚标注Q3就是三分频?那么12脚标注Q1就是一分频?3脚标注Q7就是七分频?  详情 回复 发表于 2024-4-30 17:02
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 
振动试验仪器 发表于 2024-4-30 13:35 CD4024的一号脚是输入,9号脚Q3就是三分频输出了。

【CD4024的一号脚是输入,9号脚Q3就是三分频输出了。】

实在是高明之至。9脚标注Q3就是三分频?那么12脚标注Q1就是一分频?3脚标注Q7就是七分频?

此帖出自单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

6
 
振动试验仪器 发表于 2024-4-30 13:35 CD4024的一号脚是输入,9号脚Q3就是三分频输出了。
看看4024逻辑框图,标注Q3的引脚是多少分频输出?

 

此帖出自单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

7
 
振动试验仪器 发表于 2024-4-30 13:35 CD4024的一号脚是输入,9号脚Q3就是三分频输出了。

【CD4024的一号脚是输入,9号脚Q3就是三分频输出了。】

这就是你抄板学到的知识?

此帖出自单片机论坛
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

8
 
振动试验仪器 发表于 2024-4-30 13:35 CD4024的一号脚是输入,9号脚Q3就是三分频输出了。

CD4024的datasheet上明明标注着CMOS Ripple-Carry Binary Counter/Dividers。Binary 什么意思?认识么?

此帖出自单片机论坛
 
 
 

回复

585

帖子

0

TA的资源

纯净的硅(中级)

9
 

谢谢版主指点,刚才看了CD2024的原理图,Q3是三个D类触发器串联后输出三次二分频后就是2的3次方即8分频了,二进制计数器用作分频都是2的n次方分频了。

此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表