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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2626|回复: 3

[原创] 求分析:生成位流文件时的警告(VHDL)

[复制链接]
发表于 2011-4-6 11:04:15 | 显示全部楼层 |阅读模式

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

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

x
在一个工程中,我写了一个子模块,代码如下:
entity float_to_zheng is
port(din : in  std_logic_vector(31 downto 0);
dout : out std_logic_vector(10 downto 0));
end float_to_zheng;
architecture Behavioral of float_to_zheng is
begin
process(din)
begin
if din(30 downto 23)="01111111" then
dout<="00000000001";
elsif din(30 downto 23)="10000000" then
dout<="000000000"&'1'&din(22);
elsif din(30 downto 23)="10000001" then
dout<="00000000"&'1'&din(22 downto 21);
...
elsif din(30 downto 23)="10001001" then
dout<='1'&din(22 downto 13);
end if;
end process;
end Behavioral;

在生成位流文件的时候,显示的警告如下:
Clock net u8/dout_not 0001 is sourced by a combinatorial pin.This is not good design practice.Use the CE pin to control the loading of data into the flip-flop.
请高手指点一下,这是怎么回事,该怎么改进呢?
发表于 2011-4-6 12:32:14 | 显示全部楼层
报告的warning和这个模块看起来没关系,至少从你贴的代码没看出来问题。但是报告的warning你的确需要关注,你用了gating clock,你是不是将这个模块的dout在外面用作时钟了?如果是的话,设计是不建议这样用的。
最好不要用运算之后的信号来做一个模块的输入时钟,因为信号的时钟要求非常高的质量,对于duty-cycle, jitter, skew都有非常高的要求。但是组合逻辑生成的时钟可能会有毛刺等等对于时钟是非常致命的东西。
除非你非常有把握,否则不建议这样的设计方法。
这就是这个警告的意思。
 楼主| 发表于 2011-4-6 14:18:11 | 显示全部楼层
回复 2# acgoal


    非常感谢!554136435这是我的QQ号,希望能与您多交流。
发表于 2011-4-6 20:42:07 | 显示全部楼层
thank you for sharing!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 14:00 , Processed in 0.024167 second(s), 10 queries , Gzip On, Redis On.

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