初级会员
- 积分
- 83
- 金钱
- 83
- 注册时间
- 2018-11-20
- 在线时间
- 18 小时
|
3金钱
尊敬的 团队 以及 论坛里的各位 大佬,小弟请教一个问题:
问题:
手把手教你学FPGA视频教程里,第23讲,实验任务是往ram 0地址 到 31 地址 分别写入写入数据 0 ~ 31 ,本人对于 程序里 何时写入 数据 0 存有疑问,我觉得是在 rst_n=0,即复位信号 拉低期间,写入0的,不知道对不对。
视频里讲的是 只要 写使能信号 wr_en 拉高,给出对应的地址 ram_addr,和对应的写数据 ram_wr_data,那么数据就会被写入内存。
下面是 源程序 截图,一个字母都没改, 我只在 截图里画了注释
从上面的 截图可以看到 ,复位信号 rst_n 为 0 时, rw_cnt <= 6'd0,因为 assign ram_wr_en = ((rw_cnt >= 6'd0) && (rw_cnt <= 6'd31)) ? 1'b1 : 1'b0;
则此时 写使能信号 wr_en =1,此时 对应的地址 ram_addr =0,写数据 ram_wr_data =0, 那么是不是 复位信号 rst_n 为 0 期间,就开始往内存里写入了 数据0呢?
当 复位信号 为高后,系统时钟第一个上升沿来临时, 写数据ram_wr_data 会 加 1,写数据 变成了 1,之后每个上升沿来临 就加1,
请问 我这样理解对吗? 之前学单片机的时候,复位信号为 0时,是 不会往 内存里 写东西的。
|
|