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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2630|回复: 6

[讨论] 每日一思2

[复制链接]
发表于 2013-12-23 14:39:59 | 显示全部楼层 |阅读模式

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

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

x
为鼓励大家讨论,勤学多思,开设每日一思栏目,涉及基本概念,设计技巧,前沿话题。无论是新人还是资深工程师,你只需每天花一点时间去思考,参与讨论,我们后端版区的囗号是:每天进步一点点!!!
——————————————————————————
考虑设计这样一个电路:
给定源时钟为CLK,给定选择信号为sel,sel来选择CLK,CLK的2分频,CLK的4分频,CLK的8分频这四路中的任意一路时钟。要求:无论sel从高速时钟切向低频时钟,还是由低频时钟切向高速时钟,选择出来的时钟要求glich-free。(sel是由它选择出来的时钟来驱动的)。
1.用门搭建这样的电路。
2.在后端怎样配合约束。
发表于 2013-12-25 08:13:39 | 显示全部楼层
求大神们解答
后端小白表示完全看不懂,只见过这样的结构是四个两输入与门的输出接入一个四输入的与门
发表于 2013-12-25 10:06:59 | 显示全部楼层
琢磨很久啊,窃以为高向低切换glitch free比较好实现,但低向高切换就比较不容易做到啦。
发表于 2013-12-25 10:08:54 | 显示全部楼层
glich-free是什么意思?是说选择出来的时钟尽可能独立吗?
发表于 2013-12-25 10:45:33 | 显示全部楼层

                               
登录/注册后可看大图

4个上升沿触发寄存器,4个下降沿触发寄存器,4个2输入与门,1个4输入或门,4个4输入与门,一个编码器
1.编码器将sel信号编码成sel0,sel1,sel2,sel3四个信号
2.上升沿寄存器0,与下降沿寄存器0进行级联(相同时钟驱动clk),下降沿时钟生成两个信号——q0,q0n
3.将q0与clk进行&逻辑,生成clk_gate输出
4.复制2和3步骤3次,分别实现clk2,clk4,clk8的门控功能,并且生成q1n,q2n,q3n和clk2_gate,clk4_gate,clk8_gate.
5.其中上升沿寄存器0的D端连接sel0&q1n&q2n&q3n,依次类推,上升沿寄存器1的D端连接sel1&q0n&q2n&q3n。。。。。。
6.将生成的clk_gate,clk2_gate,clk4_gate,clk8_gate使用四输入的或门进行“|”逻辑
7.完成

但是版主说的是分频时钟,所以可以选择取消上升沿寄存器直接使用1级下降沿寄存器,但是通常我会选择级联使用。
后端处理:
1.综合的时候需要使用create_generated_clock进行时钟的指定,并且使用-add加载到最终生成的线上
2.但是这样还会出现时钟门控处的时序问题,我的做法是使用Macromodule将寄存器的时钟树长缓
3.不过不知道能不能使用IO/D pin balance这种方法实现,还没有试过。最后仿真,没问题就OK 了。

版主有答案么?
发表于 2013-12-25 17:45:26 | 显示全部楼层
版主,求答案!
发表于 2013-12-25 21:53:49 | 显示全部楼层
回复 1# shaneami
假设输入那个时钟叫做root_clk
选出来的clk_clk所连接的逻辑应该都约束在root_clk时钟频率上,分频的时钟做到上升沿对齐,用root_clk_inv做cnt,sel只在这个cnt=0的时候变
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-11-6 09:43 , Processed in 0.024945 second(s), 9 queries , Gzip On, Redis On.

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