囫圇吞棗之 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 同時對這兩種傳輸方式進行支援變成一個整體的系統。用最簡單的連接方式,
產生相應的自動生成的代碼。省去了我們非常多的無聊時間做一些無聊連接的工作。還完成
了非常多機械化,但非常容易出錯的事情。比如時間域之間的轉換,位址自動對齊操作。而
我們更需要關注的事情則是系統結構本身的問題。這才是發揮創意,比較高級的事情。而對
於 SOPC 如何產生代碼,它具體是怎麼做鏈結的,我們大可以囫圇吞棗的全盤接受。
現在又帶來一個問題,我們可以從 SOPC Builder 裏面找到什麼呢?
Category
Sub-Category Name
Descript
要錢嗎?
橋接轉換
協定相關介面
MM 介面
ST 介面
ASI
Ethernet
High Speed
PCI
Serial
記 憶 體 和 記 憶
體介面
DMA
Flash
On-Chip
SDRAM
Clock Crossing Bridge
用於時鐘域之間轉換
Pipeline Bridge
TriState Bridge
Channel Adapter
插入寄存器
雙向信號轉換器
多通道調整
Data format Adapter
資料格式轉換
Demultiplexer
Multiplexer
Timing Adapter
ASI
LAN911C111
單輸入轉多輸出
多輸入轉單輸出
通道時序調整
ASI 介面
網路介面
Triple-speed ethernet
三速乙太網控制器
RapidIO
PCI
PCIe
Jtag UART
SPI
UART
DMA controller
SG DMA
高速介面
PCI 介面
PCI express 介面
Jtag 串列介面
SPI 3 線串口
RS-232 串口
DMA
在 MM 和 ST 之間傳遞資
料
No
No
No
No
No
No
No
No
No
No
Yes
Yes
Yes
Yes
No
No
No
No
No
CompactFlahs
( True IDE Mode )
Interface
Compact flash 控制介面 No
Serial
EPCS
Controller
Flash memory
Flash
EPCS 控制器
CFI flash 控制器
On-Chip FIFO Memory
在片 FIFO 寄存器
on-chip memory
普通在片記憶體
DDR SDRAM Controller
DDR SDRAM 控制器
DDR SDRAM High
performance Controller
DDR SDRAM 高速控制
器
DDR2 SDRAM Controller
DDR2 SDRAM 控制器
DDR2 SDRAM High
performance Controller
DDR3 SDRAM Controller
DDR2 SDRAM 高速控制
器
DDR3 SDRAM 高速控制
器
No
No
No
No
Yes
Yes
Yes
Yes
Yes
SDRAM Controller
SDRAM 控制器
CY7C1380C SSRAM
Cy7c1380c 控制器
IDT71V416 SRAM
IDT71V416 控制器
Avalon-ST test pattern
Checker
Avalon-ST Test Pattern
Generator
No
No
No
No
通過 ST 介面測試資料
ST 通道測試資料生成器 No
Performance counter unit 用於評估系統性能
System ID perinheral
系統號碼標識
Character LCD
Pixel Converter
LCD 控制器
BGR0 到 BGR 轉換器
Video Sync Generator
Sync 信號生成器
No
No
No
No
No
Romote update Controller
CycloneIII 遠端更新模組 No
Inverval Timer
PIO
Mailbox
Mutex
PLL
時間器
PLL
No
No
普通並口信號
多處理器之間資訊傳遞 No
No
多處理器仲裁器
No
Yes
圖像處理核
SRAM
Debug&
Performance
外設
Display
FPGA
Peripherals
Peripherlas
多處理器模組
PLL
VIP