当前位置:首页 > 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嵌入式“软”设计的设计应用发展趋势。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