打印

后仿真一个奇怪的问题

[复制链接]
2957|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kdurant|  楼主 | 2012-5-13 23:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kdurant 于 2012-5-13 23:15 编辑
always @(posedge SMG_CLK or negedge RSTn)
begin
    if(~RSTn)
        begin
            SMG_DATA    <= 0;
            count_sent  <= 0;   
            SELECT_ALL  <= 8'b00000000;
            SELECT_1st  <= 8'b11100000;
            SELECT_2nd  <= 8'b11010000;
            SELECT_3th  <= 8'b10110000;
            SELECT_4th  <= 8'b01110000;
        end   
    else
        begin
            if(count_sent < 7)
                begin
                    count_sent  <= count_sent + 1;
                    SMG_DATA    <= SELECT_2nd[7-count_sent];
                end
            else
                count_sent      <= 0;
        end
end     
后仿真的时候count_sent居然在SMG_CLK跳变之前就加1了,求解释

QQ截图20120513231530.png (16.35 KB )

QQ截图20120513231530.png

相关帖子

沙发
Backkom80| | 2012-5-14 09:45 | 只看该作者
截同一层次的SMG_CLK和count_sent的数据看看
现在截的这个图两信号不在同一层次

使用特权

评论回复
板凳
GoldSunMonkey| | 2012-5-14 10:16 | 只看该作者
贝壳,有点奇怪啊

使用特权

评论回复
地板
kdurant|  楼主 | 2012-5-14 11:01 | 只看该作者
那只能晚上回去截图了

使用特权

评论回复
5
Backkom80| | 2012-5-14 17:26 | 只看该作者
贝壳,有点奇怪啊
GoldSunMonkey 发表于 2012-5-14 10:16


是的啊,确实有点奇怪,呵呵,

使用特权

评论回复
6
kdurant|  楼主 | 2012-5-14 19:16 | 只看该作者
应LS要求,发出同一层次的截图

QQ截图20120514191546.png (23.24 KB )

QQ截图20120514191546.png

使用特权

评论回复
7
kdurant|  楼主 | 2012-5-14 21:37 | 只看该作者
呼叫大神

使用特权

评论回复
8
icecut| | 2012-5-15 00:04 | 只看该作者
差0.5ns,也就是探测点晚了1个mm???

使用特权

评论回复
9
Backkom80| | 2012-5-15 08:37 | 只看该作者
如果可能的话将工程上传上来,我想想细细看看,同时将你的操作步骤详细说明下,我好能将这个现象重复出来。确实有点奇怪,

使用特权

评论回复
10
kdurant|  楼主 | 2012-5-15 09:14 | 只看该作者
好的,晚上回去的,忘记把工程放网盘了

使用特权

评论回复
11
GoldSunMonkey| | 2012-5-15 10:11 | 只看该作者
;P是呀,很奇怪啊。

使用特权

评论回复
12
GoldSunMonkey| | 2012-5-15 10:11 | 只看该作者
我从来都没有遇到过这样的问题。

使用特权

评论回复
13
kdurant|  楼主 | 2012-5-15 19:13 | 只看该作者
上传附件quartus11.0SP1
modelsim工程在simulation目录下

display.rar

2.57 MB

使用特权

评论回复
14
Backkom80| | 2012-5-16 11:55 | 只看该作者
我看了工程没有太大问题,功能仿真和时序仿真都是对的,
count_sent的变化也是在SMG_CLK沿之后的,这个地没有错,
你看到的那个图,是正确的,是你想错了,
如果count_sent的延时较长接近一个时钟周期就变成你的那个图了,
如,时钟周期为T,count_sent的延时有T-0.5ns,当t0时刻沿到来,过T-0.5ns数据才变化,而过T时刻下一个时钟沿到来了,就是你看到的那个图了
:lol

使用特权

评论回复
15
yuanw| | 2012-5-16 12:02 | 只看该作者
:dizzy:

使用特权

评论回复
16
kdurant|  楼主 | 2012-5-16 13:02 | 只看该作者
14# Backkom80
SMG_CLK的时钟为1M,为1000ns

你意思是count_sent的延迟为999.5ns?

使用特权

评论回复
17
GoldSunMonkey| | 2012-5-16 15:32 | 只看该作者
14# Backkom80
SMG_CLK的时钟为1M,为1000ns

你意思是count_sent的延迟为999.5ns?
kdurant 发表于 2012-5-16 13:02
是的,这样是有可能的。
可能你写的组合逻辑延时太大了。

使用特权

评论回复
18
kdurant|  楼主 | 2012-5-16 16:18 | 只看该作者
。。。。这也太蛋疼了,而且我好像没有用到组合逻辑
貌似就一个always块

使用特权

评论回复
19
kdurant|  楼主 | 2012-5-16 20:08 | 只看该作者
针对GSM说的问题,我又看了下,上面图显示的是SMG_CLK的第一个时钟上升沿

所以不会是Backkom80 说的问题

请大神们仔细看下啊

使用特权

评论回复
20
Backkom80| | 2012-5-17 08:51 | 只看该作者
本帖最后由 Backkom80 于 2012-5-17 08:55 编辑

呵呵,我看了下Post-Fitting后的图和RTL有些不同,估计是被优化了的,altera的片子底层我不熟,为什么这么优化不清楚,但是可以给你的这个时序仿真一个合理的解释吧,嘻嘻,post-fitting的图00,图中的smg_clk_reg0的Q端输出给了smg_clk的IO口(红色的那根线),而count_sent的触发clk是smg_clk_reg0clkctrl,细细比较modelsim中关于这几个信号的时序关系就ok了(图01为modelsim的部分),为什么smg_clk会晚是布线延时的问题。

00.JPG (33.11 KB )

00.JPG

01.JPG (72.1 KB )

01.JPG

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

25

主题

279

帖子

0

粉丝