FPGA中的DSP核心设计.ppt

合集下载

FPGA-DSP

FPGA-DSP

結束動作 NX=0
微碼控制流程
(92) 德霖技術學院 - 13
運算單元的設計
運算單元包括了暫存器和運算處理,負責整個DSP核心的數值運 算和邏輯運算等工作。 學習如何在FPGA中,完成運算單元的細部設計,並設計微控碼 來測試運算的正確性。 運算單元的設計內容
AX暫存器的管理 HX暫存器的管理 FX暫存器的管理 匯流排的管理 mREG的解碼 加減運算 邏輯運算 比較運算 移位運算 補位運算
方波 產生 PD 控制 PWM 驅動 直流 馬達 位置 量測 速度量測 轉角量測
0x52 0x53 0x51 命令
Kp Kd
Gain 0x54 Bias 0x55 PWM 驅動 直流 馬達
0x50
ON/OFF
PD 控制
PHT 回授
轉角
0x5A
(92) 德霖技術學院 - 11
微控碼的處理
前面兩個實驗中分別以軟體方式和硬體方式來執行閉環路控制中 的控制器。接下來將建立微碼控制器,再試著以微碼方式重新執 行閉環路控制。
FPGA#1 RAM DMA
LCD
8
SIOF
SIO
FPGA#2 SIOF 8
16 16
實驗模組 LCD 模組 DCM 模組
(92) 德霖技術學院 - 8
馬達驅動界面
馬達的控制需要高速的動態響應能力,是DSP核心的重要應用方 向。 學習如何在FPGA中,建立馬達驅動器的界面,包括PWM的驅動控 制以及光電盤的解碼和計數,提供馬達控制實驗的設計基礎。 使用VHDL程式建立DCM模組的連線,包括PWM控制和光電盤解碼。
開環路的電壓控制 閉環路的速度控制:以P 控制器作回授控制 閉環路的位置控制:以PD控制器作回授控制

DSP芯片的基本结构和特征ppt课件

DSP芯片的基本结构和特征ppt课件
芯片内部的特殊结构紧密相关的
• 学习DSP芯片的结构和特征,对于深入理解
DSP芯片的操作过程,掌握DSP芯片的开发 和应用技术具有很重要的意义
二、基本结构
程序 存储器
程序地址 发生单元
数据 存储器
外部存储器 接口
数据总线
程序总线
数据地址 发生单元
指令缓存
DMA 处理器
定时器
时钟单元
等待状态 发生器
DSP芯片的基本结构和特征
1. 引言 2. 基本结构 3. 中央处理单元CPU 4. 总线结构和流水线 5. 片内存储器 6. 片内外设
7. TI定点DSP芯片 8. TI浮点DSP芯片 9. 其他DSP芯片简介 10.小结 11.习题与思考题
一、引 言
• 在DSP芯片操作中,许多特殊功能是与DSP
C20x
(ns) (字) (字) (字) 串口 串口
C203
25/35/50
-
544
-
1
1
C204
25/35/50
4K
544
-
1
1
C205
25/35/50
-
4.5K
-
1
1
F206
25/35/50
-
4.5K
32 K
1
1
F207
25/35/50
-
4.5K
32 K
2
1
C209
35/50
4K
4.5K
-
-
-
七、TI定点DSP芯片
三、CPU
3.4 乘累加单元
CB15-CB0 DB15-DB0 PB15-PB0
40 累加器A

DSP+FPGA架构

DSP+FPGA架构

1. DSP的特点DSP作为可编程超大规模集成电路(VLSD)器件,是通过可下载的软件或固件来实现扩展算法和数字信号处理功能的,其最典型的用途是实现数字图像处理算法。

在硬件上,DSP最基本的构造单元是被称为MAC的乘加器。

它通常被集成在数据通道中,这使得指令周期时间可以跟硬件的算术周期时间相同。

DSP芯片丰富的片内资源,大容量的SRAM作为系统的高速缓存,高达64位的数据总线使系统具有很高带宽等。

