当前位置:首页 > EDA > 电子设计自动化
[导读]摘要:随着FPGA技术的发展,FPGA设计已不再只是硬件电路的设计,而是包含处理器、外国组件和接口逻辑在内的完整数字系统,同时在处理器中编程完成嵌入式代码的FPGA“软”设计。与传统的主要基于硬件描述语

摘要:随着FPGA技术的发展,FPGA设计已不再只是硬件电路的设计,而是包含处理器、外国组件和接口逻辑在内的完整数字系统,同时在处理器中编程完成嵌入式代码的FPGA“软”设计。与传统的主要基于硬件描述语言进行FPGA设计井发不同,本文在电路设计软件Altium Desi gner开发环境下,结合Xilinx公司的ISE设计软件,在Altium Designer的创新电子设计平台NanoBoard 3000上,设计实现了基于Altium Designer特有的系统级设计方法OpenBus系统的32位处理器控制LED的FPGA嵌入式设计
关键词:FPGA嵌入式设计;Altium Designer软件;OpenBus系统;NanoBoard 3000

    现场可编程门阵列FPGA(Field Programmable Gate Array)是美国Xilinx公司于1984年首先开发的一种通用型用户可编程器件。FPGA内部由可绾程逻辑单元阵列、布线资源和可编程的I/O单元阵列构成,包含丰富的逻辑门、寄存器和I/O资源。目前,面向大规模可编程器件附的广泛应用,正在不断地加速电子设计技术从硬件电路设计向“软”设计的过渡。Altium Designer是传统电路设计软件Protel的高端设计版本,除了具备基本的电路原理图设计和PCB设计功能外,它的特色主要在于增强了FPGA开发功能,将电子产品的板级设计、可缩程逻辑设计和嵌入式设计开发融合在一起。
    传统的FPGA系统设计多是基于硬件描述语言VHDL或者Verilog来完成的,需要开发者具备一定的硬件描述语言知识,而且这种方式的设计就可读性而言具有一定的复杂度。Altium Designer提出了一种系统级的设计概念——OpenBus系统,这是一种全新的系统级的FPGA设计方法。这种设计方法避开了传统的FPGA设计中用硬件描述语言来编程、仿真和验证等步骤,以更加抽象的方式表示了处理器与外围设备间的互联,降低了FPGA设计的复杂度,简化了FPGA设计。
    Altium Designer的创新电子设计平台NanoBoard 3000提供了将嵌入式智能作为设计核心的设计环境,在这个平台上可以调试、下载FPGA嵌入式设计,实现电路硬件设计和基于“软核”处理器的嵌入式软件设计。

1 基于OpenBus系统的设计要素
1.1 OpenBus瞄系统
   
“OpenBus系统”是一个描述一种使用普通总线实现整个系统内逻辑功能性“模块”连接的术语。通过这种方法,用户能够很快地装配一个包含满足应用需求的各种功能在内的系统。具体来说,OpenBus系统是Altium Designer软件自带的高端IP模块,包含Connectors(连接器)、Processors(处理器)、Memories(存储器)、Peripherals(外围设备)等,如图1的OpenBus Palette面板所示。设计时可以根据设计需求,直接在OpenBus Palette面板调用相关的IP模块,即OpenBus器件,连接构成设计系统。但要注意的是,这些IP模块在调用后,还需要进行相应的参数配置才能使用。这种OpenBus系统的设计方法与传统的将处理器和外围电路作为元件放置在电路板上不同,它移除了所有低级别的走线和互连细节,能够快速地构建系统。


1.2 FPGA设计元件库与软件平台搭建器
   
