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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3316|回复: 11

[求助] fft程序使用modelsim仿真逻辑正确,下载错误。。求解!

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

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

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

x
本帖最后由 janstina 于 2013-8-20 14:48 编辑

用verilog编写了fft程序,仿真时钟10ns,下载时钟50ns。

我有下面这几个问题,请大家指点一下,谢谢!
1.其中用到了很多延时,延时在下载后还会实现延时的功能吗?
比如 #3  i=i+1;是否还能实现在3个时钟后i自增?
2.下载后应该怎样读程序的逻辑,是用signal Tap吗?
3.`timescale 1 ns / 1 ps 这句下载时是不是就没有用了,可否去掉?
发表于 2013-8-20 23:47:28 | 显示全部楼层
1,没有这样的功能了,会用实际电路的器件延时和线路延时来替代,当然你的延时要是计算的很牛,那么仿真和实际结果应该是一样的。
2,这是一种方式。
3,虽然确实不影响下载,但修改了又要重新编译,所以不用多此一举了。
 楼主| 发表于 2013-8-21 08:27:14 | 显示全部楼层
回复 2# gaurson


    Thanks a lot!
对于第一个我不是很明白,际电路的器件延时和线路延时在这里可以等效成至少3个时钟吗?
 楼主| 发表于 2013-8-21 12:01:14 | 显示全部楼层
回复 2# gaurson


    我今天看了一下时序仿真的波形,和之前的功能仿真完全不同,用#设置的这些延时完全没有起作用,请问这是咋回事啊?

我复制一下简单的部分程序

  always @ (posedge clk)
case(state)
.......
8'd3:
     if(f_R_addr<=N-2)
         begin
         f_R_wren=1;
        intin_data= AD1_q;
        #70 .....        
        #20  f_R_addr=f_R_addr+1;            
        end

           else.....
这部分是状态机state==8’d3时的程序,我想要实现在AD1_q赋给intin_data之后的第9个时钟上升沿,f_R_addr自增.但是波形却是这样的

波形图

波形图

很明显,当state变成3后,地址不是等待9个时钟后自增,而是马上执行自增。难道延时这么用是错的吗?
发表于 2013-8-21 14:06:00 | 显示全部楼层
混点经验╮(╯▽╰)╭
发表于 2013-8-21 14:08:01 | 显示全部楼层
回复 5# ssxmlhlds
发表于 2013-8-21 14:08:51 | 显示全部楼层
混点经验╮(╯▽╰)╭
发表于 2013-8-21 14:26:09 | 显示全部楼层
发表于 2013-8-21 22:49:42 | 显示全部楼层
回复 4# janstina


   你还需要好好学习FPGA设计流程除了编写代码外,其他部分的知识,#延时是一种不可综合的表达式,底层电路没有对应的结构来实现它,因为内部不可能做到很精准的延时,都是取决于你的布局布线和资源占用情况等。首要记住VERILOG是硬件描述语言,不是设计语言,不能凭空创造实际不存在的电路。
发表于 2013-8-21 22:51:55 | 显示全部楼层
回复 3# janstina


   不等于,不能用这个概念去等价。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-9-27 19:22 , Processed in 0.027772 second(s), 11 queries , Gzip On, Redis On.

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