memory数据综合问题
时间:10-02
整理:3721RD
点击:
在定义memory时reg[7:0] mema[255:0],
当进行读写操作时,mema[j] <= 0能否使用变量,利用nLint检查会出现warnning
当进行读写操作时,mema[j] <= 0能否使用变量,利用nLint检查会出现warnning
你这里赋值应该是要对memory做初始化的,实际上,可综合的memory不能写if(rst)mem[j] <= 0。,。因为memory本身没有这个功能,你如果写成这样的话,mem会被综合成register,就不是mem了。
由于我在做冒泡排序算法,每个时钟比较数据大小,并交换数据位置,难免会出现变量,贴图一张
你的式子中,使用 Nonblocking ,會錯誤。
?这是时序逻辑肯定用非阻塞赋值啊
你这里要实现的功能,其实只有register能做到。如果你要用mem来实现的话,则需要用流水线实现读写操作才可以,而不是像你现在这样,把memory里面的值用数组的方式读出来直接比,能做到你这个代码的,只有寄存器组。 我不是说你这种写法不对,功能上看是对的,我是想指出,你这里不是memory,而是register组而已。你代码写的像memory,可是综合后结果不是memory。这么说是为了防止你希望用memory来实现。
小编,一语惊醒梦中人,其实我一直错误认为memory综合出来就是寄存器类型,还有流水线确实是很好的建议, 多谢多谢
按照我的写法,最后综合出来的是一堆寄存器,而不是RAM
当然不是RAM, RAM 需要先用工具生成好
学习学习
