当前位置:首页 > EDA > 电子设计自动化
[导读]FPGA问世已经超过20年,现在FPGA在复杂逻辑电路以及数字信号处理领域中扮演着越来越重要的角色,SoC以其低功耗、高性能、低成本、高可靠性等优点成为嵌入式系统的发展趋势。不过,对于很多设计者来讲这还是“新

FPGA问世已经超过20年,现在FPGA在复杂逻辑电路以及数字信号处理领域中扮演着越来越重要的角色,SoC以其低功耗、高性能、低成本、高可靠性等优点成为嵌入式系统的发展趋势。不过,对于很多设计者来讲这还是“新鲜事物”。学习并掌握一项新的技术或具备某种能力,比如学习FPGA开发技术并将其应用到实际系统中,这是一项艰巨任务。Altium Designer 提供了一种简单轻松的方法,可以帮助软/硬件工程师共同应对FPGA嵌入式系统开发的挑战。Altium designer拥有强大的嵌入式系统设计功能以及非常便捷的设计流程,它在FPGA 及嵌入式智能方面有如下优势:

1) 完整功能、统一的设计环境

a) 简单易用的FPGA设计工具链(包括原理图和HDL语言混合编辑器、编译器、综合器和下载)

b) 完整的嵌入式软件开发环境(包括编辑器、编译器、生成器、连接器和调试器)

c) 创新性系统验证平台——NB2 (搭载了丰富的外围接口板和可相互替换的FPGA子板)

2) 数字组合逻辑电路开发功能

a) 放置和连接预先综合的器件

b) 电路原理图和 HDL语言混合输入方法

c) 丰富的虚拟仪器模块

d) 高度抽象化的系统设计——OpenBus

e) 灵活的C语言到HDL语言转换——CtoH

3) 嵌入式软件设计功能

a) 专业的编码环境

b) 独立于处理器的 Viper C-编译器

c) 目标代码自由的移植——DSF

d) 完整的源代码级调试

4) 创新性系统验证平台NB2(实施并调试你的方案)

a) 独立于FPGA厂商的子板

b) 灵活的外围设备板

c) 实时调试和更新

d) 对产品板的持续研发

5) 设计实施模式间紧密结合

a) 设计移动到目标硬件

b) PCB和FPGA间设计协同

接下来,我们将在Altium Designer平台下,利用一个视频捕获输出的实例去亲身体验如何轻松、便捷地实现FPGA嵌入式系统设计。在这个例子中,我们将使用Altium Designer内的几个专门针对提高设计效率,简便设计过程而开发的特定功能。它们包括:OpenBus系统开发;FPGA项目的自动配置;处理器软件架构——DSF。

另外,本例中还将结合NB2的板级硬件资源,加快方案验证和实施的过程;

* 复合视频码流输入模块(Composite video capture)

* 触摸TFT显示屏模块(Touchscreen TFT display)

图1是系统架构示意图,该系统可应用于基于视频捕获和信号处理等设计领域。

 


图1 系统方案示意图。

传统的系统设计流程

传统上,应对包含FPGA器件设计和嵌入式软件设计的系统开发流程需要经历三个阶段(图2)。

 


图2 传统的系统设计流程

1、 FPGA设计;

2、 PCB设计;

3、 嵌入式软件设计

每个阶段相互衔接,逐次实现;由于需要在设计初期完成元器件选型(包括FPGA器件和微处理器),因而必将降低整体方案实现的灵活性;对于设计后期可能在器件性能及功能扩展等方面出现的问题,需要耗费设计者更多的精力才可能弥补,或者只能将现有方案推倒重来。

 


图3、 创新的系统设计流程。

创新性的系统设计流程

运用Altium Designer平台实现FPGA的嵌入式系统设计,首先要为系统方案创建一个FPGA工程,并在工程内添加源设计文档。

在数字组合逻辑电路设计输入方面,一个FPGA项目支持三种类型的输入方法-原理图、HDL (Verilog 或VHDL)以及OpenBus。另外还支持C代码符号的输入。你可以使用这些输入方法的混合输入,并使用层次原理图所用到的符号方块图来对不同的输入文档进行组合。对于FPGA项目,必须将原理图做为顶层文档,因为这是为了支持从FPGA到PCB移植以及同步。首先,创建一个原理图文档并添加到项目中去。如图4所示。

 


