我最近正在学习FPGA。我试图使用SDRAM,有人建议我通过Nios II使用它。但是我在NIOS II(C/C )上看到了一些使用IP Core的文章,它可能比您通过Verilog写的速度慢?为什么?因为硬件(快速,并行)和软件?
什么是软cpu?FPGA由可重构逻辑块(LUTS),内存和乘数/DSP组成。软CPU是由FPGA可配置逻辑组成的CPU。NIOS II是Altera/Intel的柔软CPU的风味。这与许多Altera/Intel和Xilinx Soc FPGA中包含的臂芯(包括手臂核心)不同。在这些情况下,由固定晶体管而不是FPGA织物制成的手臂芯,不能用于其他目的。
为什么要硬化CPU?它们通常比柔软的CPU快,占用更少的空间,并且不会消耗任何有价值的FPGA路由。由于许多设计使用某种CPU,因此硬化一个(例如,使用许多流行的I/O接口完成)会产生总体净收益。(如果您不需要CPU,则可以简单购买非SOC FPGA。
对于使用CPU与纯逻辑/硬件,也有权衡。写作软件通常比Verilog更容易,并且您的CPU将设置为管理响应时间和其他内存怪癖之类的内容。但是,您会受到CPU速度的限制(NIOS通常为100-200MHz,具体取决于您的FPGA),并且需要与CPU接口的额外延迟,并且CPU指令执行速度。
。与为什么FPGA越来越受欢迎的原因相似,纯铁制电路具有专业化,可以使它们比更多的CPU(软或硬化)更快地操作。您获得的速度提升的权衡是编写定时精确的verilog的额外工作。