基于c的语言开发,基于CC++等高级编程语言开发电子系统的设计自动化系统.doc

基于CC等高级编程语言开发电子系统的设计自动化系统

基于CC++等高级编程语言开发电子系统的设计自动化系统

摘 要:当前电子系统设计自动化技术已广泛地应用于各个领域,随着科技的发展,对电子系统设计自动化的要求越来越高。针对传统电子系统设计自动化工具存在的一些缺陷,本研究通过高级编程语言实现了VHDL编程等工作的自动化,使用查找表存储所有常用的VHDL关键字,通过特定的函数统一编写所有VHDL程序的库和实体部分,使用线性链表存储系统中各个端口的属性,程序自动编制设计流程图,并将其通过特定的结构存储在计算机内存中,从而实现了VHDL程序的自动编辑。

关键词:电子系统;VHDL;编程自动化;高级编程语言;接口软件

中图分类号:TP311.51 文献标识码:A

1 引言(Introduction)

EDA(Electronic Design Automation,电子设计自动化)是利用计算机软件进行工作,综合应用计算机技术、电子技术、信息处理和智能化等技术,实现电子产品自动化设计的一项新技术。随着科学技术的高速发展,电子系统的复杂性逐渐增加,对电子系统设计自动化程度的要求也越来越高。如何缩短电子产品设计周期、提高设计效率、提高系统性能、减少人力、物力支出、减少工作量、提高设计自动化水平是当前急需解决的问题。

EDA技术作为现代电子技术的核心,利用QuartusⅡ[1]、Max+PlusⅡ、NiosⅡ[2]、DSP Builder[3]等软件工具通过硬件描述语言进行设计,自动进行逻辑编译、逻辑化简、逻辑综合、仿真测试等,实现所设计的电子系统的功能。用于描述硬件电路的语言有多种,目前以VHDL[4]和Verilog HDL[5]为主。实现电子系统设计自动化要做的工作主要包括编辑输入、综合、适配、功能仿真、时序仿真、编程下载和硬件测试。传统电子系统设计自动化工具主要用文本输入、原理图输入、状态图输入和波形图输入这几种方法实现编辑输入。本文针对电子系统设计的复杂性和传统电子系统设计自动化工具存在的一些缺陷提出了几种新的设计方法,主要通过接口软件实现VHDL等硬件描述语言的自动编程和自动控制软件工具进行操作。

2 电子系统设计自动化的传统方法及其存在的缺

陷(The traditional method of electronic design

automation and its disadvantages)

传统EDA设计的流程如图1所示。开发者采用自顶向下的设计方案。设计时开发者首先要分析项目的设计需求,确定设计方案并进行细化,对各个模块进行功能描述和结构设计,然后用VHDL等硬件描述语言对顶层电路和模块电路进行设计,再通过编译器形成标准的VHDL文件,进行综合产生网络表,最后对产生的网络表进行仿真、适配和编程下载转化为硬件电路并进行测试。

在进行VHDL编程时,除了可以手动输入程序代码, 还可以采用DSP Bulider中的Signal Compiler模块[6]、调用LPM元件或者使用IP核等方法自动编写代码,但这些方法存在一些缺陷。一方面,采用这些方法编写的代码结构复杂而且结构体部分一般没有具体的进程语句,要打开所有被调用的设计实体可能比较困难,不利于分析元器件的工作原理,可能会给后续的设计及硬件测试带来不利影响。另一方面,这些方法不能实现所有的功能模块设计,编程不够灵活。当进行一项新的模块电路设计时,所设计的功能单元的结构可能会因需求的变化发生变化,由于在不同的电路中该模块的工作方式可能不同,其VHDL代码可能有所变化[7]。考虑到在传统的设计软件中存储可变的功能模块设计方案具有一定难度,为了提高这些模块的可重用性,使其适用于不同的系统,需要将这些可变的设计方案包括可变的VHDL程序和各个元件之间的连接电路等以适当的方式存储在文件系统中,用高级编程语言进行编程从文件系统中读取信息并控制电子系统设计软件进行自动设计。除此以外,在进行VHDL编程时很有可能会出现一些重复的程序代码,所有VHDL程序中ENTITY(实体说明)部分的格式几乎都是一致的,而且一般情况下端口的模式和类型仅有“IN std_logic”“IN std_logic_vector”“OUT std_logic”和“OUT std_logic_vector”四种,程序中ARCHITECTURE(结构体)部分中也有可能出现一些重复的代码,举一个简单的例子:用VHDL程序设计一个10位十进制加法计数器,如果采用手动输入的方式进行编程,则需要将IF语句进行10次嵌套,这样做会使时间增加,降低开发效率,而且比较容易出错;如果用C、C++等高级语言编程操作VHDL文件进行自动编程,仅用一个for循环就可以自动编写出这些代码,可以节省时间,从而提高?_发效率。另外

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值