在片外支持大容量存储器,图像处理中往往有大量数据需要处理,这就要求系统具有大容量的存储器,实时处理图像时要求存储器有很高的存取速度,在这一点上DSP实现了与目前流行的SDRAM、SBSRAM等高速大容量存储器的无缝连接,同时还支持SRAM、FIFO 等各种类型的存储器。

为满足便携式器件无电保存数据的要求,DSP芯片还提供了诸闪速存储器、铁电存储器等的无缝接口。

当前,大多数的DSP芯片采用改进的哈佛结构,即数据总线和地址总线相互分离,使得处理指令和数据可以同时进行,提高了处理效率。

另外还采用了流水线技术,将取指、取操作数、执指等步骤的指令时间可以重叠起来,大大提高运算速度。

1.1. 修正的哈佛结构DSP芯片采用修正的哈佛结构(Havardstructure),其特点是:1) 程序和数据具有独立的存储空间、程序总线和数据总线,非常适合实时的数字信号处理。

2) 同时,这种结构使指令存储在高速缓存器中(Cache),节约了从存储器中读取指令的时间,提高了运行速度。

1.2. 专用的乘法器一般的算术逻辑单元ALU(Arithmetic and Logic Unit)的乘法(或除法)运算由加法和移位实现,运算速度较慢。

DSP设置了专用的硬件乘法器、多数能在半个指令周期内完成乘法运算,速度已达每秒数千万次乃至数十亿次定点运算或浮点运算,非常适用于高度密集、重复运算及大数据流量的信号处理。

1.3. 特殊的指令设置DSP在指令系统中设置了“循环寻址”(Circular addressing)及“位倒序”(bit—reversed)等特殊指令,使寻址、排序及运算速度大大提高。

FPGA构建高性能DSP

FPGA构建高性能DSP

FPGA构建高性能DSP在数据通信和图像处理这样的应用中,需要强大的处理能力。

当最快的数字信号处理器(DSP)仍无法达到速度要求时,唯一的选择是增加处理器的数目,或采用客户定制的门阵列产品。

现在,设计人员有了新的选择,可采用现场可编程门阵列(FPGA)来快速经济地完成设计。

采用现场可编程器件不仅缩短了产品上市时间,还可满足现在和下一代便携式设计所需要的成本、性能、尺寸等方面的要求,并提供系统级支持。

FPGA的方案选择幸运的是,需要高性能DSP功能的便携式设备设计者还有其它选择。

最近FPGA开始达到了应用所要求的成本竞争力。

优选的FPGA方案可用来处理计算量繁重的高端DSP算法,同时还可为设计提供可编程逻辑解决方案所固有的灵活性特点,以及定制门阵列(如ASIC)解决方案所具有的高性能及集成度。

增强DSP处理能力的传统方法是采用多个处理器。

选择此类方案的缺点是成本昂贵,需要众多附加部件,并且功耗很大。

此外,开发和调试多处理器软件通常会大大延迟产品上市时间。

定制门阵列或标准单元方案可以提供所需的强大DSP处理能力,然而,这种方案是以损失灵活性为代价的,并需要相当的工程化投资。

由于他们不可重新编程,固定逻辑器件在发生错误时很难补救,也不容易对解决方案进行优化。

因此,定制方案的成本、风险以及所需要的开发时间,对许多应用来说都是无法接受的。

FPGA与传统逻辑电路和门阵列具有不同的结构,FPGA利用小型查找表(16×1 RAM)来实现组合逻辑。

每个查找表连接到一个D触发器的输入器,触发器再来驱动其它逻辑,或驱动I/O。

这些模块间利用金属连线互相连接或连接到I/O模块。

FPGA的逻辑是通过向内部静态存储器单元加载配置数据来实现的。

存储在存储器单元中的值决定了逻辑单元的逻辑功能以及模块间或与I/O间的连接,并最终决定了FPGA实现的功能。

FPGA的这种结构允许无限次的重新编程。

FPGA还具有可扩展的优点,FPGA本身复杂性的提高远远超过最终产品要求的复杂性。

