前言:中文期刊网精心挑选了电子电路设计与应用范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
电子电路设计与应用范文1
关键词: 硬件描述语言 verilog HDL VHDL
1.引言
数字电子技术是电气信息类专业一门重要的技术基础课程,既具有一定的理论性,同时作为一门技术课程又有相当强的实践性。因此,我们必须为理论的讲述配置一定的实验项目。目前实验项目的组织有两种途径:一是采用原来传统的小规模(SSI)或中规模集成电路(MSI)为单元构建实验项目;二是以大规模(LSI)可编程CPLD/FPGA芯片为平台,利用专门的硬件描述语言来实现。
2.现状与需求
目前,在许多本科院校的数字电子技术课程实验教学和数字电路的设计中,仍采用传统的小规模(SSI)或中规模集成电路(MSI)为单元来构建和设计。这种思路已经不能适应教学和行业发展趋势的需要。它主要有如下几个方面的原因:一是实验室必须为每一个实验项目独立地准备实验器材,而且要保证实验元件的正确性和可靠性,这是一件很费时费力的工作,同时一旦有学生操作失误,芯片就有可能烧坏,从而浪费资源;二是目前的大学生电子设计大赛所设计的数字系统设计和一些接口电路已经涉及和要求掌握在大规模和超大规模可编程芯片基础上设计复杂的数字电路;三是目前随着微电子技术和计算机技术的飞速发展,工程中已经广泛采用以CPLD/FPGA为基础设计数字集成电路,用软件的方法设计硬件电路已经是行业的需要。
为此,有必要在课堂教学中引入硬件描述语言用以设计数字集成电路,并设置相应的实验项目以掌握硬件描述语言和熟悉相关开发工具。
3.1硬件描述语言简介[1]
一般的硬件描述语言可以在三个层面上描述电路,其层次由低到高依次为门电路级、RTL级和行为级。任何一种硬件描述语言都要转换成门电路级才能被布线器所接受。综合的方向是由高到底:行为级RTL级门电路级。
3.2硬件描述语言分类及主要差异
目前主流的描述语言有Verilog HDL和VHDL两种,各有特点和优势。Verilog HDL更适合RTL和门电路的描述,是一种较为低级的语言。其综合过程只要经过RTL级门电路级,故较为容易控制电路资源,常用在专业的集成电路设计上。而VHDL语言则更适合行为级和RTL级的描述,因此其综合过程通常要经过行为级RTL级门电路级的转换。[2]
同时,Verilog HDL语言具有C语言的描述风格,是一种较为容易掌握的语言。VHDL语言入门较难,但熟悉后设计效率比Verilog HDL要高。
3.3硬件描述语言在数字电路设计中的应用举例
译码器是数字电路中应用最为广泛的中规模集成电路,常用于设计接口电路和扩展I/O口。下面是用VHDL语言来描述一个3―8译码器的例子。[3]
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;―IEEE库说明
ENTITY decoder IS
PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0);―实体说明,输入三位地址,高电平有效
S:IN STD_LOGIC;―使能信号,高电平有效
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));―输出八个译码信号,高电平有效
END decoder;
ARCHITECTURE arch OF decoder IS―结构体描述
SIGNAL SEL:STD_LOGIC_VECTOR(3 DOWNTO 0);―敏感列表
BEGIN
SEL(0)<=S;
SEL(1)<=A(0);
SEL(2)<=A(1);
SEL(3)<=A(2);
WITH SEL SELECT
Y<="00000001"WHEN"0001",―功能描述
"00000010"WHEN"0011",
"00000100"WHEN"0101",
"00001000"WHEN"0111",
"00010000"WHEN"1001",
"00100000"WHEN"1011",
"01000000"WHEN"1101",
"10000000"WHEN"1111",
"11111111"WHEN ORTHERS,
END arch;
译码器种类繁多,输入输出电平有效值要求高低不同,在此我们只需稍改功能描述中的取值即可,非常方便。因此修改教学内容是非常方便的。不难看出内部结构比较复杂的译码器用VHDL语言描述就显得非常简洁易懂。其实一般较为复杂的器件比较适合用VHDL来描述,在RTL级和行为级上进行描述。
D触发器是时序电路的基础,是数字系统的基本单元。下面是利用Verilog HDL描述一个异步复位的D触发器。
module DFF(q,qb,d,clk,clr);模块名和端口列表
output q,qb;//端口输入输出说明,输出端q和反相qb
input d,clk,clr;//数据输入端d,时钟端clk和复位端clr
reg q;端口类型说明
wire qb,d,clk,clr;
assign qb=!q;//互非输出
always @(posedge clk or negedge clr)//异步复位时的敏感表
if(!clr)
q<=0;//低电平复位信号有效是清零
else
q<=d;
endmodule
将敏感列表稍加改动即可变为同步复位的D触发器。像触发器这样的时序器件用Verilog HDL描述是比较方便的。Verilog HDL语言对一些电气特性、时延特性的描述有非常强大的描述能力。
4.结论
以可编程器件为基础,利用硬件描述语言进行数字集成电路设计已经是业界不可避免的发展趋势。这不仅优化了教学资源和设计环境,而且提高了设计效率,对切实提高学生动手能力和适应市场以及技术发展的要求起着重要作用。
参考文献:
[1]潘松,王国栋.VHDL实用教程[M].成都:电子科技大学出版社,2000.
[2]夏宇闻.复杂数字电路与系统的Verilog HDL设计技术[M].北京航空航天大学出版社,2002.
电子电路设计与应用范文2
【关键词】 智能交通系统 电子不停车收费 高速公路 射频技术
0引言
随着我国高速公路建设的蓬勃发展,国民汽车保有量逐年提高,高速公路人工收费以及半自动收费带来的种种弊端也渐渐显现,因收费效率低而造成的车辆堵塞不仅损坏了人们的经济以及社会效益,而且因车辆频繁启动增加了污染气体的排放,不利于低碳发展,针对以上种种问题,不停车收费系统的推广应用显得尤为重要,快速便捷的收费方式有效缓解收费站口的交通瓶颈,并且使管理变得标准化,防止工作人员贪污路费,更减少了尾气排放,保护了大气环境。
1 国外高速公路收费系统现状
美国,日本以及欧洲许多发达国家的高速公路建设起步较早,路网已形成一定规模,高速公路的各项基础设施配置也比较完善,服务水平等级高。很多发达国家很早以前就对高速公路的通行进行收费,因此其对电子不停车收费系统(ETC)的研究也起源较早,发展历史悠久,所以这些国家也掌握了相对较先进的电子不停车收费系统(ETC)技术。
欧洲国家电子不停车收费系统最早可追溯到80年代中期,现今,且其信誉制度相对完善,人们不必担心隐私问题泄露的问题,所以电子不停车收费在欧洲已拥有大量的用户,人们对不停车收费已经习以为常,ETC日渐成为人们日常生活中不可或缺的一部分。
2 国内高速公路收费系统现状
目前我国高速公路的建设已迈向黄金阶段,各级路网日趋完善,然而,我国交通收费体制还非常落后,最原始的人工收费方式依然存在,通过人工判别车型,依据相关标准进行收费,找零,发给收据,繁琐的业务流程效率低下,需要大量人力资源,贪污受贿现象更是时有出现。相比之下,半自动人工收费则要更占优势,现今已成为我国高速公路应用最多的一种收费方式。半自动人工收费方式的运行依然依靠大量人工,人工判别车型,人工收缴费用,优势在于运用计算机实现管控,包括车辆计数,视频监督等。
在高速公路收费方面显示出巨大优越性的电子不停车收费系统(ETC)在我国仍处于起步阶段,各地收费站虽已相继修建电子不停车收费通道,建立相应服务设施,但未能实现大规模试用,实践也只局限在了小部分范围内,应用并不是十分广泛。
3 射频识别技术系统
3.1 射频识别系统结构
一般的射频识别系统都包含有射频标签和读写器两个基本组件,射频标签本质为一种集成电路卡片,可存储有关附着车辆的大量电子信息,且可嵌入识别车辆内部,读写器通过无线电波或信号感应方式发送命令给射频标签,射频标签相应的做出反馈,二者共同完成数据传输工作。射频识别系统的其他一些部件,例如天线,用来传递读写器和射频标签之间的信号,智能控制设备则需要完成射频信号的处理和控制等。
3.2 射频识别系统工作原理
读写器周围分布有一个微波通信区域,当射频标签进入到这个工作区域后,安置在路侧位置的读写器通过天线向外发射特定频率的电磁波,安装在识别车辆上的射频标签成功接收到微波信号后被激活,由射频标签内部系统对接收到的信号进行整合处理后传回读写器,实现车辆身份识别。射频识别技术系统工作原理如图1所示。
4 射频识别技术在电子不停车收费系统中的应用
为适应现代公路交通运输的发展要求,高速公路应用射频技术实现了不停车收费,保证了收费口处的无障碍通行,创造了便利的交通环境。当车辆通过收费口时,车道摄像机会对车辆图像进行采集,车道实时控制子系统会对车辆图像进行数据化处理,得出车辆实际牌照号,而过往车辆的车型,牌照号,车辆户主和银行所用账号等数据信息可通过射频技术获得,对照由两种渠道获得的不同信息,若信息统一则允许车辆通行。
5 电子不停车收费系统在我国的应用问题
电子不停车收费系统的出现不仅为高速公路注入了新鲜的血液且提高了人们的出行质量,但电子不停车收费系统在实际运营的时候却存在着这样或那样的问题,轻则损害公众对电子不停车收费系统的信赖,重则酿成事故,危及人们生命及财产安全。我国在高速公路电子不停车领域方面缺乏统一高效的管理与协调,投入使用收费车站本就不多,却拥有繁多的投资主体,各自使用技术不一,分散的管理使规模化经营变得愈加困难。此外,我国规模庞大的高速公路路网导致不停车收费系统技术的应用更加复杂,投资高,建设时间长等等这些问题都成了电子不停车收费系统的推广所需面临的。
5.1系统本身技术问题
射频标签电量不足或内部电路连接等方面出现问题等都会影响射频标签接收微波信号,进而使整个通信过程失败。
5.2外界因素干扰
收费口处的微波通信区域有时会受到附近其他频率信号的干扰,当杂散金属物体反射微波信号时会出现多径干扰问题,在相邻车道运行的车辆若频率相同也会互相干扰,甚至车辆内部的一些无线电设施也会对通信过程造成干扰。
5.3人为因素
发达国家国民整体信用度较高,司机驾驶习惯相对较好,而我国的情况则较为复杂,车辆非法闯关现象屡见不鲜,这与国民对高速公路的认知理念有关,若解决不当则会使问题进一步严重化。
6 建议与展望
虽然高速公路电子不停车收费技术在各方面都还有很多不足之处,但任何事物都需要不断完善,技术层面的核心问题需要领域内人员继续探索,有关部门应尽快制定相关管理规范,为此,本人提出以下几点建议:
(1)系统成功运行的前提是各类设施正常工作,所以在硬件设施上我们首先要严格按照ETC车道标准建设ETC车道,其次要保证ETC各项设施指标合格,车道建成后,定要依照相关标准试行,确保整个系统协调配合,无故障隐患,且要全面考虑各种可能情况,做好应急措施。
(2)组件维修部门,指定专人负责区域,并对维修人员进行专业知识及实践操作的培训,分发维修技术指导手册,确保在意外情况发生后快速恢复收费站的运行秩序,把各种不良影响降到最低。
(3)面向公众做好ETC宣传工作,解除公众思维限制,确保公众无障碍享受服务,避免因无知而造成不必要隐患。
智能交通在我国起步较晚,ETC更是处于萌芽阶段,未来发展空间还很广阔,现阶段我们既要注重他的发展效率更要兼顾质量,确保ETC全寿命周期成本最低。
7 参考文献
[1] 韩贵琴. 不停车收费系统的现状及发展趋势[J]. 山西科技,2008(9):33-35
[2] 杨李莎. 高速公路不停车收费系统车道收费的研究与仿真[D]. 长安大学,2007
[3] 李祖君. 联网收费环境下的不停车收费方案[D]. 华中科技大学,2006
电子电路设计与应用范文3
[关键词]数字电子电路;EDA技术;应用;探究
在微电子技术飞速发展的背景下,数字电子电路的设计的难度也在不断加大,电子产品翻新的速度也在不断加快,这给数字电子电路设计带来了较大的压力。EDA技术是数字电子电路的设计中较为先进的技术,具有其他技术不具备的优势,使数字电子电路的设计得到了革命性的发展[1]。EDA技术的优势在于当程序修改错误时,不需要使用额外的硬件电路,且在使用EDA技术进行电子产品设计时能够使电子产品的成本降低和设计周期缩短。因而,EDA技术在数字电子电路设计中得到了越来越广泛的运用,也推动了数字电子电路的设计领域的变革,促进电子产品的发展。对此,我们需要EDA技术在数字电子电路的设计中应用有所了解。
1EDA技术概述
EDA(ElectronicDesignAutomation,电子设计自动化)技术是逐渐从计算机辅助测试、计算机辅助制造、计算机辅助设计以及计算机辅助工程中发展而来的[2]。该技术主要是将计算机作为载体,在EDA软件平台上,设计者主要采用硬件描述语言VHDL进行设计,进而由计算机自动完成各项工作。EDA技术是一种融合了当前多种新型技术的新技术,它以计算机为载体,将计算机技术、信息技术、电子技术以及智能技术相互融合起来,进而完成电子产品的自动化设计工作,这样有效促进了电路设计的可操作性以及效率性,不仅保障了电路设计的质量和效率,同时也极大地减轻了设计者的工作强度,同时也降低了电子产品的生产成本。具体来说,EDA技术的特点以及EDA技术设计流程如下。
1.1EDA技术的特点
相比于传统的CAD(ComputerAidedDesign,计算机辅助设计)技术而言,EDA技术具有显著的特点。首先一点,EDA技术在硬件电路选择软件设计方式方面上,它可以选择多种设计输入,如VHDL语言、波形等等,它在完成下载配置前能够在没有硬件设备的情况下能够自行完成。与此同时,它在修改硬件设备也是非常简单、易于操作,这种修改硬件设备的方式和软件程序修改方式非常接近,采用软件测试的方法对其进行测试,这样就能科学有效地设计特定功能的硬件电路[3]。第二点,EDA技术能够仪自动化的形式进行产品直面设计。它可以通过HDL语言和电路原理图等自动化的逻辑编译的相关程序输入其中,并生成相应的目标系统。简单说来,这种技术能够以计算机为依托,从电路功能模拟、电路性能分析、电路的设计以及优化、电路功能的测试和完善等全部流程都可以以自动化的形式实现。第三点,EDA技术具有较高的集成化特点,并可以自身构成片上系统。EDA技术在数字电子电路设计中是以芯片为载体进行设计的一种设计方式。因而,当前大规模集成线路的不断发展能够有效促进繁杂的芯片设计工作的完成,同时也能够完成专业化的集成电路设计[4]。第四点,EDA技术可以大大提高系统升级的工作效率,它能够当场进行目标系统的编程,实现有效的系统升级。第五点,EDA技术具有自动化的特点,且进行技术开发的时间并不长,且能够有效节约设计的费用,避免了资源的浪费,同时EDA技术也具有极大的灵活性和实用性,可操作性较强。
1.2EDA技术设计流程简介
EDA技术对于数字电子电路设计的意义可以认为是它将推动了数字电子电路设计的一个发展变革,使其进入了一个发展的新时期。传统的电路设计的模式多是以硬件搭试调试焊接的方式,而E-DA技术以计算机自动化的设计模式对传统的电路设计模式进行了创新。EDA技术设计流程主要包含8个流程依次为[5]:设计指标设计输入(将电路系统采用一定的表达式输入计算机,其中包括图形输入以及文本输入)逻辑编译(将设计者在EDA中输入的图形或文本进行有效的编排转化)逻辑综合(将电路中高级的语言转化为低级的,并与基本结构相应射)器件适配(将由综合器产生的网表文件配置到指定文件中,使之能够下载文件)功能仿真(跟进吧算法和仿真库对涉及进行模拟,以验证其涉及是否和要求一致)下载编程(将适配后生成的配置文件和下载文件以编程器下载)目标系统。
2可编程逻辑器件
数字逻辑编辑器具有自身的发展历程,一般可以将其分为分立元件、中小型标准芯片以及可编程逻辑器件等三个阶段。对逻辑器分类方面可以将其分为固定逻辑器和可编程逻辑器。其中固定逻辑器的电路是固定的、不可变的,而可编程逻辑器则可以为使用者提供多种逻辑能力,也可以在不同的时间内进行改变,进而完成不同的功能[6]。可编程逻辑器件(programmablelogicdevice,PLD)产生于通用集成电路,根据使用者对器件编程来确定其逻辑功能。可编程逻辑器件具有较高的集成度,一般能够满足大多数数字系统设计的需求。在科学技术快速发展的情况下,可编程逻辑器件也随之不断发展。当前,可编程逻辑器件已经成为解决逻辑方案的首选,这主要是因为它能够根据用户的需求进行相应的产品功能增加以及产品升级,且操作较为简便,具有低成本、低消耗、多功能、高集成性等优势。与此同时,当前一些公司也在不断对其进行研究,不断完善可编程逻辑器件的功能,并获得了较为显著的效果,如Altra公司的FLEX10K的系列产品、Xilinx公司的XC4000的系列产品[7]。
3VHSIC硬件描述语言
VHSIC硬件描述语言(Very-High-SpeedInte-gratedCircuitHardwareDescriptionLanguage,VHDL)是电路设计中使用的一种高级语言,主要在20世纪80年代由美国国防部认定的标准硬件描述语言,之后其他公司纷纷推出了VHSIC硬件描述语言设计环境。对此,我们需要对VHSIC硬件描述语言具有一个较为清晰的了解。数字电子电路设计的第一步就是使用EDA技术以及相应的软件开发工具进行设计输入。简单地说就是简要描述电路设计、硬件设计以及测试方法。在设计一些规模不大的数字电子电路时,一般硬件描述的方式为原先的时序波在设计一些大规模的数字电子电路时,其描述方式就需要采用具有较强针对性的硬件描述语言。VHSIC硬件描述语言不仅能够详细描述硬件电路的功能、定时与信号连接的关系,而且还能采用简洁的模式准确描述硬件电路中逻辑较为抽象的部分[8]。由于VHSIC硬件描述语言具有详细准确描述硬件电路功能的特征,因而,VHSIC硬件描述语言成为EDA技术在数字电子电路设计中最为常用的设计输入方式和描述语言。在数字电子电路设计中,VHSIC硬件描述语言已经成为使用最为广泛的硬件电路应用描述语言。这主要是因为VHSIC硬件描述语言具有硬件特点的语句,其结构和语法具有高级计算机具有高度相似性。除此之外,VHSIC硬件描述语言在程序结构上也有着十分明显的优势,它进行实体设计时能够将其设为可视部分和不可视部分。从中可以发现,VHSIC硬件描述语言与综上所述,可以看出VHDL硬件描述语言比传统的其他硬件描述语言相比,如AHDL、VBLE,具有强大的描述功能,能够有效规避器件的复杂结构,进而对数字电子电路设计进行有效的描述[9]。具体说来,与其他硬件描述语言相比,VHSIC硬件描述语言的特点主要有以下几个方面:其一,具有强大的功能以及灵活的设计。这主要是VHSIC硬件描述语言有着功能强大的语言结构,能够采用简短的语言进行复杂逻辑的描述;同时,它也具备多层次的设计功能,支持多种设计方法。其二,具有广泛的支持性,且易于修改。由于VHSIC硬件描述语言已经成为使用最为广泛应用描述语言,因而具有广泛的支持性;由于其结构化和易读化的特征,因而易于修改。其三,系统硬件描述能力强大,VHSIC硬件描述语言可以进行结构描述、寄存器传输描述、行为描述,也可以进行三者混合描述。其四,与器件设计相对独立,在进行VHSIC硬件描述语言可以不用考虑器件设计情况,专心用于VHSIC硬件描述语言设计的优化。其五,移植能力强,能够共享。VHSIC硬件描述语言设计完成后可以将成果进行分享,避免电路的重复设计。除此之外,VHSIC硬件描述语言还具有其他的特征:其一,VHSIC硬件描述语言属于设计输入语言,它能够通过计算机详细描述硬件电路的运行状态,并将其与数字电路的设计系统自动综合。其二,VHSIC硬件描述语言是常用的测试语言,它能够以测试基准对数字电子电路进行可以仿真与模拟,进而判断其功能情况。其三,VHSIC硬件描述语言是标准化语言,它是当前设计语言中使用最为广泛的语言之一,也是当前电子领域普遍认可的标准化语言。其四,VHSIC硬件描述语言是可读性语言,它不仅可以被计算机识读,同时也可以被设计者识读。其五,VHSIC硬件描述语言一种网表语言,它独特的语言结构让其在计算机设计中工作较好,同时它在设计工具间联系的格式中属于低级设计工具,即它在门级网表文件形成中具有相互转化的功能和高度兼容性。
4EDA技术在数字电子电路设计中的应用
我们可以通过设计一个数字钟电路来展现E-DA技术在数字电子电路设计中的应用,该数字电路钟能够显示秒、分、时。
4.1准备的设备
本次实验主要是选用FPGA芯片EDA技术实验工具以及电子计算机。
4.2实验设计方法
依照EDA技术的设计规范进行分层设计,其内容包括数字钟;时计数、分计数、秒计数以及译码显示;24进位制计数器、60进位制计数器以及译码显示电路。在VHDL语言描述上,要使用VHDL语言对60进位制计数器、24进位制计数器进行描述编程,并将两者进位标准进行调整,使其一致。关于译码显示电路的设计。在设计中可以使用动态译码扫描处理电路进行处理,这能够某个时间点点亮单个数字码而达到6个同时显示的视觉效果,这样不仅将电路能耗降到最低,同时也节约了器件资源,并延长了器件的使用寿命[11]。关于顶层设计,在这一设计中需要建立在底层设计模块的基础上,通过原理图方法将两者进行有机的融合,进而获得一个完整电路。
4.3编译下载
电子电路设计与应用范文4
在人类的科学研究中,有不少研究成果得益于大自然的启发,例如仿生学技术。随着计算机技术和电子技术的发展,许多的科学研究越来越与生物学紧密相联。在人工智能方面,已经实现了能用计算机和电子设备模仿人类生物体的看、听、和思维等能力;另一方面,受进化论的启发,科学家们提出了基于生物学的电子电路设计技术,将进化理论的方法应用于电子电路的设计中,使得新的电子电路能像生物一样具有对环境变化的适应、免疫、自我进化及自我复制等特性,用来实现高适应、高可靠的电子系统。这类电子电路常称为可进化硬件(EHW, Evolvable HardWare)。本文主要介绍可进化硬件EHW的机理及其相关技术并根据这种机理对高可靠性电子电路的设计进行讨论。
1 EHW的机理及相关技术
计算机系统所要求解决的问题日趋复杂,与此同时,计算机系统本身的结构也越来越复杂。而复杂性的提高就意味着可靠性的降低,实践经验表明,要想使如此复杂的实时系统实现零出错率几乎是不可能的,因此人们寄希望于系统的容错性能:即系统在出现错误的情况下的适应能力。对于如何同时实现系统的复杂性和可靠性,大自然给了我们近乎完美的蓝本。人体是迄今为止我们所知道的最复杂的生物系统,通过千万年基因进化,使得人体可以在某些细胞发生病变的情况下,不断地进行自我诊断,并最终自愈。因此借用这一机理,科学家们研究出可进化硬件(EHW,Evolvable HardWare),理想的可进化硬件不但同样具有自我诊断能力,能够通过自我重构消除错误,而且可以在设计要求或系统工作环境发生变化的情况下,通过自我重构来使电路适应这种变化而继续正常工作。严格地说,EHW具有两个方面的目的,一方面是把进化算法应用于电子电路的设计中;另一方面是硬件具有通过动态地、自主地重构自己实现在线适应变化的能力。前者强调的是进化算法在电子设计中可替代传统基于规范的设计方法;后者强调的是硬件的可适应机理。当然二者的区别也是很模糊的。本文主要讨论的是EHW在第一个方面的问题。
对EHW的研究主要采用了进化理论中的进化计算(Evolutionary Computing)算法,特别是遗传算法(GA)为设计算法,在数字电路中以现场可编程门阵列(FPGA)为媒介,在模拟电路设计中以现场可编程模拟阵列(FPAA)为媒介来进行的。此外还有建立在晶体管级的现场可编程晶体管阵列(FPTA),它为同时设计数字电路和和模拟电路提供了一个可靠的平台。下面主要介绍一下遗传算法和现场可编程门阵列的相关知识,并以数字电路为例介绍可进化硬件设计方法。
1.1 遗传算法
遗传算法是模拟生物在自然环境中的遗传和进化过程的一种自适应全局优化算法,它借鉴了物种进化的思想,将欲求解问题编码,把可行解表示成字符串形式,称为染色体或个体。先通过初始化随机产生一群个体,称为种群,它们都是假设解。然后把这些假设解置于问题的“环境”中,根据适应值或某种竞争机制选择个体(适应值就是解的满意程度),使用各种遗传操作算子(包括选择,变异,交叉等等)产生下一代(下一代可以完全替代原种群,即非重叠种群;也可以部分替代原种群中一些较差的个体,即重叠种群),如此进化下去,直到满足期望的终止条件,得到问题的最优解为止。
1.2 现场可编程逻辑阵列(FPGA)
现场可编程逻辑阵列是一种基于查找表(LUT, Lookup Table)结构的可在线编程的逻辑电路。它由存放在片内RAM中的程序来设置其工作状态,工作时需要对片内的RAM进行编程。当用户通过原理图或硬件描述语言(HDL)描述了一个逻辑电路以后, FPGA开发软件会把设计方案通过编译形成数据流,并将数据流下载至RAM中。这些RAM中的数据流决定电路的逻辑关系。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用,灌入不同的数据流就会获得不同的硬件系统,这就是可编程特性。这一特性是实现EHW的重要特性。目前在可进化电子电路的设计中,用得最多得是Xilinx 公司的Virtex系列 FPGA芯片。
2 进化电子电路设计架构
本节以设计高容错性的数字电路设计为例来阐述EHW的设计架构及主要设计步骤。对于通过进化理论的遗传算法来产生容错性,所设计的电路系统可以看作一个具有持续性地、实时地适应变化的硬件系统。对于电子电路来说,所谓的变化的来源很多,如硬件故障导致的错误,设计要求和规则的改变,环境的改变(各种干扰的出现)等。
从进化论的角度来看,当这些变化发生时,个体的适应度会作相应的改变。当进化进行时,个体会适应这些变化重新获得高的适应度。基于进化论的电子电路设计就是利用这种原理,通过对设计结果进行多次地进化来提高其适应变化的能力。
电子电路进化设计架构如图1所示。图中给出了电子电路的设计的两种进化,分别是内部进化和外部进化。其中内部进化是指硬件内部结构的进化,而外部进化是指软件模拟的电路的进化。这两种进化是相互独立的,当然通过外部进化得到的最终设计结果还是要由硬件结构的变化来实际体现。从图中可以看出,进化过程是一个循环往复的过程,其中是根据进化算法(遗传算法)的计算结果来进行的。整个进化设计包括以下步骤:
(1)根据设计的目的,产生初步的方案,并把初步方案用一组染色体(一组“0”和“1”表示的数据串)来表示,其中每个个体表示的是设计的一部分。染色体转化成控制数据流下载到FPGA上,用来定义FPGA的开关状态,从而确定可重构硬件内部各单元的联结,形成了初步的硬件系统。用来设计进化硬件的FPGA器件可以接受任意组合的数据流下载,而不会导致器件的损害。
(2)将设计结果与目标要求进行比较,并用某种误差表示作为描述系统适应度的衡量准则。这需要一定的检测手段和评估软件的支持。对不同的个体,根据适应度进行排序,下一代的个体将由最优的个体来产生。
(3)根据适应度再对新的个体组进行统计,并根据统计结果挑选一些个体。一部分被选个体保持原样,另一部分个体根据遗传算法进行修改,如进行交叉和变异,而这种交叉和变异的目的是为了产生更具适应性的下一代。把新一代染色体转化成控制数据流下载到FPGA中对硬件进行进化。
(4)重复上述步骤,产生新的数代个体,直到新的个体表示的设计方案表现出接近要求的适应能力为止。
一般来说通过遗传算法最后会得到一个或数个设计结果,最后设计方案具有对设计要求和系统工作环境的最佳适应性。这一过程又叫内部进化或硬件进化。
图中的右边展示了另一种设计可进化电路的方法,即用模拟软件来代替可重构器件,染色体每一位确定的是软件模拟电路的连接方式,而不是可重构器件各单元的连接方式。这一方法叫外部进化或软件进化。这种方法中进化过程完全模拟进行,只有最后的结果才在器件上实施。
进化电子电路设计中,最关键的是遗传算法的应用。在遗传算法的应用过程中,变异因子的确定是需要慎重考虑的,它的大小既关系到个体变异的程度,也关系到个体对环境变化做出反应的能力,而这两个因素相互抵触。变异因子越大,个体更容易适应环境变化,对系统出现的错误做出快速反应,但个体更容易发生突变。而变异因子较小时,系统的反应力变差,但系统一旦获得高适应度的设计方案时可以保持稳定。
对于可进化数字电路的设计,可以在两个层面上进行。一个是在基本的“与”、“或”、“非”门的基础上进行进化设计,一个是在功能块如触发器、加法器和多路选择器的基础上进行。前一种方法更为灵活,而后一种更适于工业应用。有人提出了一种基于进化细胞机(Cellular Automaton)的神经网络模块设计架构。采用这一结构设计时,只需要定义整个模块的适应度,而对于每一模块如何实现它复杂的功能可以不予理睬,对于超大规模线路的设计可以采用这一方法来将电路进行整体优化设计。
3 可进化电路设计环境
上面描述的软硬件进化电子电路设计可在图2所示的设计系统环境下进行。这一设计系统环境对于测试可重构硬件的构架及展示在FPGA可重构硬件上的进化设计很有用处。该设计系统环境包括遗传算法软件包、FPGA开发系统板、数据采集软硬件、适应度评估软件、用户接口程序及电路模拟仿真软件。
遗传算法由计算机上运行的一个程序包实现。由它来实现进化计算并产生染色体组。表示硬件描述的染色体通过通信电缆由计算机下载到有FPGA器件的实验板上。然后通过接口将布线结果传回计算机。适应度评估建立在仪器数据采集硬件及软件上,一个接口码将GA与硬件连接起来,可能的设计方案在此得到评估。同时还有一个图形用户接口以便于设计结果的可视化和将问题形式化。通过执行遗传算法在每一代染色体组都会产生新的染色体群组,并被转化为数据流传入实验板上。至于通过软件进化的电子电路设计,可采用Spice软件作为线路模拟仿真软件,把染色体变成模拟电路并通过仿真软件来仿真电路的运行情况,通过相应软件来评估设计结果。
电子电路设计与应用范文5
计算机系统所要求解决的问题日趋复杂,与此同时,计算机系统本身的结构也越来越复杂。而复杂性的提高就意味着可靠性的降低,实践经验表明,要想使如此复杂的实时系统实现零出错率几乎是不可能的,因此人们寄希望于系统的容错性能:即系统在出现错误的情况下的适应能力。对于如何同时实现系统的复杂性和可靠性,大自然给了我们近乎完美的蓝本。人体是迄今为止我们所知道的最复杂的生物系统,通过千万年基因进化,使得人体可以在某些细胞发生病变的情况下,不断地进行自我诊断,并最终自愈。因此借用这一机理,科学家们研究出可进化硬件(EHW,EvolvableHardWare),理想的可进化硬件不但同样具有自我诊断能力,能够通过自我重构消除错误,而且可以在设计要求或系统工作环境发生变化的情况下,通过自我重构来使电路适应这种变化而继续正常工作。严格地说,EHW具有两个方面的目的,一方面是把进化算法应用于电子电路的设计中;另一方面是硬件具有通过动态地、自主地重构自己实现在线适应变化的能力。前者强调的是进化算法在电子设计中可替代传统基于规范的设计方法;后者强调的是硬件的可适应机理。当然二者的区别也是很模糊的。本文主要讨论的是EHW在第一个方面的问题。
对EHW的研究主要采用了进化理论中的进化计算(EvolutionaryComputing)算法,特别是遗传算法(GA)为设计算法,在数字电路中以现场可编程门阵列(FPGA)为媒介,在模拟电路设计中以现场可编程模拟阵列(FPAA)为媒介来进行的。此外还有建立在晶体管级的现场可编程晶体管阵列(FPTA),它为同时设计数字电路和和模拟电路提供了一个可靠的平台。下面主要介绍一下遗传算法和现场可编程门阵列的相关知识,并以数字电路为例介绍可进化硬件设计方法。
1.1遗传算法
遗传算法是模拟生物在自然环境中的遗传和进化过程的一种自适应全局优化算法,它借鉴了物种进化的思想,将欲求解问题编码,把可行解表示成字符串形式,称为染色体或个体。先通过初始化随机产生一群个体,称为种群,它们都是假设解。然后把这些假设解置于问题的“环境”中,根据适应值或某种竞争机制选择个体(适应值就是解的满意程度),使用各种遗传操作算子(包括选择,变异,交叉等等)产生下一代(下一代可以完全替代原种群,即非重叠种群;也可以部分替代原种群中一些较差的个体,即重叠种群),如此进化下去,直到满足期望的终止条件,得到问题的最优解为止。
1.2现场可编程逻辑阵列(FPGA)
现场可编程逻辑阵列是一种基于查找表(LUT,LookupTable)结构的可在线编程的逻辑电路。它由存放在片内RAM中的程序来设置其工作状态,工作时需要对片内的RAM进行编程。当用户通过原理图或硬件描述语言(HDL)描述了一个逻辑电路以后,FPGA开发软件会把设计方案通过编译形成数据流,并将数据流下载至RAM中。这些RAM中的数据流决定电路的逻辑关系。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用,灌入不同的数据流就会获得不同的硬件系统,这就是可编程特性。这一特性是实现EHW的重要特性。目前在可进化电子电路的设计中,用得最多得是Xilinx公司的Virtex系列FPGA芯片。
2进化电子电路设计架构
本节以设计高容错性的数字电路设计为例来阐述EHW的设计架构及主要设计步骤。对于通过进化理论的遗传算法来产生容错性,所设计的电路系统可以看作一个具有持续性地、实时地适应变化的硬件系统。对于电子电路来说,所谓的变化的来源很多,如硬件故障导致的错误,设计要求和规则的改变,环境的改变(各种干扰的出现)等。
从进化论的角度来看,当这些变化发生时,个体的适应度会作相应的改变。当进化进行时,个体会适应这些变化重新获得高的适应度。基于进化论的电子电路设计就是利用这种原理,通过对设计结果进行多次地进化来提高其适应变化的能力。
电子电路进化设计架构如图1所示。图中给出了电子电路的设计的两种进化,分别是内部进化和外部进化。其中内部进化是指硬件内部结构的进化,而外部进化是指软件模拟的电路的进化。这两种进化是相互独立的,当然通过外部进化得到的最终设计结果还是要由硬件结构的变化来实际体现。从图中可以看出,进化过程是一个循环往复的过程,其中是根据进化算法(遗传算法)的计算结果来进行的。整个进化设计包括以下步骤:
(1)根据设计的目的,产生初步的方案,并把初步方案用一组染色体(一组“0”和“1”表示的数据串)来表示,其中每个个体表示的是设计的一部分。染色体转化成控制数据流下载到FPGA上,用来定义FPGA的开关状态,从而确定可重构硬件内部各单元的联结,形成了初步的硬件系统。用来设计进化硬件的FPGA器件可以接受任意组合的数据流下载,而不会导致器件的损害。
(2)将设计结果与目标要求进行比较,并用某种误差表示作为描述系统适应度的衡量准则。这需要一定的检测手段和评估软件的支持。对不同的个体,根据适应度进行排序,下一代的个体将由最优的个体来产生。
(3)根据适应度再对新的个体组进行统计,并根据统计结果挑选一些个体。一
部分被选个体保持原样,另一部分个体根据遗传算法进行修改,如进行交叉和变异,而这种交叉和变异的目的是为了产生更具适应性的下一代。把新一代染色体转化成控制数据流下载到FPGA中对硬件进行进化。
(4)重复上述步骤,产生新的数代个体,直到新的个体表示的设计方案表现出接近要求的适应能力为止。
一般来说通过遗传算法最后会得到一个或数个设计结果,最后设计方案具有对设计要求和系统工作环境的最佳适应性。这一过程又叫内部进化或硬件进化。
图中的右边展示了另一种设计可进化电路的方法,即用模拟软件来代替可重构器件,染色体每一位确定的是软件模拟电路的连接方式,而不是可重构器件各单元的连接方式。这一方法叫外部进化或软件进化。这种方法中进化过程完全模拟进行,只有最后的结果才在器件上实施。
进化电子电路设计中,最关键的是遗传算法的应用。在遗传算法的应用过程中,变异因子的确定是需要慎重考虑的,它的大小既关系到个体变异的程度,也关系到个体对环境变化做出反应的能力,而这两个因素相互抵触。变异因子越大,个体更容易适应环境变化,对系统出现的错误做出快速反应,但个体更容易发生突变。而变异因子较小时,系统的反应力变差,但系统一旦获得高适应度的设计方案时可以保持稳定。
对于可进化数字电路的设计,可以在两个层面上进行。一个是在基本的“与”、“或”、“非”门的基础上进行进化设计,一个是在功能块如触发器、加法器和多路选择器的基础上进行。前一种方法更为灵活,而后一种更适于工业应用。有人提出了一种基于进化细胞机(CellularAutomaton)的神经网络模块设计架构。采用这一结构设计时,只需要定义整个模块的适应度,而对于每一模块如何实现它复杂的功能可以不予理睬,对于超大规模线路的设计可以采用这一方法来将电路进行整体优化设计。
3可进化电路设计环境
上面描述的软硬件进化电子电路设计可在图2所示的设计系统环境下进行。这一设计系统环境对于测试可重构硬件的构架及展示在FPGA可重构硬件上的进化设计很有用处。该设计系统环境包括遗传算法软件包、FPGA开发系统板、数据采集软硬件、适应度评估软件、用户接口程序及电路模拟仿真软件。
遗传算法由计算机上运行的一个程序包实现。由它来实现进化计算并产生染色体组。表示硬件描述的染色体通过通信电缆由计算机下载到有FPGA器件的实验板上。然后通过接口将布线结果传回计算机。适应度评估建立在仪器数据采集硬件及软件上,一个接口码将GA与硬件连接起来,可能的设计方案在此得到评估。同时还有一个图形用户接口以便于设计结果的可视化和将问题形式化。通过执行遗传算法在每一代染色体组都会产生新的染色体群组,并被转化为数据流传入实验板上。至于通过软件进化的电子电路设计,可采用Spice软件作为线路模拟仿真软件,把染色体变成模拟电路并通过仿真软件来仿真电路的运行情况,通过相应软件来评估设计结果。
4结论与展望
进化过程广义上可以看作是一个复杂的动态系统的状态变化。在这个意义上,可以将“可进化”这一特性运用到无数的人工系统中,只要这些系统的性能会受到环境的影响。不仅是遗传算法,神经网络、人工智能工程以及胚胎学都可以应用到可进化系统中。虽然目前设计出的可进化硬件还存在着许多需要解决的问题,如系统的鲁棒性等。但在未来的发展中,电子电路可进化的设计方法将不可避免的取代传统的自顶向下设计方法,系统的复杂性将不再成为系统设计的障碍。另一方面,硬件本身的自我重构能力对于那些在复杂多变的环境,特别是人不能直接参与的环境工作的系统来说将带来极大的影响。因此可进化硬件的研究将会进一步深入并会得到广泛的应用而造福人类。
电子电路设计与应用范文6
关键词:数字电子电路;VHDL;EDA技术;可编程芯片
中图分类号:TN702 文献标识码:A 文章编号:1009-2374(2013)19-0051-02
大规模集成电路的出现以及计算机技术的不断更新换代与广泛应用,促使数字电子电路的设计已经发展到了一个更新的领域,用以下四方面便足以显示:(1)硬件电路的设计越来越趋向软件化;(2)数字电路发展愈加芯片化;(3)电子器件以及与其相关的技术研发越来越多地朝着服务于EDA的方向;(4)电路设计技术的发展趋势朝着更加规范化、标准化的HDL硬件描述语言及EDA工具的推广使用上。当今的技术发展趋势要求从业人员在进行数字电子电路设计过程中,必须具备运用电子计算机以及操作超大规模的可编程逻辑器件的能力。本文通过对以EDA与VHDL为基础的数字电子电路开发设计过程进行简要叙述,为该技术的推广运用,做出必要的文献研究支撑。
1 EDA技术概述以及其开发设计流程
1.1 EDA技术的基本知识
EDA技术指的是以计算机为工作平台,将应用信息处理、计算机技术、智能化技术及电子技术进行融合的最新成果,进行电子产品的自动设计。20世纪60年代中叶,随着技术水平的不断进步逐渐,该技术结合了CAM、CAT、CAD以及CAE的综合优势被逐步发展出来。
与其前身相比,EDA在以下五方面拥有着十分明显的优势:(1)EDA技术能够对目标进行现场编程,并即时地实现在线升级。(2)硬件电路设计过程中采用软件设计的方式,通过输入波形、原理图、编程语言等指令,可以在进行硬件设计、修改、检测中,不涉及任何硬件工具进行特定作业。(3)产品直面设计自动化。EDA技术能够自动地根据设计输入的电路原理图或者HDL进行逻辑编译、适配、布局、优化等一系列工序调整并生成符合要求的目标系统。换句话说,就是运用电路功能完成对电子产品的测试、仿真、优化全程操作。(4)EDA技术的经济实用性更加科学、合理,不仅设计成本保持在较低水平,设计的灵活性也大大提高,同时新技术的开发周期也明显缩短。(5)集成化程度更加完善。EDA设计方法,还有另外一种称呼:利用芯片进行设计的方法,在集成芯片日益大规模的发展背景下,利用EDA技术,可以实现在芯片上构建系统的目的。
1.2 EDA技术的开发设计流程
EDA技术在设计方法上,通过对以往的“电路设计硬件搭试调试”模式进行革命化的转变,代之以计算机自动化完成的模式(如图1),完成了数字电子电路设计的巨大飞跃。
笔者将EDA技术设计过程中两个最基本的组成部分设计载体:可编程逻辑器件PLD以及设计输入:硬件描述语言VHDL进行具体介绍。
2 可编程逻辑器件PLD
可编程逻辑器件(Programmable Logic Device,PLD)是一种电子零件、电子组件,简而言之也是一种集成电路、芯片。PLD芯片属于数字型态的电路芯片,而非模拟或混讯(同时具有数字电路与模拟电路)芯片。PLD与一般数字芯片不同的是:PLD内部的数字电路可以在出厂后才规划决定,有些类型的PLD也允许在规划决定后再次进行变更、改变,而一般数字芯片在出厂前就已经决定其内部电路,无法在出厂后再次改变。
3 硬件描述语言VHDL
3.1 VHDL的基本知识
VHDL全名Very-High-Speed Integrated Circuit Hardware Description Language,在电子工程领域,已成为事实上的通用硬件描述语言。具有以下特点与优势:(1)更强大的行为描述能力。有效避免具体的器件结构,为实现超大规模的电子系统设计与描述打下坚实基础。(2)适用范围多样,且易于操作修改。VHDL采用国际通用的编程语言,能够很好地适用于不同版本的EDA工具,为操作者进行使用和修改提供了极大的便利。(3)设计描述过程独为一体。编程人员能够在对设计最终目标以及其他设计领域不甚了解的情况下,完成自身的编程操作工序。(4)使用EDA工具可以十分方便地对VHDL语言进行进一步的优化提升,由于EDA工具对其的可识别性,EDA可以实现对VHDL的设计语言重新进行整合、升级,并用门级网表将其表示出来。
3.2 基于VHDL的设计实例
用一个简单的状态机举例说明
4 结语
通过使用精简描述语言VHDL进行数字电子电路设计,不仅能够完成各种逻辑复杂、规模庞大的数据运算,更可以有效地将设计周期大大缩短,提高整个系统的可靠性以及集成度。
参考文献
[1] 于玲.EDA应用课程教学改革分析[J].辽宁工业大学学报(社会科学版),2012,(1):136-138.
[2] 王彩凤,胡波,李卫兵,杜玉杰.EDA技术在数字电子技术实验中的应用[J].实验科学与技术,2011,(1):782-783.
[3] 李晓敏,徐涛.EDA技术在“数字电子技术”课程中的应用[J].中国科技信息,2011,(9):167-169.