Altera Nios嵌入式处理器大赛知识讲座 囫囵吞枣之 SOPC SOPC builder 是 QuartusII 中用来建立,开发,维护系统的平台。虽然很多时候我们用它作 为 NiosII 的一个嵌入式系统的开发环境,但我希望大家不要把思路只是局限在 NiosII 上面。 它将成为一个包容全部系统内容的一个平台。 让我们把一个系统分割成为两个部分。一个是控制部分。所谓的控制,就是对很多的寄存器 进行读写,或者是对内存存储器进行操作。而这些操作往往是与地址相关的。所以,我们使 用 Avalon-MM 进行这部分的连接。好像很多的系统一样,这个接口的两端是主从设备。主 设备发出要求,从设备被动接受操作。举个简单的例子,CPU 永远都是一个主设备,而一 些存储器,比如 Flash, SRAM 则是从设备。而 CPU 并不是唯一的主设备,比如 DMA 也可 以作为主设备。由于 Avalon-MM 总线的点对点结构,当 DMA 对一个从设备进行处理的时 候,CPU 可以对另一个设备进行出来。这就是这种结构最大的优势。 但是单一的 Avalon-MM 并不能完全的解决问题。因为对于某些传输而言,地址是没有意义 的。而高的通过率可能更重要。这就是数据通道。一些数据的处理,比如滤波,视频处理的 操作。而这就需要用 Avalon-ST 的接口进行连接。在这种结构中,接口的两端是相对平衡的 地位。 作为 SOPC builder 中的一个模块,他可以同时拥有多个所有的端口。然后再端口和端口之 间进行连接。 SOPC builder 同时对这两种传输方式进行支持变成一个整体的系统。用最简单的连接方式, 产生相应的自动生成的代码。 省去了我们非常多的无聊时间做一些无聊连接的工作。还完成 了非常多机械化,但非常容易出错的事情。比如时间域之间的转换,地址自动对齐操作。而 我们更需要关注的事情则是系统结构本身的问题。这才是发挥……