第13讲 基于FPGA的DSP开发技术

第13讲 基于FPGA的DSP开发技术
[1] [2] [3] [4] [5] [6] [7] [8] [9] SOPC技术与应用.江国强 编著.北京:机械工业出版社
主要参考文献:
刘洪涛.ARM嵌入式体系结构与接口技术[M].北京:人民邮电出版社 田耘等.无线通信FPGA设计[M].北京:电子工业出版社 孟宪元等.FPGA嵌入式系统设计教程[M].北京:电子工业出版社 徐光辉等.基于FPGA的嵌入式开发与应用[M].北京:电子工业出版社 沈文斌.嵌入式硬件系统设计与开发实例详解[M].北京:电子工业出版社 周立功等.SOPC嵌入式系统基础教程[M].北京:北京航空航天大学出版社 王彦等.基于FPGA的工程设计与应用[M].西安:西安电子工业出版社 周润景等.基于QuartusII的FPGA/CPLD数字系统设计实例[M].北京:电子工业出版社


DSP Builder的层次设计是利用DSP Builder 软件工具,将设计好的DSP模型生成子系统 (SubSystem),这个子系统是单个元件, 可以独立工作,也可以与其他模块或子系统 构成更大的设计模型,还可以作为基层模块, 被任意复制到其他设计模型中。 命令:“Create subsystem”
阶梯信号发生器模 块产生26=64个线性 递增的地址数据
c
5:0
7:0
z
-1
SignalCompiler Increment Decrement a X b Product ibit Random Number DATAIN Scope Output o7:0 LUT Delay
正弦函数:sin([起始值:步进值:结束值]) 变化范围-127~+127:127*sin(0:2*pi/2^6):2pi]) 变化范围0~255:128+127*sin(0:2*pi/2^6):2pi])

1[1].FPGA的设计流程以及DSP设计

1[1].FPGA的设计流程以及DSP设计
下载
6
2
FPGA设计流程
Design Specification
LE M512
M4K
I/O
Design Entry/RTL Coding - Behavioral or Structural Description
of Design
RTL仿真 - Functional Simulation (Modelsim®,
Device Delays Interconnect Delays Port Delays Path Delays Timing Checks
Can be Back-annotated to a Design for Accurate Model of Delays
16
物理验证
- 所有的HDL代码必须被编译 4 Ö 启动仿真器 5 Ö 执行仿真
21
7
用ModelSim作功能仿真(3)
1 Ö 建立库
UI) 从主菜单里面: Design -> Create a New Library
Cmd) 从main, 记录窗口: ModelSim> vlib <库名>
22
用ModelSim作功能仿真(4)
12
4
逻辑综合
通过映射和优化,把逻辑设计描述转换为和 物理实现密切相关的工艺网表:
RRTTLL代代码码
调调用用模模块块的的 黑黑盒盒子子接接口口
设设置置综综合合目目标标 和和约约束束条条件件
逻辑综合器
EEDDIIFF网网表表 ((nneetltilsis tt))
HHDDLL网网表表 ((nneetltilsis
t)t)
13
布局布线

FPGA现场可编程器的DSP设计方法

FPGA现场可编程器的DSP设计方法

FPGA现场可编程器的DSP设计方法FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,其自带的DSP(Digital Signal Processing)资源使其成为设计各种数字信号处理应用的理想选择。

本文将介绍FPGA现场可编程器的DSP设计方法。

首先,FPGA的DSP资源是其独特的优势之一,它可以在单个芯片上实现复杂的数字信号处理功能。

DSP资源通常由一组DSP块组成,每个块都包含一个专用的乘法器和累加器。

这些块可以被连接起来形成更复杂的信号处理链路。

在设计DSP功能时,我们可以利用这些块实现一些常见的算法,如滤波、乘法运算、快速傅里叶变换等。

其次,设计FPGA的DSP功能需要考虑资源的优化和性能的提升。

在资源的优化方面,我们可以利用合理的时钟分配和资源共享来最大化DSP资源的利用率。

