微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > fft程序使用modelsim仿真逻辑正确,下载错误。求解!

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

时间:10-02 整理:3721RD 点击:

用verilog编写了fft程序,仿真时钟10ns,下载时钟50ns。
我有下面这几个问题,请大家指点一下,谢谢!
1.其中用到了很多延时,延时在下载后还会实现延时的功能吗?
比如 #3  i=i+1;是否还能实现在3个时钟后i自增?
2.下载后应该怎样读程序的逻辑,是用signal Tap吗?
3.`timescale 1 ns / 1 ps 这句下载时是不是就没有用了,可否去掉?

1,没有这样的功能了,会用实际电路的器件延时和线路延时来替代,当然你的延时要是计算的很牛,那么仿真和实际结果应该是一样的。
2,这是一种方式。
3,虽然确实不影响下载,但修改了又要重新编译,所以不用多此一举了。



    Thanks a lot!
对于第一个我不是很明白,际电路的器件延时和线路延时在这里可以等效成至少3个时钟吗?



    我今天看了一下时序仿真的波形,和之前的功能仿真完全不同,用#设置的这些延时完全没有起作用,请问这是咋回事啊?
我复制一下简单的部分程序
  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个时钟后自增,而是马上执行自增。难道延时这么用是错的吗?

混点经验╮(╯▽╰)╭

混点经验╮(╯▽╰)╭

本论坛帖子:
http://bbs.eetop.cn/viewthread.php?tid=359411
http://bbs.eetop.cn/viewthread.php?tid=330975



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



   不等于,不能用这个概念去等价。



    嗯,明白了,谢谢你!

    #3  i=i+1不可综合
所以只能仿真,综合后该部分就被综合掉了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top