微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请教关于从memory中读数据的问题。望各位指教,谢谢了。

请教关于从memory中读数据的问题。望各位指教,谢谢了。

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

从memory中每个时钟读取一个数据到module的输入端口DataIn.
然后数据再从DataIn输入到Dff.
Memory->DataIn(Input port )->Dff/D
我从仿真的波形文件上看Dff/Q 在第二个时钟时才有值:
#1 clock  数据到达DataIn
#2 clock 数据到达Dff/Q
我觉得理解不了的是memory到Dff/Q需要两个周期吗?
按我的理解从硬件上来看memory和Dff/D不就是类似于直接连在一起,然后只需一个时钟周期数据就可以到达Dff/Q了吗?
还是说输入端口也相当于一个寄存器,也需要一个clock?
菜鸟一只,望大家指点一下。谢谢!
附上相关的代码供参考:
///在design中
module design ( ....., DataIn,....);
...
always @ (posedge CLK )
Dff <= DataIn;
...
endmodule
///在testbench中
always @ (posedge CLK)
begin
    DataIn <= memory;      
    i=i+1;
end

更正一下,
///在testbench中
always @ (posedge CLK)
begin
    DataIn <= memory[i];      
    i=i+1;
end

第一步,给地址输出memory中数据至DataIn,第二步输出至DFF的Q端,每一步一个时钟,有问题吗?

楼上正解。

也就是说从memory中读数据到它自己的输出端口需要一个clock?
我原来理解错了,还以为数据就一直在memory输出端口上候着呢。
谢谢楼上两位:)

1时钟的时候datain上的数据是前一个时钟激发出来的,需要一个时钟周期

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

网站地图

Top