SOPC系统架构与系统生成
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Nios II + 所有外设 使用HDL描述 - Altera自主开发 可以在所有 Altera FPGAs上实现 - Harvard 架构 使用Quartus II内带综合器综合 - Royalty-Free
Cache
Avalon Switch Fabric
Nios II CPU
Debug
Nios II 处理器可 版本
Nios
DA Lab
II 处理器 提供 三种 ISA 兼容版本
FAST: 速度优化
STANDARD: 兼顾速度与尺寸 ECONOMY: 尺寸优化
软件: 二进制代码兼容
CPU版本更换不需要更改程序代码
二进制代码兼容 / 性能可伸缩
Nios II /f 全功能型
Test FPGA on PCB Board (板上测试)
- Program & Test Device on Board - Use SignalTap II for Debugging
开发套件, Stratix & Cyclone 版本
JTAG下载调试接口 串口 RS-232 接口 电源接口
DA Lab
UART GPIO Timer SPI SDRAM Controller
On-Chip ROM
On-Chip RAM
FPGA
FPGA 硬件设计流程
设计规格
设计输入/RTL代码编写
- 行为级或结构化设计输入
DA Lab
SOPC Builder
功能仿真 (Modelsim, Quartus II) - Functional Simulation (Modelsim, 验证逻辑模型& Quartus II) 数据流 (无时延) - Verify Logic Model & Data Flow (No Timing Delays)
No Nios II Feature Line (OpenCore Plus Mode)
Nios II Feature Line (Active Subscriber)
Subscription and New Dev Kit Customers Obtain Licenses From www.altera.com Nios II CPU RTL Remains Encrypted Available Upon Request On Case-By-Case Basis Included With Purchase Of Nios II ASIC License
Xilinx
Virtex 4 or Virtex 5 PowerPC硬核、MicroBlaze EDK Cyclone II or Stratix II/III Nios II SOPC Builder & NiosII IDE Lattice Micro32 ARM7、Cortex-M3
FPGA 硬件设计流程
tclk
DA Lab
Timing Analysis(时序分析)
- Verify Performance Specifications Were Met - Static Timing Analysis
Gate Level Simulation(门级仿真)
- Timing Simulation - Verify Design Will Work in Target Technology
Place & Route(布局&布线)
- Map Primitives to Specific Locations Inside Target Technology with Reference to Area & Performance Constraints - Specify Routing Resources to Be Used
NiosII使用许可
DA Lab
Nios II Delivered As Encrypted Megacore
Licensed Via Feature Line In Existing Quartus II License File Consistent With General Altera Megacore Delivery Mechanism Enables Detection Of Nios II In Customer Designs (Talkback) System Runs If Tethered To Host PC System Times Out If Disconnected from PC After ~ 1 hr
32 x 32 32 in 3 Clock Cycles if DSP block present, else uses software only multiplier
Nios II Fast - Full Hardware Multiplier
32 x 32 32 in 1 Clock Cycles if DSP block present, else uses software only multiplier 硬件加速
Altera
Lattice Actel
以Altera公司的SOPC解决方案为例
DA Lab
器件
Cyclone & Cyclone II & Cyclone III Stratix & Stratix II & Stratix III & Stratix IV
CPU
Nios II 32位处理器软核(32 bits Soft Core)
DA Lab
Nios II Processor Level Shifter
Address (32)
32-Bit Nios II Processor
Read
Tri-State Bridge
Tri-State Bridge
Compact Flash PIOs
SDRAM Controller
Avalon Switch Fabric
DA Lab
SOPC设计技术
SOPC设计技术
SOPC系统架构与系统生成
杭州电子科技大学电子信息学院 系统集成技术研究所
问题提出: 降低成本、系统复杂度和功耗
I/O CPU I/O
I/O I/O I/O
DA Lab
Flash
SDRAM
I/O
FPGA
CPU DSP
DSP
解决方案:用可编程逻辑替代外扩器件
FPGA开发环境
Quartus II
以Altera公司的SOPC解决方案为例
DA Lab
系统构建软件
SOPC Builder
NiosII软件开发环境
Nios II IDE GNU GCC工具链
IP
MegaCore
Nios II是什么?
DA Lab
Altera’s 第二代软核32位RISC微处理器
None Standard MUL in Stratix Fast MUL in Stratix
时钟周期 (32 x 32 32)
250 3 1
硬件乘法器支持
DA Lab
Stratix and Stratix II DSP Blocks Cyclone II Multiplier Blocks
Nios II /s 标准型
5级 3 Cycle 静态 可配置 无 1200 – 1400
用户自定制指令
Up to 256
硬件乘法加速
DA Lab
Nios II Economy version – 无硬件乘法器
使用 GNUPro 数学库 软件实现乘法
Nios II Standard - Full Hardware Multiplier
用户自定义 指令 逻辑
算术逻辑单元ALU
数据 Cache
Nios II 处理器架构
典型
DA Lab
流水线 RISC 处理器
32 通用 寄存器 3 种指令类型 32位 指令字长 32位 数据通路 对称性寄存器堆设计(Flat Register File) (可配置大小)指令缓存与数据缓存分离 分支预测 32 个中断(优先级可配置) 用户自定制 指令 JTAG 硬件调试单元
Pipeline 硬件乘法 & 桶形移 位(Barrel Shifter ) 分支预测 指令 Cache 数据 Cache 逻辑实用 (LE逻辑 单元) 6级 1 Cycle 动态 可配置 可配置 1400 - 1800
DA Lab
Nios II /e 经济型
无 软件模拟 无 无 无 600 – 700
Multiplication using 18 x 18 Multiplier Block
Optional LE Implementation
Enables HW multiplier support for Cyclone Device Family Can also use in Stratix and Stratix II instead of DSP Blocks Mul, Shift, Rotate (~ 8 Clocks Per Mul) Eliminates need for DSP blocks for Nios II MUL
Problem: Reduce Cost, Complexity & (SOPC) System On A Programmable Chip Power 可编程片上系统
DA Lab
Flash
FPGA
SDRAM
处理器实现系统集成所需的关键控制功能
各个FPGA提供商的SOPC解决方案
DA Lab
Write
Data In (32)
Data Out (32)
ROM
(with Monitor)
General Purpose Timer
UART Periodic Timer
Reconfig PIO
7-Segment LED PIO
IRQ IRQ #(6)
LED PIO
LCD PIO
Button PIO
DA Lab
UART n
Timer n
SPI n
GPIO nຫໍສະໝຸດ Baidu
DMA 0
DMA n
Memory Interface Memory Interface User-Defined User-Defined Interface Interface
Avalon Switch Fabric
Nios II 框图
RTL仿真
LE
M4K
M512
Synthesis(综合)
I/O
- Translate Design into Device Specific Primitives - Optimization to Meet Required Area & Performance Constraints - Spectrum, Synplify, Quartus II
Nios II 处理器核
reset clock
JTAG 接口 to 元件调试器 硬件加速 调试模块 程序控制 & 地址生成 通用寄存器 r0 to r31
DA Lab
指令 主端口 指令 Cache
异常控制
irq[31..0]
中断控制
控制寄存器 ctl0 to ctl4 数据 主端口
用户自定义 I/O 信号
10/100M 以太网 MAC/PHY & RJ-45 接口 CPU 复位 8 MB Flash 扩展接口
(40 I/O pins each)
16 MB SDRAM 1MB SRAM
CF卡
按键
LEDs
7段数码管
FPGA配置控制器 (MAX 7128AE) 配置控制
标准设计框图
Ethernet MAC/PHY 1MB SRAM 8MB FLASH 16MB Compact FLASH 32MB SDRAM
On-Chip
Off-Chip
8 LEDs
Expansion Header J12
2 Digit Display
4 Momentary buttons
Nios II 系统架构
Instr. Nios II CPU On-Chip Debug Core 等待状态 生成 GPIO 0 Off-Chip Software Trace Memory 数据输入 多路选择 Master Arbitration 动态总线 位宽对齐 Data 中断控制 SPI 0 地址译码 Avalon 主/从 端口 接口 UART 0 Timer 0
Cache
Avalon Switch Fabric
Nios II CPU
Debug
Nios II 处理器可 版本
Nios
DA Lab
II 处理器 提供 三种 ISA 兼容版本
FAST: 速度优化
STANDARD: 兼顾速度与尺寸 ECONOMY: 尺寸优化
软件: 二进制代码兼容
CPU版本更换不需要更改程序代码
二进制代码兼容 / 性能可伸缩
Nios II /f 全功能型
Test FPGA on PCB Board (板上测试)
- Program & Test Device on Board - Use SignalTap II for Debugging
开发套件, Stratix & Cyclone 版本
JTAG下载调试接口 串口 RS-232 接口 电源接口
DA Lab
UART GPIO Timer SPI SDRAM Controller
On-Chip ROM
On-Chip RAM
FPGA
FPGA 硬件设计流程
设计规格
设计输入/RTL代码编写
- 行为级或结构化设计输入
DA Lab
SOPC Builder
功能仿真 (Modelsim, Quartus II) - Functional Simulation (Modelsim, 验证逻辑模型& Quartus II) 数据流 (无时延) - Verify Logic Model & Data Flow (No Timing Delays)
No Nios II Feature Line (OpenCore Plus Mode)
Nios II Feature Line (Active Subscriber)
Subscription and New Dev Kit Customers Obtain Licenses From www.altera.com Nios II CPU RTL Remains Encrypted Available Upon Request On Case-By-Case Basis Included With Purchase Of Nios II ASIC License
Xilinx
Virtex 4 or Virtex 5 PowerPC硬核、MicroBlaze EDK Cyclone II or Stratix II/III Nios II SOPC Builder & NiosII IDE Lattice Micro32 ARM7、Cortex-M3
FPGA 硬件设计流程
tclk
DA Lab
Timing Analysis(时序分析)
- Verify Performance Specifications Were Met - Static Timing Analysis
Gate Level Simulation(门级仿真)
- Timing Simulation - Verify Design Will Work in Target Technology
Place & Route(布局&布线)
- Map Primitives to Specific Locations Inside Target Technology with Reference to Area & Performance Constraints - Specify Routing Resources to Be Used
NiosII使用许可
DA Lab
Nios II Delivered As Encrypted Megacore
Licensed Via Feature Line In Existing Quartus II License File Consistent With General Altera Megacore Delivery Mechanism Enables Detection Of Nios II In Customer Designs (Talkback) System Runs If Tethered To Host PC System Times Out If Disconnected from PC After ~ 1 hr
32 x 32 32 in 3 Clock Cycles if DSP block present, else uses software only multiplier
Nios II Fast - Full Hardware Multiplier
32 x 32 32 in 1 Clock Cycles if DSP block present, else uses software only multiplier 硬件加速
Altera
Lattice Actel
以Altera公司的SOPC解决方案为例
DA Lab
器件
Cyclone & Cyclone II & Cyclone III Stratix & Stratix II & Stratix III & Stratix IV
CPU
Nios II 32位处理器软核(32 bits Soft Core)
DA Lab
Nios II Processor Level Shifter
Address (32)
32-Bit Nios II Processor
Read
Tri-State Bridge
Tri-State Bridge
Compact Flash PIOs
SDRAM Controller
Avalon Switch Fabric
DA Lab
SOPC设计技术
SOPC设计技术
SOPC系统架构与系统生成
杭州电子科技大学电子信息学院 系统集成技术研究所
问题提出: 降低成本、系统复杂度和功耗
I/O CPU I/O
I/O I/O I/O
DA Lab
Flash
SDRAM
I/O
FPGA
CPU DSP
DSP
解决方案:用可编程逻辑替代外扩器件
FPGA开发环境
Quartus II
以Altera公司的SOPC解决方案为例
DA Lab
系统构建软件
SOPC Builder
NiosII软件开发环境
Nios II IDE GNU GCC工具链
IP
MegaCore
Nios II是什么?
DA Lab
Altera’s 第二代软核32位RISC微处理器
None Standard MUL in Stratix Fast MUL in Stratix
时钟周期 (32 x 32 32)
250 3 1
硬件乘法器支持
DA Lab
Stratix and Stratix II DSP Blocks Cyclone II Multiplier Blocks
Nios II /s 标准型
5级 3 Cycle 静态 可配置 无 1200 – 1400
用户自定制指令
Up to 256
硬件乘法加速
DA Lab
Nios II Economy version – 无硬件乘法器
使用 GNUPro 数学库 软件实现乘法
Nios II Standard - Full Hardware Multiplier
用户自定义 指令 逻辑
算术逻辑单元ALU
数据 Cache
Nios II 处理器架构
典型
DA Lab
流水线 RISC 处理器
32 通用 寄存器 3 种指令类型 32位 指令字长 32位 数据通路 对称性寄存器堆设计(Flat Register File) (可配置大小)指令缓存与数据缓存分离 分支预测 32 个中断(优先级可配置) 用户自定制 指令 JTAG 硬件调试单元
Pipeline 硬件乘法 & 桶形移 位(Barrel Shifter ) 分支预测 指令 Cache 数据 Cache 逻辑实用 (LE逻辑 单元) 6级 1 Cycle 动态 可配置 可配置 1400 - 1800
DA Lab
Nios II /e 经济型
无 软件模拟 无 无 无 600 – 700
Multiplication using 18 x 18 Multiplier Block
Optional LE Implementation
Enables HW multiplier support for Cyclone Device Family Can also use in Stratix and Stratix II instead of DSP Blocks Mul, Shift, Rotate (~ 8 Clocks Per Mul) Eliminates need for DSP blocks for Nios II MUL
Problem: Reduce Cost, Complexity & (SOPC) System On A Programmable Chip Power 可编程片上系统
DA Lab
Flash
FPGA
SDRAM
处理器实现系统集成所需的关键控制功能
各个FPGA提供商的SOPC解决方案
DA Lab
Write
Data In (32)
Data Out (32)
ROM
(with Monitor)
General Purpose Timer
UART Periodic Timer
Reconfig PIO
7-Segment LED PIO
IRQ IRQ #(6)
LED PIO
LCD PIO
Button PIO
DA Lab
UART n
Timer n
SPI n
GPIO nຫໍສະໝຸດ Baidu
DMA 0
DMA n
Memory Interface Memory Interface User-Defined User-Defined Interface Interface
Avalon Switch Fabric
Nios II 框图
RTL仿真
LE
M4K
M512
Synthesis(综合)
I/O
- Translate Design into Device Specific Primitives - Optimization to Meet Required Area & Performance Constraints - Spectrum, Synplify, Quartus II
Nios II 处理器核
reset clock
JTAG 接口 to 元件调试器 硬件加速 调试模块 程序控制 & 地址生成 通用寄存器 r0 to r31
DA Lab
指令 主端口 指令 Cache
异常控制
irq[31..0]
中断控制
控制寄存器 ctl0 to ctl4 数据 主端口
用户自定义 I/O 信号
10/100M 以太网 MAC/PHY & RJ-45 接口 CPU 复位 8 MB Flash 扩展接口
(40 I/O pins each)
16 MB SDRAM 1MB SRAM
CF卡
按键
LEDs
7段数码管
FPGA配置控制器 (MAX 7128AE) 配置控制
标准设计框图
Ethernet MAC/PHY 1MB SRAM 8MB FLASH 16MB Compact FLASH 32MB SDRAM
On-Chip
Off-Chip
8 LEDs
Expansion Header J12
2 Digit Display
4 Momentary buttons
Nios II 系统架构
Instr. Nios II CPU On-Chip Debug Core 等待状态 生成 GPIO 0 Off-Chip Software Trace Memory 数据输入 多路选择 Master Arbitration 动态总线 位宽对齐 Data 中断控制 SPI 0 地址译码 Avalon 主/从 端口 接口 UART 0 Timer 0