Altera SOPC Design Flow and Tool

Download Report

Transcript Altera SOPC Design Flow and Tool

SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC/NIOS II 開發流程
• SOPC/NIOS II
• 開發流程
• 開發工具
1
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC
• 全名:
– System On a Programmable Chip
• 目的:
– 將完整的電子系統, 整合在一顆FPGA 內
(All in one!)
• 優點:
– 有彈性, 容易修改與擴充系統
2
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II
•
•
•
•
•
•
•
•
Altera 第二代Processor
Soft-Core 32-bit RISC
Royalty-Free
支援Altera 全系列FPGA
依速度, 有三種版本可供選擇
支援Instruction/Data Cache
支援JTAG Debug
可自訂指令
3
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II 版本
• 版本
• 軟體相容性
–Binary Code Compatible (No changes required
when CPU version is changed.)
4
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC/NIOS II 開發流程
硬體開發流程
Quartus II
New Project (.qpf)
SOPC Builder
軟體開發流程
Add Processor
NIOS II IDE
Add Controllers
Component Connect
New Project
.PTF
硬體描述檔
Project Configure
Code Generate (.v)
Coding (.c/.cpp)
Top Design (.v)
Compile/Linker
Pin Assignment (.qsf)
Compile (.sof)
DE2_70
Board
HAL & system.h
Execute Code (.elf)
5
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC/NIOS II 開發工具
• SOPC Builder
• NIOS II IDE
6
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC Builder
•
•
•
•
•
Quartus 附屬工具之一
用於快速(幾分鐘!)建立SOPC
內建60個以上的IP, 含Processor
圖形操作介面
自動產生SYSTEM code:
– HDL Source File
– 硬體描述檔(.PTF)
7
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC Builder 介面
元件區
系統建構區
8
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC 建構流程
1. 從元件區挑選元件, 一一加入系統建構區
2. 於系統建構區設定: 每個元件的Clock,
Address, IRQ, 以及元件間的Connection.
3. 按 “Generate” 產生Source Files
Component
Name/Description
元件區
Address
IRQ
系統建構區
Connection
Generate
9
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC 系統設定
• MM架構(MemoryMapped)
System
Interconnect
Fabric
元件
以Address 來
定址所要
Access 的元件
• 設定元件:
– Name
– Clock
– Address
– IRQ
– 之間的連接關係
10
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC Example
11
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
SOPC Builder 輸出
• 以 “系統名稱”來命名HDL Top Source
File & 硬體描述檔.PTF
• Example:系統名稱 = “DE2_70_SOPC”
– Top: DE2_70_SOPC.v
– PTF: DE2_70_SOPC.ptf
12
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II IDE 介紹
13
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II IDE(1)
• NIOS II Processor 的C/C++整合開發環境
• 包含Editor, Compile/Link, Download, Debug 功
能
• 依硬體描述檔PTF, 自動產生HAL & SYSTEM.h
– HAL (Hardware Abstraction Layer).功能: 控制硬體的
Software Library
– SYSTEM.h: 定義SOPC 內每個元件的name, base
address, IRQ number… 等資訊.
• 執行檔的副檔名為.ELF (Executable and Linkable
Format)
14
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II IDE(2)
• OS:
– None-OS
– MicroC/OS2
• Software Component:
– Standard C Library
– TCP/IP Stack
– Zip Read-Only File System
– Host Based File System
15
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II System
使用者
產生
NIOS II IDE
產生
SOPC
產生
16
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II System Boot Sequence
CRT0.S
RESET
Initialize interrupt system and setup call
to main
alt_main
alt_sys_init
main()
Initialise caches, BSS, stack pointer,
global pointer
Initialize HAL devices
Application Code
17
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II IDE C/C++介面
Debug
Project
Management
介面切換
Run
Editor
outline
Console
18
SOPC/NIOSII
設計與實作課程
© 2007 Terasic Corporation
NIOS II IDE Debug 介面
Debug Trace
Control Bar
Calling
Stack
Variable/Register
Inspect
C-Level Trace
F6: Step Over
F5: Step Into
Breakpoint
Console
Window
Disassembly
Trace
19