例如,我们可以同步不同的DSP块的时钟,使其能够在同一个时钟周期内进行计算,从而节省DSP资源。

另外,我们还可以利用DSP块内的累加器来实现多个DSP功能的共享,进一步减少资源的使用。

在性能的提升方面,我们可以利用流水线和并行计算来实现高效的DSP功能。

通过将计算任务拆分为多个阶段并同时进行计算,可以减少计算延迟并提高计算吞吐量。

第三,设计FPGA的DSP功能还需要考虑时序和布局布线的问题。

由于FPGA的逻辑和存储资源是有限的,我们需要合理地规划时序来满足设计的要求。

时序优化包括选择适当的时钟频率、减少时序路径的延迟和平衡时序延迟等。

另外,布局布线是指将逻辑电路映射到FPGA芯片上的具体位置和线路连接。

在布局布线过程中,我们需要将相关的逻辑元素放置在靠近一起的位置以减少线路延迟,并且需要合理地规划线路连接以确保信号的稳定和准确传输。

最后,一些高级的DSP设计技术也可以应用于FPGA的DSP 设计中。

例如,我们可以利用多精度计算来提高计算的精度和性能。

多精度计算是指将计算任务分为不同的精度级别,并根据计算的要求选择合适的精度进行计算。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

LCD 面板
實驗模組
邏輯實驗 通訊實驗 控制實驗 電機實驗
(92) 德霖技術學院 - 5
硬體設計
應用系統規劃 DSP核心設計 微控碼設計 CPU界面設計 I/O界面設計
X86 ISA 16K 資料區
CPU
4K 程式區
1K 微碼區
1K 堆疊區 雙阜記憶體
I/O 程式控制 微碼控制 16 ALU 運算 DSP 核心
I/O 控制 16
程式控制
微碼控制
ALU 運算 DSP 核心
周邊界面 16
串列界面
ADC DAC FPGA
外部擴接電路
1.就586CPU而言,記憶體佔用ISA-bus的8KB位址,總共48KB的雙阜記憶體規劃成24頁。
2.就DSP而言,雙阜記憶體規劃成資料區、程式區、微碼區和堆疊區四個部分,除了微 碼區為32-bit外,其他部分都是16-bit(1-word)寬度。
32MB SDRAM
MachZ(ZFX86)
North Bridge
ADC + DAC
3.外加元件極少。
586 CPU + Cache + FLU
4.研發過程中可利用RS-232、
EtherNet EtherNet
PCI
South-Bridge
ISA
USB及Ethernet界面連接。
Control
+ Boot ROM + Peripheral
(92) 德霖技術學院 - 9
內藏式DSP核心
1.不參考任何現成的設計。 2.組合語言規劃以簡單、易讀為目標。 ISA 3.DSP必須搭配586CPU,以即時控制為主。 4.DSP和586CPU以雙阜記憶體連接。 5.目標是執行32KHz的即時控制程式。
功能上
16K 資料區 4K 程式區 1K 微碼區 1K 堆疊區 雙阜記憶體
FPGA中的DSP核心設計来自FPGA中的DSP核心設計
應用系統規劃 FPGA設計基礎 DSP核心設計 實驗應用示範
(92) 德霖技術學院 - 2
SOC技術演進
硬體開發技術
電晶體元件 MSI/LSI/VLSI FPGA 可程式邏輯
軟體開發技術
單晶片控制器 PC 級控制器 DSP 控制器
System-on-Chip (SoC)
專題實驗 擴張界面
專題製作 研究計畫
個人電腦
VHDL開發環境 C/Java開發環境 MatLab開發環境
遠端網路監控
eMotion 控制器
FPGA
(DSP)
RAM
32MB
FPGA
(ADC+DAC)
Linux作業環境 邏輯電路設計 TCP/IP網路界面 DSP核心設計 DSP軟體編譯程序 即時軟體開發 測試與監控環境 周邊界面電路
Xilinx公司Spartan系列的XCS05XL: 1.閘數(Gate Count)為5K,內部電源為3.3V,可允許80MHz的脈波頻率。 2.邏輯閘的單位為CLB,每個CLB包含兩組D型暫存器和4位元的可程式邏輯。 3.XCS05中有10*10個CLB,相當於200組暫存器。 4.最多可同時擁有4組的公用Clock,具備硬體連線。 5.擁有72個I/O點,每個I/O點都可規劃成3.3V的LVTTL邏輯準位。
(92) 德霖技術學院 - 3
SOC技術應用
System
System-on-Chip
on-Chip
數位系統 家用系統 工業系統
通訊系統 控制系統 電腦周邊
邏輯設計 半導體製程 界面設計 即時控制軟體 CPU 設計 網路連線
(92) 德霖技術學院 - 4
SOC (System-On-Chip)開發平台
ZFX86
RAM
EtherNet
ext
eM_FPGA
ext
eM_ADDA
ext
LCD 面板 實驗模組
配置包括: ZFX86: 586CPU EtherNet: 網路以PCI-bus連接CPU DOC: 8MB單晶硬碟。 BIOS: 256KB的容量。 RAM插槽: 插上64MB的RAM卡 DSP插槽: 插上內含DSP核心的eM_FPGA卡 ADDA插槽: 插上包括ADC/DAC的eM_ADDA卡 ext擴張座:3組50P的插座,可作為彈性擴張用,以處理不同的專題實驗。 實驗接頭: 2組26P的插座,可連接兩組的實驗模組,通常一組固定為LCD面板。
16 PIO 界面 SIO 界面
ADC DAC FPGA
外部擴接電路
(92) 德霖技術學院 - 6
軟體設計
組合語言基礎 組合語言結構 組合語言定義 模組程式設計 系統程式設計
模組 程式#1
....
模組 程式#N
組合語言編譯器
模組 程式集
....
模組 程式集
程式編譯部分 硬體管理部分
系統程式 使用程式部分
微碼表格 系統程式編譯器 微控碼編譯器
機械碼
微控碼
下載及偵錯程式
X86 CPU
堆微程資 疊碼式料
SIO
命令區 區 區 區 區 PIO
DSP 核心
(92) 德霖技術學院 - 7
內藏式PC控制器
ZF-Linux公司的 MachZ(ZFX86)
1.100MHz的586CPU,耗電0.5W。
2.現成的BIOS碼和參數設定工具。
USB
+ Watch-Dog
5.模組中併入FPGA和ADC/DAC。 RS-232
+ I/O
FPGA 8MB DOC
BIOS
6.全部電路板尺寸約10cm*20cm。
7.程式和資料儲存在8MB的單晶 硬碟 (Disk-On-Chip,簡稱 DOC)中。
External Module
(92) 德霖技術學院 - 8
3.不論是DSP或586CPU都不准直接控制I/O界面。所有I/O界面都以DMA方式和記憶體 連接。
4.外部擴接電路(包括ADC、DAC和另一顆FPGA)都是由I/O控制器透過串列界面連接。
(92) 德霖技術學院 - 10
eMotion控制器
USB RS-232
Power EtherNet
DOC BIOS
FPGA電路
Xilinx公司Virtex-II系列的XC2V250: 1.閘數(Gate Count)為250K,內部電源為1.5V,可允許420MHz的脈波頻率。 2.邏輯閘單位為CLB,每個CLB包含四組Slice,每個Slice中都有一組D型正反器和4位 元 可程式邏輯。 3.XC2V250中有24*16個CLB,相當於1536個Slice。 4.擁有獨立的雙阜RAM,容量為18Kbit或是2Kbyte。XC2V250中共有24個雙阜RAM, 容量共48KB。 5.擁有硬體乘法器,為18*18=36的整數乘法器。XC2V250中共有24個硬體乘法器。 6.XC2V250中最多可同時擁有16組的公用Clock,具備硬體連線。 7.就繞線能力極佳,幾乎不會繞線失敗。 8.擁有200個I/O點,每個I/O點都可規劃成不同型式的邏輯準位。
相关文档
最新文档