Verilog 为什么每当我在互联网上查看关于如何使用DE1-SOC的SDRAM的信息时,我都会使用NIOS-II?

Verilog 为什么每当我在互联网上查看关于如何使用DE1-SOC的SDRAM的信息时,我都会使用NIOS-II?,verilog,fpga,nios,Verilog,Fpga,Nios,我正在做一个简单的项目,从外部存储器中取出100个数字(一个接一个),对这个数字做一个简单的算术运算(比如加1),然后将它返回到另一个存储器 我成功地完成了用verilog代码“表示”内存的项目,不过我现在想综合我的设计,但使用的是电路板的SDRAM。我将数据加载到SDRAM的方式,或者我如何处理再次输出到SDRAM的结果数据,与我的家庭作业无关 但我就是不知道该怎么办,互联网上的所有信息让我想到了NIOS-II的使用。考虑到我必须将数据加载到SDRAM以使其能够为我服务,以及其他原因,可能是N

我正在做一个简单的项目,从外部存储器中取出100个数字(一个接一个),对这个数字做一个简单的算术运算(比如加1),然后将它返回到另一个存储器

我成功地完成了用verilog代码“表示”内存的项目,不过我现在想综合我的设计,但使用的是电路板的SDRAM。我将数据加载到SDRAM的方式,或者我如何处理再次输出到SDRAM的结果数据,与我的家庭作业无关


但我就是不知道该怎么办,互联网上的所有信息让我想到了NIOS-II的使用。考虑到我必须将数据加载到SDRAM以使其能够为我服务,以及其他原因,可能是NIOS-II是最推荐的方法吗?不用它就可以完成,而且更实用吗?

这可能不是你做作业的地方。另外,你的问题很不清楚。我们还是试试吧:

我成功地用verilog代码“表示”了一个内存

我假设你的意思是,你下载了一个与你主板上的内存相对应的模型


从外部存储器中取出100个数字

我想知道你是怎么做到的。您是加载了一些初始化文件还是先写了数字?在第一种情况下:这将不会被合成,您可能会读取随机数据,对此,您应该参考内存的数据表。如果需要特定的值,则需要在某些初始化过程中将其写入内存


当然,您需要设备的正确约束。所以我建议您以NIOSII为例,启动并运行它,然后在下一步中去掉NIOSII。至少您可以确保控制器和sdram之间的接口是正确的。然后阅读控制器的数据表。可能您有一个读选通、写选通、数据输入、数据输出端口、一些配置,可能有一个脉冲长度。如果您需要这方面的帮助,您需要提出一个更具体的问题

“从外部存储器获取100个数字”我没有使用开发板上的外部存储器。我在另一个文件中进行了“模拟”或“表示”,通过命令$readmemb加载数据,但这是不可合成的,这只是为了测试。我进行了测试,它工作正常,但现在我想将设计传递到适当的DE1-SOC中,我想我不能再使用$readmemb了,但我必须学会在电路板中使用SDRAM。一位同学告诉我要这样做,没有必要使用NIOS-II,使用megawizard并编写正确的verilog就足够了。我认为,
$readmemb
可以在FPGA上加载内存默认值。@Morgan:不。参考这个讨论:一些合成工具能够在合成逻辑上设置这些初始值。SDRAM是另一回事。@sujeto1:pseudocode:if reset then init:=0;elsif时钟:如果init=0,则对于范围(0到100)内的i,如果i=100,则将值写入地址i,init:=1;否则做正常的事情,初始化是done@chrisvp这是干什么用的?