基于FPGA的嵌入式系统设计第6章
- 格式:pdf
- 大小:2.12 MB
- 文档页数:79
基于FPGA的嵌入式系统开发的实验报告应福军徐飞Linux操作系统近年来在嵌入式领域中发展很快,由于其强大的性能和开源免费的特点,越来越受到嵌入式系统开发商的青睐,信息家电、网络设备、手持终端等都是嵌入式Linux应用的广大市场。
FPGA生产商Xilinx公司提供了全面的嵌入式处理器解决方案,包括PowerPC、MicroBlaze和PicoBlaze三款RISC结构的处理器核。
其中,MicroBlaze 是32位嵌入式软核处理器解决方案,支持CoreConnect总线的标准外设集合,具有兼容性、可配置性以及重复利用性,能够根据成本和性能要求提供高性价比的处理性能。
支持MicroBlaze处理器的嵌入式操作系统很多,比如μC/OS-II、BuleCat ME Linux、RTA MB、ThreadX、PetaL-inux等等。
本次项目实验是在xilinx 公司的spartan_3E开发板上移植petalinux内核一、实验目的通过成功做一个嵌入式项目,把前期课堂学习转化成实践能力,真正具备基础的嵌入式开发能力,为今后的更大的项目实践打下基础二、实验步骤1.在EDK中建立基本硬件系统新建工程,添加DCE,LED,FLASH,DDRAM,MAC,以及定时器等IP核2. 在EDK中创建BSPBSP是在EDK中创建BSP板级支持包(Board Support Package),是介于主板硬件和操作系统之间的一层,应该说是属于操作系统的一部分,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。
BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说尽管实现的功能一样,可是写法和接口定义是完全不同的,所以写BSP一定要按照该系统BSP的定义形式来写(BSP的编程过程大多数是在某一个成型的BSP模板上进行修改),这样才能与上层OS保持正确的接口,良好的支持上层OS。
基于FPGA的嵌入式系统设计作者:张改莲来源:《价值工程》2011年第19期FPGA-based Embedded System DesignZhang Gailian(College of Engineering,Xi'an International University,Xi'an 710077,China)摘要:随着计算机体系结构理论的完善,嵌入式技术不断取得新进展,其研究和应用已成为当前的热门技术。
SOPC是Altera公司提出的一种灵活、高效的片上系统设计方案。
重点介绍基于NiosⅡ内核处理器的嵌入式SOPC开发板的设计。
Abstract: With the improvement of the theory of the computer architecture, embedded technology has made new progress, its research and application has become a popular technology. SOPC is the flexible and efficient system on chip design proposed by Altera company. The paper focused on the design of embedded SOPC development board based on the core processor of NiosⅡ.关键词:嵌入式系统 NiosⅡ内核 FPGAKey words: embedded system;Nios Ⅱ kernel;FPGA中图分类号:TP39 文献标识码:A文章编号:1006-4311(2011)19-0171-010引言随着微电子应用技术的迅猛发展,集成电路正朝着高集成度、低功耗、高速的方向深入发展。
SOPC(System on Programmable Chip片上可编程系统)无疑是现代电子技术和电子系统的结合点和研究方向。
基于FPGA的嵌入式系统设计与开发研究嵌入式系统是指具有特定功能的计算机系统,被嵌入到其他设备中以完成特定任务。
嵌入式系统的设计与开发在现代技术领域中具有重要的地位,其中基于可编程逻辑器件(FPGA)的嵌入式系统尤为重要。
本文将探讨基于FPGA的嵌入式系统设计与开发的研究,并分析其在实际应用中的价值与挑战。
首先,我们需要了解FPGA是什么。
FPGA是一种基于可编程逻辑门阵列(PLA)的集成电路芯片,具有灵活性和可编程性,可以通过配置器件中的逻辑门和连接资源来实现各种硬件功能。
相比于传统的固定功能集成电路,FPGA具有更高的性能、灵活性和可靠性,因此广泛应用于嵌入式系统设计与开发中。
基于FPGA的嵌入式系统设计与开发的研究主要涉及以下几个方面:硬件设计、嵌入式软件开发、系统集成与验证。
在硬件设计方面,基于FPGA的嵌入式系统需要首先确定系统的需求和功能,然后进行硬件结构设计。
硬件设计主要包括逻辑设计、电路设计、时序设计等。
通过使用硬件描述语言(HDL)如VHDL或Verilog来描述系统的行为和结构,设计师可以实现各种硬件模块和接口,并通过逻辑综合工具生成对应的电路网表。
随后,通过布局布线工具将电路网表映射到FPGA的逻辑单元和资源中,最终生成比特流文件(Bitstream),供FPGA配置器件使用。
嵌入式软件开发是基于FPGA的嵌入式系统设计与开发中的另一个重要方面。
嵌入式软件开发主要涉及嵌入式处理器的选择与集成、固件编程、设备驱动程序的开发等。
在嵌入式系统设计中,使用处理器核心与FPGA逻辑单元进行协同工作,处理器核心负责控制和高层次算法处理,FPGA逻辑单元负责实时数据处理和硬件加速,使得系统具有较高的性能和吞吐量。
通过使用嵌入式软件开发工具如Eclipse等,设计师可以编写和调试嵌入式软件,并将其烧录到FPGA中。
系统集成与验证是保证基于FPGA的嵌入式系统正常运行的关键步骤。
系统集成主要涉及将各个硬件模块、嵌入式软件和外设等组合到一起,并实现合适的通信和数据交换机制。
基于FPGA的嵌入式系统设计作者:周汝来源:《电脑知识与技术·学术交流》2008年第14期摘要:在对现有的IRL实现方案进行分析的基础上,提出了一种新的解决方案——基于FPGA设备驱动的解决方案。
该方案使用处理器控制方式结合嵌入式实时操作系统实现了通过互联网进行远程配置的功能,并且具有体系结构简单、跨平台、配置过程灵活快速、硬件成本较低等特点。
关键词:FPGA;嵌入式系统;IRL系统中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)14-20954-021 引言互联网可重配置逻辑IRL(Internet Reconfigurable Logic),是一种能够通过互联网对目标系统的硬件进行远程更新和动态重构的设计方法。
这种远程动态重构技术最早由Xinlinx等PLD 公司推出。
IRL使公共网具备了现场更新、修复和修改远程硬件的能力,目前已经被许多网络设备采用,如数字电视、家庭网关、多功能机顶盒和路由器、交换机等网络中继设备等。
采用IRL可降低对设备的维护费用,设备提供商可通过基于Internet的商业模式完成产品的更新换代与维护[1]。
基本的IRL系统由Host、Upgrade Portal、TCP/IP Network和Target四部分组成:(1)主机(Host):主要应用各种设计工具产生FPGA配置文件,并通过应用软件将配置文件(payload)传送到升级入口。
(2)升级入口(Upgrade Portal):目标设备可以通过升级人口获取配置文件。
(3)TCP/IP网络(Network):是基于TCP/IP的网络,可以是互联网也可以是局域网,由IRL系统软件提供一种基于TCP/IP的接口连接。
(4)目标系统(Target):是需要进行硬件升级的系统,即终端设备。
该系统由微处理器、IRL系统软件、嵌入式实时操作系统和可重构器件(如FPGA)组成。
处理器与网络进行通信并与可重构器件连接。
基于FPGA技术的嵌入式系统设计与开发嵌入式系统在现代科技中起着至关重要的作用,它们被广泛应用于智能手机、汽车、医疗设备和工业控制等领域。
嵌入式系统的设计与开发过程中,FPGA(Field Programmable Gate Array)技术成为一种常用的解决方案。
本文将探讨基于FPGA技术的嵌入式系统设计与开发的相关内容。
一、嵌入式系统设计与开发的基本概念嵌入式系统是一种特殊的计算机系统,它被嵌入到其他设备或系统中,以实现特定的功能。
嵌入式系统通常具有实时性要求、资源受限、功耗低等特点,因此对其设计与开发的要求较高。
基于FPGA技术的嵌入式系统设计与开发,采用可编程逻辑芯片FPGA作为硬件平台,通过对FPGA内部逻辑电路的编程实现所需功能。
相比于传统的ASIC(Application Specific Integrated Circuit)设计流程,FPGA技术具有可重构性、快速原型开发、灵活性等优势。
二、FPGA技术在嵌入式系统设计与开发中的应用1. 快速原型开发FPGA技术可以提供快速的原型开发平台。
设计人员可以使用HDL (Hardware Description Language,硬件描述语言)如Verilog或VHDL编写嵌入式系统的逻辑电路,并通过FPGA工具链将其综合为FPGA可接受的二进制配置文件。
这样,设计人员可以在相对较短的时间内验证系统的功能和性能。
2. 灵活性与可重构性FPGA技术允许设计人员在硬件平台上灵活地重新编程和更改逻辑电路。
这意味着设计人员可以在嵌入式系统的开发过程中进行迭代和调试,以满足不断变化的需求。
与传统的ASIC设计相比,FPGA技术大大缩短了设计和开发周期。
3. 高性能与低功耗由于可以根据具体功能需求对FPGA进行高度优化,因此基于FPGA技术的嵌入式系统可以实现高性能和低功耗的平衡。
设计人员可以通过优化逻辑电路、使用流水线技术以及利用FPGA内部资源等方法来提升系统性能,并在功耗控制上进行权衡。
基于FPGA的嵌入式系统设计与优化一、引言随着科技的不断发展,嵌入式系统已经越来越广泛地应用于各个领域中。
FPGA是一种可编程逻辑器件,具有灵活性高、速度快等优点,因此被广泛应用于嵌入式系统的设计之中。
本文将着重介绍基于FPGA的嵌入式系统设计与优化。
二、基于FPGA的嵌入式系统设计1、FPGA概述FPGA(Field Programmable Gate Array)是一种可编程逻辑器件,它是一种可以在电路板上编程的芯片。
FPGA具有灵活性高、速度快、能够完成复杂的逻辑任务等优点。
FPGA主要由可编程逻辑单元、可编程路由器、I/O单元和时钟管理单元等组成。
其中,可编程逻辑单元可以被编程为各种逻辑门,可编程的连接器将这些逻辑门连接在一起,最终构成一个完整的数字电路。
2、基于FPGA的嵌入式系统设计的步骤基于FPGA的嵌入式系统设计的步骤可以分为以下几个部分:(1)设计嵌入式系统的结构嵌入式系统的结构设计需要考虑其所要实现的功能、系统的模块划分以及各个模块之间的通信方式等因素,以便后续的整个系统的设计。
(2)选择合适的FPGA开发板在嵌入式系统设计时,需要选择合适的FPGA开发板。
开发板的选用需要根据设计的功能、接口类型和速度等因素进行综合考虑。
(3)设计FPGA逻辑电路在FPGA开发板的基础之上,需要进行逻辑电路的设计,这一过程包括了电路原理图的设计以及Verilog或VHDL的编写。
(4)完成FPGA逻辑电路的编写和仿真编写好FPGA逻辑电路后,需要进行仿真。
通过仿真,能够检测到逻辑电路中存在的问题,以便后续的调试。
(5)将逻辑电路加载到FPGA芯片中将逻辑电路成功编译后,需要将其加载到FPGA芯片中,方可实现所需功能。
3、基于FPGA的嵌入式系统应用举例(1)视频图像处理基于FPGA的嵌入式系统能够支持视频信号的采集和处理,可应用于多种场景。
例如,可以在工业自动化等领域用于对图像的实时监测与分析,以及在医学诊断等领域用于对医学图像的处理和分析。
基于FPGA 的嵌入式系统设计王俊雄,黄 铉,刘正义(西南交通大学电气工程学院,四川省成都市610031)摘 要:提出了一种基于FPG A (现场可编程门阵列)和软核CP U 的嵌入式系统设计的新方法。
FPG A 芯片选用A ltera 公司的Cycl one 系列芯片作为处理器,配合A ltera 公司的N I O S 软核嵌入式处理器构成整个系统的核心;操作系统采用μC /OS 嵌入式系统,并移植到FPG A 平台上;外围添加US B 接口作为扩展接口,使用Cyp ress 公司的EZ_US B 系列芯片;整个系统以FPG A 和N I O S 为中心进行设计,外围接口包括JT AG 、串口、US B 口等。
给出了系统硬件架构以及与US B 芯片的接口应用电路。
关键词:FPG A;N I O S;μC /OS;US B;嵌入式系统中图分类号:TP368收稿日期:2005210217。
0 引 言嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
嵌入式系统是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的系统都可以叫嵌入式系统,很难给它下一个准确的定义。
因此,目前通常把嵌入式系统的中心放在“系统”(即操作系统)上,是指能够运行操作系统的软硬件综合体。
总体上,嵌入式系统可以划分成硬件和软件两部分。
硬件一般由高性能的微处理器和外围接口电路组成,软件一般由实时操作系统和其上运行的应用软件构成,软件和硬件之间由所谓的中间层即BSP (板级支持包)连接。
传统的嵌入式处理器一般都选用ASI C (专用集成电路)。
ASI C 是一种为具体任务而特殊设计的专用器件,由于在设计过程中进行了专门优化,其性能、性价比都非常高,减少了系统软件和硬件设计的复杂程度,降低了系统成本,但还是存在一些缺点如前期设计费用高,且一旦设计完成就无法升级和扩展等。
基于FPGA的嵌入式系统的设计与实现嵌入式系统是指集成在各种电子设备中的特定功能系统。
随着嵌入式系统的发展,FPGA (Field-Programmable Gate Array)由于其灵活性和可重构性成为制作嵌入式系统的理想选择。
本文将介绍基于FPGA的嵌入式系统的设计与实现,包括硬件设计、软件开发和系统测试等方面。
基于FPGA的嵌入式系统设计的第一步是进行硬件设计。
在硬件设计中,需要确定系统的需求和功能,选择适当的FPGA芯片,并设计系统的电路图。
硬件设计通常涉及选择和连接各种外设(如传感器、通信接口等)以及配置和连接FPGA芯片内部资源(如逻辑单元、时钟网络等)。
在FPGA芯片上,可以使用硬件描述语言(如VHDL或Verilog)来实现各个模块的功能。
硬件设计的目标是通过合理的资源配置和设计减小系统的功耗、提高系统的稳定性和性能。
在硬件设计完成后,接下来需要进行软件开发。
软件开发主要包括驱动程序的编写和应用程序的开发。
驱动程序负责控制和配置硬件资源,使其能够与应用程序进行通信和交互。
驱动程序通常使用硬件描述语言编写,然后通过FPGA开发工具进行编译和烧录到FPGA芯片中。
应用程序的开发涉及选择适当的开发工具和编程语言(如C或C++),编写程序代码,实现系统的各种功能和算法。
软件开发的目标是提供友好的用户界面、优化的系统性能以及稳定的系统功能。
完成硬件设计和软件开发后,还需要对系统进行测试和验证。
测试和验证旨在确保系统的功能和性能符合设计规格。
测试可以分为功能测试和性能测试两个阶段。
功能测试通过使用各种测试用例和测试工具对系统的各个功能进行测试和验证。
性能测试通过对系统进行负载测试和压力测试,以评估系统在不同负载和压力条件下的性能表现。
测试和验证是系统开发的最后一步,通过对系统的全面测试和验证,可以确保系统的质量和稳定性。
总结来说,基于FPGA的嵌入式系统的设计与实现涉及硬件设计、软件开发和系统测试等多个方面。
基于FPGA的嵌入式系统1 NiosⅡ CPU的体系结构31.1 NiosⅡ处理器的结构 (3)1.2 NiosⅡ处理器的基本组成 (3)1.3 Debug模块 (3)1.4 NiosⅡ开发环境简介 (3)2 IP核42.1 SDRAM控制器 (4)2.2FLASH (5)3 基于SOPC的温湿度监测系统设计53.1 系统总体设计方案 (5)3.2 SOPC硬件系统设计 (6)3.3 SOPC软件系统设计 (9)3.3.1 NiosⅡ软件系统设计 (9)3.3.2 NiosⅡIDE C/C++Build属性配置 (13)3.3.3 软件系统的设计流程 (15)4 实验结果与分析15结论18SOPC是可编程片上系统,即一种特殊的嵌入式系统。
首先它是片上系统(SOC),由单个芯片完成整个系统的主要逻辑功能;其次,它是可编程系统,具有灵活的设计方式,可裁减、可扩充、可升级,并具备软硬件在系统可编程的功能。
SOPC是基于FPGA解决方案的SOC,与ASIC的SOC解决方案相比,SOPC系统及其开发技术具有更多的特色。
构成SOPC的途径有基于FPGA嵌入IP硬核的系统、基于FPGA嵌入IP软核的系统和基于HardCopy 技术的SOPC系统三种方式。
本文介绍基于FPGA的嵌入IP软核的SOPC系统实现方法,设计了一种基于SOPC的温湿度监测系统。
通过Quartus II 软件里的SOPC builder把Nios II Processor、Avalon总线、UART、SDRAM_controller、Flash Memory、Avalon三态桥等多个IP核集成生成系统所需的SOPC。
传感器扩展板采用Mega8作为主控芯片,用于数据的采集、显示以及和PC的通信。
同时配有由SPI总线控制的数码管,可以显示传感器的测量结果,以及与PC通信过程中的具体情况。
对外采用波特率为115200的串口进行通信,用户可通过串口向该模块发出各种查询命令以查询传感器的状态。
基于FPGA的嵌入式系统设计一、嵌入式系统概述嵌入式系统是指被嵌入到其他系统或机器中,拥有特定功能的计算机系统。
它被广泛应用于工业生产,医疗器械,家庭设备等领域。
传统的嵌入式系统使用单片机和DSP等处理器,但随着FPGA(Field-Programmable Gate Array)的逐渐成熟和普及,越来越多的嵌入式系统开始采用FPGA作为核心控制器,以实现更高效、更灵活的系统设计。
二、 FPGA简介FPGA是一种可现场编程(Field Programmable)的门阵列(Gate Array)器件,它具有抗干扰能力强,灵活性高,可重构性好,功耗低等特点,可以在设计硬件时替代传统的ASIC。
FPGA由大量的逻辑单元、存储器和输入输出引脚组成,用户可以通过设计相应的电路图和底层语言(如Verilog或VHDL),在FPGA内部实现各种逻辑功能和数据处理。
此外,设计好的电路图也可以通过外部编程器下载到FPGA中。
三、 FPGA在嵌入式系统中的应用对于一些需要快速处理大量数据、低功耗、高稳定性的嵌入式系统,传统的处理器已经无法满足需求。
而FPGA则能够提供更高效、更灵活的解决方案。
1. 图像处理图像处理是FPGA在嵌入式系统中的重要应用领域之一。
图像处理通常需要大量并行处理和高带宽数据传输,FPGA能够实现高速、低时延的图像数据采集、处理和输出。
比如安防摄像头、工业相机等。
2. 数字信号处理FPGA在数字信号处理中也有广泛应用。
由于FPGA具有抗干扰能力强和并行处理能力强等优势,它能够轻松实现高速FFT、滤波、解调、编码等数字信号处理算法,实现高速数据的采集、处理和存储。
比如基于FPGA的音频解码器、雷达信号处理器等。
3. 无线通信应用FPGA也被广泛应用于无线通信领域,如基站、卫星通信等。
FPGA可实现高速数据传输、串行通信和多路复用等功能,可以使无线通信设备有更快更可靠的数据传输速度。
4. 军事设备军事设备通常要求具有高度的可靠性、防错能力和实时性。
基于fpga的嵌入式系统设计_修改版摘要本文设计完成的是基于FPGA的嵌入式系统开发板,它可以完成FPGA、嵌入式系统和SOPC等的设计和开发。
开发板以Altera公司的Cyclone系列FPGA—EP1C6为核心,在其外围扩展FLASH、SRAM、A/D、D/A、键盘、LED显示、LCD显示、串口通信、VGA接口、PS2接口和USB接口等器件,使其成为一个完整的嵌入式开发系统,系统采用模块化设计,各个模块之间可以自由组合,使得该开发板的灵活性和可扩展性大大提高。
同时开发板所提供的丰富的接口模块,供人机交互和器件间通信使用,方便了开发者的设计和系统的嵌入,可以满足普通高等院校、科研人员等的需求。
开发者可以使用VHDL语言、Verilog HDL语言、原理图输入等多种方式进行逻辑电路和功能模块设计,也可以利用Altera公司提供的IP资源和Nios 16/32位处理器开发嵌入式系统,借助QuartusII和Nios SDK Shell软件进行编译、下载,并通过本嵌入式系统开发板进行调式和结果验证。
关键词:嵌入式系统,Nios嵌入式处理器,SOPC,FPGAIABSTRACTThe thesis completes a design of an embedded system development board based on FPGA.The development board can complete the design of FPGA,embeded system,SOPC and so on.The development board is based on Altera Cyclone device—EP1C6,the board extends several peripheral devices such as,FLASH,SRAM, A/D,D/A,LED,LCD,keyboard,serial port,VGA interface,PS2 interface,USB interface and so on.All the devices constitute an integrated embeded development system. The development board offers us plenty of interfaces to meet the need of the device communication and the intercommunion between human and computer,which makes the design and the embedding of the system more easier.The Nios Development Board can meet the need of scientific researchers and other college researchers.The developers can use VHDL,Verilog HDL,schematic input mode and so on to design logic circuit and function block,they can alse use the IP core and Nios microprocessor which are offered by AlteraIto develop embedded systems. The developers can utilize QuartusⅡ and Nios SDK Shell to compile and download,then they can use this development board to debug and validate the result.KEY WORDS: embeded system, Nios embeded CPU,SOPC,FPGAI目录前言 (1)第1章绪论 (3)1.1嵌入式系统概述 (3)1.1.1嵌入式系统的特点 (3)1.1.2 片上系统和可编程片上系统 (6)1.2 Nios嵌入式处理器 (7)1.2.1 Nios嵌入式处理器特性 (7)1.2.2 Nios嵌入式处理器系统组件 (10)1.2.3 Avalon交换结构总线 (11)第2章 Nios嵌入式系统开发板整体理论分析 (16)2.1 系统设计目标 (16)2.2 系统设计原理 (16)2.3 开发板组件与理论分析 (19)2.4 开发板电路设计原理图与PCB布线图 (24)第3章 Nios嵌入式系统开发板硬件开发环境 (26)3.1 硬件开发环境概述 (26)3.2 FPGA:EP1C6QC240C8的特性和电路设计 (26)I3.2.1 特性和封装 (27)3.2.2 引脚说明 (28)3.2.3 工作条件 (28)3.3 串行配置器件:EPCS1的特性和电路设计 (28)3.3.1 Cyclone FPGA的配置 (28)3.3.2串行配置器件: EPCS1/EPCS4 (31)3.3.3 EPCS1的电路设计 (34)3.4 SRAM:IDT71V016的特性和电路设计 (34)3.4.1 器件特性 (34)3.4.2 IDT71V016工作方式 (35)3.4.3 IDT71V016的电路设计 (37)3.5 FLASH:AM29LV800B的特性和电路设计 (39)3.5.1 器件特性 (39)3.5.2 器件工作方式描述 (40)3.5.3 AM29LV800总线操作 (42)3.5.4 AM29LV800的电路设计 (44)第4章软件开发环境:QuartusⅡ和SOPC Builder (45)4.1 QuartusⅡ及其开发流程 (45)4.2 SOPC Builder (46)4.3 GERMS监控 (49)第5章 Nios嵌入式系统开发板调试 (52)I5.1 片内RAM、ROM调试 (52)5.2 GERMS监控调试 (59)5.3 扩展SRAM调试 (66)5.4 扩展FLASH调试 (69)第6章底板部分 (76)6.1 底板概述 (76)6.2 高速A/D:TLC5540 (77)6.3 高速D/A:DAC908 (79)6.4低速A/D:MCP3202 (82)6.5 低速D/A:DAC7512 (83)6.6 LED数码管及键盘管理器件:ZLG7289A (85)6.7 图形LCD液晶显示屏:HD61202 (88)第7章应用实例:利用Nios嵌入式系统开发板完成DDS的设计 (91)7.1 理论分析 (91)7.2 利用开发板实现的优点 (94)7.3系统设计与实现 (95)7.3.1 参数选取 (95)7.3.2 系统设计 (96)7.3.3 系统实现 (97)第8章总结 (98)8.1 主要工作总结 (98)I8.2 结论 (98)8.3 改进意见 (99)致谢 (100)参考文献 (101)附录 (102)附1 英文原文 (102)附2 中文翻译 (113)附3 Cyclone器件引脚功能、定义和工作条件 (121)附4 测试程序led.c (142)I前言FPGA的特点及其发展趋势:嵌入式系统,是一个面向应用、技术密集、资金密集、不可垄断的产业,随着各个领域应用需求的多样化,嵌入式设计技术和芯片技术也经历着一次又一次的革新。
第6章DSP Builder系统设计工具6.1 DSP Builder安装6.2 嵌入式DSP设计流程6.3 DSP Builder设计过程思考题6.1 DSP Builder安装6.1.1 软件要求使用DSP Builder创建HDL设计需要有下面的软件支持:·Matlab6.1或6.5版本;·Simulink4.1或5.0版本;·Quartus Ⅱ2.0以上版本;·Synplify7.2以上版本或LeonardoSpectrum2002c以上版本(综合工具);ModelSim5.5以上版本(仿真工具)。
6.1.2 DSP Builder软件的安装在Windows 98/NT/2000操作系统上安装DSP Builder,其操作步骤如下:(1) 关闭以下应用软件:Quartus Ⅱ、MAX+PLUS Ⅱ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。
(2) 找到软件所在目录,双击DSPBuilder-v2.1.3.exe文件。
(3) 在出现的安装向导中,根据提示操作即可完成DSP Builder的安装。
如果在安装DSP Builder之前还没有安装Matlab软件,则在DSP Builder安装向导的最后将弹出如图6.1所示的对话框。
图6.1 DSP Builder无法定位Matlab软件信息对话框完成DSP Builder安装之后,依据下面的操作步骤在Matlab软件中查看DSP Builder的库:(1) 启动Matlab软件。
(2) 点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开Simulink Library Browser界面,如图6.2所示。
(3) 在Simulink Library Browser界面中打开Altera DSP Builder文件夹。
Simulink快捷按钮Altera DSPBuilder文件夹图6.2 在Matlab中查看DSP Builder库DSP Builder安装程序在磁盘上的目录结构如图6.3所示。
DSP Builder安装目录AltLib包括DSP Builder文件以及在Simulink中执行MegaCore向导所需的包含文件DesignExamples包括大量的DSP Builder设计实例文件doc包括DSP Builder用户向导文档以及在Matlab软件中显示的DSP Builder模块在线帮助文MegaCoreLib包括DSP Builder可以使用的MegaCore函数文件MegaCoreSimLib包括MegaCore函数以及参数化模块库(LPM)函数所用的仿真文件图6.3 DSP Builder安装目录结构6.1.3 授权文件的安装在使用DSP Builder之前,必须得到Altera的授权文件。
如果没有安装DSP Builder的授权文件,用户只能用DSP Builder模块建立Simulink模型,但不能生成硬件描述语言(HDL)文件或Tcl脚本文件。
注意:在安装DSP Builder授权之前,必须已经安装了授权的Quartus Ⅱ软件。
1.授权文件安装得到DSP Builder授权文件后,可以直接将授权文件的内容粘贴到Quartus Ⅱ授权文件(license.dat)中,或在Quartus Ⅱ软件中单独指定DSP Builder授权文件。
方法一:粘贴授权内容到QuartusⅡ授权文件中,其操作步骤如下:(1) 关闭运行的下列应用软件:Quartus Ⅱ、MAX+PLUSⅡ、LeonardoSpectrum、Synplify、Matlab和Simulink以及ModelSim。
(2) 在文本编辑器中打开DSP Builder授权文件,其中包含FEATURE行。
(3) 在文本编辑器中打开Quartus Ⅱ授权文件license.dat。
(4) 从DSP Builder授权文件中拷贝FEATURE行内容并粘贴到Quartus Ⅱ授权文件中。
(5) 保存Quartus Ⅱ授权文件。
更新后的Quartus Ⅱ授权文件如图6.4所示。
方法二:在Quartus Ⅱ软件中指定DSP Builder授权文件,其操作步骤如下:(1) 将DSP Builder的授权文件以一个不同的文件名单独保存,如dsp_builder_license.dat。
(2) 启动Quartus Ⅱ软件。
(3) 选择Tools→License Setup命令,弹出Options对话框的License Setup页面。
(4) 在License File栏中,在已经存在的Quartus Ⅱ授权文件后面加一个分号“;”,在分号后面输入DSP Builder授权文件所在的目录及文件名。
(5) 点击OK按钮保存设置。
DSP Builder授权代码图6.4 在QuartusⅡ授权文件中粘贴DSP Builder授权代码2.授权有效性检查安装好DSP Builder授权文件以后,可以在Matlab 软件中验证授权的功能是否有效。
1) 单机版授权在Matlab命令窗口输入下面的命令:dos ('lmutil lmdiag C4D5_512A')如果授权文件安装正确,则该命令产生的DSP Builder授权状态输出如图6.5所示。
图6.5 单机版DSP Builder授权状态输出2) 网络版授权如果在授权文件中存在SERVER,在Matlab命令窗口输入下面的命令:dos ('lmutil lmstat-a')如果网络版授权文件安装正确,则该命令产生的DSP Builder授权状态输出如图6.6所示。
图6.6 网络版DSP Builder授权状态输出6.2 嵌入式DSP设计流程6.2.1 DSP设计流程Altera DSP设计流程提供了系统级综合,并且为DSP系统的软、硬件分离设计提供了灵活性。
另外,Altera支持基于硬件描述语言(HDL)和基于C/C++的设计流程。
Altera的整套开发工具提供了完整的设计平台,包括DSP Builder、SOPC Builder和Quartus Ⅱ软件,允许用户在系统设计中提高性能,并获得软、硬件综合设计的灵活性。
图6.7给出了Altera DSP设计的总体流程图。
可选硬件系统级设计硬件设计软硬件加速设计图6.7 Altera DSP 设计总体流程图6.2.2 DSP Builder设计流程DSP设计者可以使用DSP Builder和Quartus Ⅱ软件单独进行硬件设计。
DSP Builder提供了一个无缝链接的设计流程,允许设计者在Matlab软件中完成算法设计,在Simulink 软件中完成系统集成,然后通过SignalCompiler模块生成在Quartus Ⅱ软件中可以使用的硬件描述语言文件。
使用DSP Builder工具,设计者可以生成寄存器传输级(RTL)设计,并且在Simulink中自动生成RTL测试文件。
这些文件是已经被优化的预验证RTL输出文件,可以直接用于Altera Quartus Ⅱ软件中进行时序仿真比较。
这种开发流程对于没有丰富可编程逻辑设计软件开发经验的设计者来说非常直观、易学。
DSP Builder具备一个友好的开发环境,它可以通过帮助设计师创建一个DSP设计的硬件表示来缩短DSP开发的周期。
现有的Matlab功能和Simulink块与Altera的DSP Builder块和Altera的知识产权(IP)MegaCore功能块组合在一起,从而把系统级的设计和DSP算法的实现连接在一起。
DSP Builder允许系统、算法和硬件设计共享一个通用的开发平台。
在DSP Builder中,设计者可以使用DSP Builder中的块来为Simulink中的系统模型创建一个硬件。
DSP Builder中包含了按位和按周期精确的Simulink块,这些块覆盖了最基本的操作,例如运算和存储功能。
通过使用MageCore功能,复杂的功能也可以被集成进来。
MegaCore功能支持Altera的IP评估特性,用户在购买授权之前可以进行功能和时序上的验证。
(1) OpenCore使工程师能够不用任何花费在Quartus Ⅱ软件中测试IP核,但不能生成器件的编程文件,从而无法在硬件上测试IP核。
(2) OpenCore Plus是增强的OpenCore,可以支持免费在硬件上对IP进行评估。
这个特性允许用户为包含了Altera MageCore功能的设计产生一个有时间限制的编程文件。
通过这个文件,设计者可以在购买授权许可之前就在板级对MegaCore功能进行验证。
DSP Builder的SignalCompiler块读入Simulink模型文件(.mdl),该模型文件是用DSP Builder和MegaCore块生成的,然后生成VHDL文件和Tcl脚本文件,用于综合、硬件的实现以及仿真。
图6.8所示为DSP Builder的设计流程。
验证硬件ProgrammerObject File(.pof)Quartus ⅡVHDLSimulatorATOMNetlistSynthesisModelSim Quartus ⅡATOM NetlistSynthesis (Quartus ,ⅡLeonardoSpectrum,or Synplify 在Simulink 中自动完成SignalCompiler 在Simulink外手动完成硬件设计系统级设计MatlabSimulinkIP 图6.8 DSP Builder 的设计流程6.3 DSP Builder设计过程6.3.1 创建Simulink设计模型1.创建新模型创建新模型的步骤如下:(1) 启动Matlab软件。
(2) 点击Matlab工具条上的Simulink快捷按钮,或在Matlab命令窗口输入Simulink命令,打开Simulink Library Browser界面,如图6.2所示。
(3) 选择File→New→Model命令,建立一个新的模型文件。
(4) 选择File→Save命令,保存文件到指定文件夹中,在文件名栏中输入Singen.mdl。
2.加入SignalCompiler模块(1) 在Simulink Library Browser界面中,打开Altera DSP Builder文件夹。
(2) 在Altera DSP Builder文件夹中选择AltLab库。
(3) 拖动SignalCompiler模块到新建的模型文件中。
(4) 用鼠标左键双击SignalCompiler模块,在弹出的对话框中点击Analyze按钮,弹出Signal Compiler Version 2.1.3对话框,如图6.9所示。