除了OpenBus Palette面板中的OpenBus器件,要完成FPGA嵌入式设计,还需要使用Altium Designer软件中的FPGA设计元件库。这些元件库提供了FPGA设计中所需的外围器件。Altium Designer软件提供的常用的FPGA设计元件库有:FPGA NB3000 Port-Plugin.IntLib、FPGA Peripherial.IntLib、FPGA Generic.IntLib、FPGA Configumble Generic.IntLib、FPGA Instruments.IntLib等。
    与OpenBus系统配合进行FPGA嵌入式设计的,还有软件平台搭建器SwPlatform。因为进行FPGA嵌入式设计时,FPGA器件的外围引脚常需要驱动如LED、触摸屏、扬声器等硬件设备。而要使这些硬件设备能正常工作,就要在设计中包含相应的驱动代码。这些硬件的驱动代码无需自行编写,Altium Designer的软件平台搭建器SwPlatform可以把所有连接外设所需的低阶驱动代码整合一起。软件平台搭建器SwPlatform采用图形化方式连接用户的应用程序与底层硬件。在进行FPGA设计时,软件平台搭建器SwPlatform可以自动地由FPGA设计的硬件部分获取底层硬件的信息。如图2所示,软件平台搭建器SwPlatform自动根据底层信息(Wrapper,栈层中的HARDWARE部分)提供对于硬件的驱动(Driver,栈层中的SOFTWARE PLATFORM部分)以及服务程序(Context,栈层中的APPLICATION CODE部分)。设计时只需关注构建设计本身的应用程序代码,不需要考虑过多的底层驱动代码。


1.3 创新电子设计平台NanoBoard 3000
    Altium Designer的创新电子设计平台NanoBoard 3000,板载Xilinx公司的FPGA芯片Spartam XC3S 1400AN。通过USB接口,将装有Altium Designer软件的PC机与NanoBoard3000连接,Altium Designer软件就可以与NanoBoard 3000直接通信,下载并交互地开发和调试程序。设计过程中无需仿真环境,加快了开发流程。
    NanoBoard 3000板上资源丰富,含高级的I2S立体声系统,有板载放大器、混音器及立体声扬声器。全面的视频输出,包括S-Video、混合视频的输入输出及VGA输出。标准的存储器接口,包括IDE、Compact flash及SD内存卡。各种标准通信接口,包括USB、Ethemet、RS-232串口、CAN、pS/2 miniDIN。另外,还有各种通用开关和LED。FPGA设计下载前需要配置管脚约束文件,目的是让设计输入输出端口与目标FPGA器件的管脚对应起来。在Altium Designer软件中进行FPGA嵌入式设计,下载程序时,选择自动配置约束文件功能,就可为FPGA设计自动添加管脚约束文件。

2 基于OpenBus系统的设计与实现
   
文中基于OpenBus系统设计实现了一个32位处理器TSK3000A控制LED的FPGA嵌入式工程。将嵌入式程序代码“嵌入”到TSK3000A处理器中,在软件平台搭建器SwPlatform提供底层驱动程序的基础上,用C语言编写应用程序代码,控制NanoBoard 3000开发板上的LED。同时,自动配置FPGA约束文件,在创新电子平台NanoBoard 3000上下载程序。程序下载调试成功后,可以看到LED的亮暗情况与嵌入式代码中预先设计的一样,表明设计是完全正确的。
2.1 OpenBus 系统设计与顶层原理图设计
   
在Altium Designer中新建一个FPGA工程,为工程添加原理图文件和OpenBus文件。打开OpenBus Palette面板,调用LED Controller、连接器Interconnect、32-bit RISC Processor TSK3000A、SBAM Controller等元件,合理配置OpenBus器件参数,完成OpenBus文件的设计,如图3所示。


    将图3的OpenBus文件生成原理图符号,在设计的顶层原理图中调用。调用FPGA设计元件库中的其他外围组成电路的元器件,连线完成顶层原理图的设计,如图4所示。


2.2 软件平台搭建器SwPlatform与嵌入式代码设计
    本设计中要用32-bit RISC Processor TSK3000A处理器来控制LED,需要添加LED的驱动程序,如图5所示。在器件栈中选择Import from FPGA按钮,Altium Designer将自动检查FPGA工程,添加LED Controller和LED Controller Drive,这样就为LED器件完成了硬件驱动程序的添加。


    在软件平台搭建器SwPlatform完成LED器件底层硬件驱动代码的基础上,用C语言设计应用程序代码,实现32—bit RISC Processor TSK3000A处理器控制LED器件的功能。NanoBoard 3000上有一组共8个LED(RGBUSERLEDS)。程序代码拟控制LED7的亮度值为最大值的一半,LED0的亮度每隔一定的时间,逐渐增强然后熄灭。程序代码清单如下:
   
   
    上述程序中的led_open函数、led_set_intensity函数都可以在Altium Designer软件的知识中心面板查看到其具体含义和调用方法。
