微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 特权例程 sdram串口同学问题

特权例程 sdram串口同学问题

时间:10-02 整理:3721RD 点击:
always @(posedge clk or negedge rst_n)
if(!rst_n) addr <= 19'd0;
else if(!wr_done && cntwr == 6'h3f) addr <= addr+1'b1;//写地址产生
else if(wr_done && neg_rdack) addr <= addr+1'b1;
//读地址产生
////////////test

这是产生数据模块中的一段代码,为什么要是  写了8个数据后,addr 才加一,怎么不是写一个数据,加一个地址呢 ?

还有   如果我想把突发模式改成4,需要改那些地方,我試过了很多次,打印数据依然有问题。
希望有路过的朋友看到了麻烦帮忙解决一下。

BRUST length是8,当然写8个数据,然后那个地址他应该最后会补3个0。很久以前做的SDR,依稀记得BL最小是8吧,也许我记错了也不一定,你去看看SDR的datasheet把



   那我想问下,因为我移植特权代码,我的sdram是266Mbit,,但打印的数据出现了问题,有数据会重叠,你知道这是啥原因不 ?

不知道,没移植过他,你可以仿真自己找下问题



   嗯,好的,谢谢。

BL长度是SDRAM初始化的时候配置的,有个最小长度的,如果最小不支持4,那就是不行,支持你需要改一下初始化时候的配置,少年还是去看SDRAM的datasheet的把,心急吃不了热豆腐啊



   没心急,呵呵,,,只是看了很久,有点想不明白,



   如果他的是BL8而你的SDRAM是BL4的话,那他代码直接移植过来肯定会有数据冲突。这的确需要你好好研读你选择的SDRAM的时序参数,而且要吃透程序的BL参数在哪些地方起作用。关键还是要靠仿真,没有simulation,搞很久都不一定搞的出来。

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

网站地图

Top