基于FPGA的嵌入式技术

时间:2022-08-05 09:51:38

基于FPGA的嵌入式技术

“嵌入式系统是一个面向应用、技术密集、资金密集、高度分散、不可垄断的产业,应用在通信、航空航天、消费类电子产品等各种领域中。”随着经济的发展,各领域对嵌入式产品的应用需求呈现多样化,嵌入式系统设计技术和芯片技术也不断革新。传统设计ASIC的成本很低,但设计周期长、上市时间晚、风险较大。基于FPGA的嵌入式系统设计可以缩短设计周期,加快上市时间,抢占市场先机。

1、概述

现场可编程门阵列FPGA(Field-Programmable Gate Array)是由复杂可编程逻辑器件CPLD(Complex-Programmable Logical Device)发展而来。其功能强大,设计灵活。设计性能能够与ASIC媲美。而且,性能价格比也可以与ASIC抗衡。因此,FPGA在嵌入式系统设计领域越来越重要。

FPGA的基本结构由以下几个部分:CLB(Configurable Logic Blocks)、IOB(Input/Output Blocks)和PI(Programmable Interconnection)。随着工艺的进步和应用需求,一般在FPGA中还包含以下可选结构:Memory、数字时钟管理单元、Select I/O、乘法器和加法器、硬IP核和微处理器等。随着FPGA性能提高和设计人员能力提高,FPGA将进一步扩大可编程芯片领地,使专用芯片更高端和超复杂。[1]

2、可编程片上系统(SOPC)

可编程片上系统(SOPC)是一种特殊的嵌入式系统。片上是指由单个芯片完成整个系统的主要逻辑功能;可编程使其具有灵活的设计方式,可以裁剪、扩充、升级。并且,SOPC结合了SOC和FPGA各自的优点,具备软硬件在系统可编程的功能。

SOPC至少包含一个嵌入式处理器内核,具有小容量片内高速RAM,一部分IP Core(简称IP),大量的片上可编程逻辑,处理器调试接口和FPGA编程接口等。SOPC设计技术涵盖了嵌入式系统设计技术的全部内容。包含以处理器和实时多任务操作系统为中心的软件设计技术、以PCB和信号完整性分析为基础的电路设计技术及软硬件协同设计技术。[2]

3、IP资源复用理念与IP Core设计

IP资源复用是指在集成电路设计中,通过继承、共享或购买所需的知识产权内核,利用EDA工具进行设计、综合和验证,加速流片设计过程,降低开发风险。IP核复用技术已逐渐成为现代ASIC设计的重要手段,不仅应用于专用集成电路设计,也广泛使用于基于FPGA的嵌入式系统设计领域。设计师倾向于使用IP内核保持和提高产量。

由于芯片设计越来越复杂,设计周期就成为必须重视的指标。产品面市时间对保证占领市场的成功率至关重要。设计师不断寻求缩短设计周期的方法,更为有效的设计方式。基于FPGA的系统设计,要善于利用IP内核和可编程逻辑。

IP核设计必须遵循一定的规范和准则,包括编码风格和项目模板规定。编写风格基于HDL的IP Core源码编写的指导性文档。其可读性关系到IP核的访问和集成难易程度。风格一般包含几个方面的约定:文件头和版本说明、联机注释、命名规则、可综合编码等。项目模板规定了完成一个IP核设计必需的主要内容及文档,包含几个方面的内容:项目定义、接口说明、系统结构和模块、设计文档说明、测试验证报告、约束和实现、版本说明、试用评价以及参考文献等,直接关系到IP Core的集成难易。[3]

4、基于Altera EP2C70 Cyclone II FPGA设计

以实施LCD(型号CFAH1602B-TMC-JP液晶)显示功能验证为例,说明基于FPGA的电路设计,步骤如下:

(1)利用Quartus II创建新工程。在PC上,启动“QuartusⅡ”设计软件,创立新工程。选择设计电路所用的FPGA器件和件型号。

(2)利用“SOPC Builder”工具产生新电路。利用Quartus II软件自带的设计工具SOPC Builder,产生电路系统,如图1所示。

图2所示“SOPC Builder”工具页面,左侧部分“System Contents”栏下显示的是Altera公司提供的共用IP core,每个“+”号下有一个或者几个IP。如果用户还需要其他IP,有三种途径可以获得:一则简单的IP可以从网络上下载;再就是复杂专用的IP可以从专门制作IP core的公司购买申请许可;另外也可以用户编写。

在“SOPC Builder”工具页面里,以IP形式添加的硬件会在默认空白区出现,并且可以修改、删除,在默认空白区还显示硬件的主从关系。

(3)利用共用IP核准确配置电路系统。定义时钟、增加用来保存 Nios程序的片上存储器(On Chip Memory(RAM or ROM))、增加 Nios II/s处理器(Nios II Processor)、增加调试接口(JTAGUART)、增加字符LCD(Character LCD)等电路所需IP核。SOPC Builder工具可以自动连接大部分的主从关系。

(4)利用“SOPC Builder”工具产生“.ptf”文件。

(5)编写顶层文件或者画原理图,例化“nios0”电路系统

(6)分配管腿

(7)电路硬件编译

(8)利用USB-Blaster电缆下载硬件信息到FPGA器件中

(9)利用“Nios II C/C++- Nios II IDE”软件设计工具,设计

上一篇:SDH网络优化实践讨论 下一篇:浅谈建筑灌注桩的质量控制