图4 FPGA项目以及新生成的文档的项目面板

接下来,我们一同体验OpenBus系统设计简易、快捷的特性。OpenBus是一个进行系统级FPGA设计的新方法。它提供了比原理图更为简单的界面,但是并不会因其简单而丢失相应的信息。由于它能自动考虑底层细节,因而设计者只需着眼于顶层系统的设计以及主要元件的互连。而这些元件都是预先综合过的、应用于FPGA开发的IP元件。

 


图5 OpenBus面板

在Altium Designer平台中OpenBus文件编辑环境下(如图5所示),你将开始亲身体验如何轻松、便捷地实现FPGA的嵌入式系统设计。如图6所示,整体方案的实现与我们对方案规划设计时,描述的系统结构框架非常相似。依据实现方案所需用到的功能单元,诸如:32位微处理器、视频输入控制模块、TFT显示屏控制模块、I2C控制模块(用于操作视频流数据输入处理器件的控制寄存器单元)、IP内核互连模块、SRAM控制模块和总线仲裁模块,从OpenBus 器件列表栏中逐一放置到当前编辑文档内,并完成连接。

 


图6 完成的OpenBus设计

随后,还需要为包括SRAM控制器、总线仲裁器、IP内核互连器和微处理器等OpenBus元件配置应用参数。Altium Designer支持独立于FPGA器件原厂商的设计。也就是说,你可以重新绑定你的设计到另外一个厂商的另外一块FPGA芯片。这种移植过程可以通过 Altium Designer的配置管理器(configuration management)轻易实现。如图7所示,不同的配置文件以及约束文件可以重新绑定设计到不同的FPGA芯片。

 


图7 添加约束文件到配置管理器

至此,你已经为你的嵌入式系统设计方案搭建好了完整的应用平台。最后,你还需要为系统添加嵌入式智能控制软件,最终完成FPGA的嵌入式系统设计。 Altium Designer平台下的嵌入式软件开发功能将帮你轻松应对软件设计中所遇到的任何挑战;一个嵌入式项目可以独立地进行开发,但是最终需要这些代码在目标处理器中运行。Altium Designer给你简便的方法,将你的嵌入式项目连接到包含有嵌入式处理器核的FPGA项目中去。

本实例中的处理器核即为OpenBus文档中用的32位处理器核TSK3000A_1。左键点击并拖动嵌入式项目到上面的FPGA项目。并将嵌入式项目丢在TSK3000A_1 处理器核上(FPGA项目中的处理器核会自动高亮)。如图8所示。在你连接好这两个项目之后,一个新的C头文件会自动添加到嵌入式项目中去。这个头文件 hardware.h由FPGA项目编译的时候自动产生。当完成了嵌入式软件代码的开发后,你就可以在NB2平台下,实时现场调试和验证你的设计方案。正如本篇开始的系统构造示意图所示,你可以将摄像头所捕获的视频信号呈现在TFT显示屏上。

 


图8 链接嵌入式项目到处理器核

如果你还想增强系统处理视频码流的性能,使得视频图片可以在TFT显示屏上快速缩放以及旋转,那么需要用到Altium Designer的C-to-hardware转换功能CHC。另外在上述的OpenBus文件里需要使用特殊应用处理器 ASP元件。由于使用了C-to-hardware功能,你可以决定哪些C代码函数需要用数字组合逻辑功能实现,哪些用微处理器实现。由于采用了硬件来实现矢量图形的缩放功能,因而相对于软件实现将更加快速。这方面可以在本实例中进行试验验证。

在FPGA设计完成之后,Altium Designer还提供一个快捷的方法,可将FPGA项目直接转换到相应的PCB项目,并进行项目之间数据的同步更新。总之,Altium Designer在FPGA以及SOPC方面提供了强大且便捷好用的功能,包括统一、完整的设计环境;多种设计输入方式;独立于处理器的灵活代码;C- to-hardware;可重构的验证平台;独立于FPGA原厂商的设计;设计仿真;虚拟仪器及LiveDesign交互式调试,以及方便快捷的FPGA 项目到PCB项目数据同步功能。这些强大的软件功能连同可重构的系统验证平台NB2一起为你提供了一个功能强大的创新平台,在这个创新平台上,设计者可以尽情放飞设计灵感,来创造更有价值的设计。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