2.3 FPGA管脚映射与设计下载
    FPGA设计必不可少的一步是通过约束文件,建立设计端口与实际目标FPGA器件真实引脚之间的连接关系。约束文件中详细列出了端口到引脚的映射及其它相关的设计特性,如时钟分配等。配置管理器会自动打开,显示检测到的约束文件并添加到工程中,约束配置文件就创建完成了。连接NanoBoard 3000与装有Altium Designer软件的电脑,成功下载设计后,占用的资源情况,如图6所示。在NanoBoard 3000开发板上可以看到,最左侧的LED7的亮度是程序中设定的数值,而最右侧的LED0亮度则是逐渐变化的,LED的亮暗变化情况与设计意图一致。



3 结论
   
基于OpenBus系统的FPGA嵌入式设计没有硬件描述语育的编程,OpenBus文件的设计像绘制原理图一样方便,软件平台搭建器SwPlatform为FPGA嵌入式设计完成了底层的驱动代码。结合Altium Designer的创新电子平台NanoBoard3000可片内在线调试,能及时发现设计中的问题,节约项目的研发与设计时间。这种设计方法相对传统的FPGA设计开发,设计过程大大简化,符合FPGA嵌入式“软”设计的设计应用发展趋势。

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

作者 Mohamad Ali| IBM咨询首席运营官 北京2024年5月24日 /美通社/ -- 生成式AI的兴起几乎在所有面向上给业务带来改变。根据 IBM 商业价值研究院最新的年度 CEO 研究,近60%...

关键字: IBM AI BSP 模型

上海2024年5月27日 /美通社/ -- 自ChatGPT的发布引发全球范围内对大模型的广泛关注以来,目前,国内公布的大模型数量已超过300个,行业呈现出"百模大战"的竞争格局。在此背景下,亿欧近日...

关键字: 模型 APP 数据库 PEN

UART(Universal Asynchronous Receiver/Transmitter)是一种通信协议,用于在电子设备之间传输数据。它是一种串行通信协议,意味着数据位按顺序一个接一个地传输。

关键字: FPGA UART串口通信

台北2024年5月21日 /美通社/ -- 提供针对AMD WRX90和TRX50主板优化的DDR5 OC R-DIMM 提供容量128GB(16GBx8)到768GB(96GBx8),速度5600MHz到8...

关键字: AMD 内存 BSP GB

上海2024年5月20日 /美通社/ -- 2024年5月16日,世界知名的生命科学公司 Eppendorf 集团于第二十三届生物制品年会上成功举办了"疫路超越 推流出新"的产品发布会,正式推出大规模...

关键字: RF PEN BSP IMAC

北京2024年5月20日 /美通社/ -- 过去五年里,支付和收款方式日新月异,其发展和变化比过去五十年都要迅猛。从嵌入式数字商务的出现,到"一拍即付"的...

关键字: VI BSP PAY COM

华钦科技集团(纳斯达克代码: CLPS ,以下简称"华钦科技"或"集团")近日宣布致敬 IBM 大型机 60 载辉煌历程,并将继续实施集团大型机人才培养计划。

关键字: IBM BSP 研发中心 PS

助力科研与检测新突破 上海2024年5月15日 /美通社/ -- 全球知名的科学仪器和服务提供商珀金埃尔默公司今日在上海举办了主题为"创新不止,探索无界"的新品发布会,集中展示了其在分析仪器领域的最...

关键字: 质谱仪 BSP DSC 气相色谱

上海2024年5月16日 /美通社/ -- 2024年5月10日至5月13日,富士胶片(中国)投资有限公司携旗下影像产品创新力作亮相北京P&E 2024。在数码相机展览区域,全新制定的集团使命"为世界绽...

关键字: 富士 数码相机 影像 BSP
关闭
关闭