EDA设计快速入门

编者按 随着电子技术的发展,可编程逻辑器件成为电子设计中常用的技术,有许多读者发邮件或写信,希望本刊增加这方面的内容。本刊从今年开始,将“相约单片机”栏目改为“单片机与可编程逻辑器件”,并特约东北大学的杜玉远老师撰写系列文章,以使读者对其有一基本的认识。

近年,数字化进程的不断加快,推动了具有高速度、高集成度、低功耗的可编程ASIC器件的发展,同时也推动了用于开发这类器件的EDA技术发展和进步,电路设计构成逐步地从中、小规模芯片转为大规模、超大规模(LSI、VLSI)芯片,因此掌握EDA设计技术,使用可编程大规模、超大规模(LSI、VLSI)芯片已经成为从事电子设计人员必需具有的基本能力。本文将介绍如何在短时间内学习掌握这项技术,并在实际设计中运用。

1. 可编程ASIC器件选择

在电路设计中使用可编程ASIC器件,简单地说就是用大规模、超大规模(LSI、VLSI)芯片来代替中、小规模的芯片。在设计中主要依据芯片的内部结构、性能来选择器件。在EDA技术中所使用的大规模、超大规模(LSI、VLSI)芯片被称为可编程ASIC芯片,这些芯片包含有通用的逻辑资源,经过设计编程,就可以实现所需的功能。这些芯片根据其内部结构可划分为CPLD(Complex Programmable Logic Device)和FPGA (Field Programmable Gate Array)。CPLD是复杂可编程逻辑器件的简称,其结构与早期的PAL、GAL相似,内部包含多个逻辑宏单元或宏模块;FPGA是现场可编程门阵列的简称。

CPLD的内部结构是基于乘积项(Product-Term)技术的可编程ASIC芯片。代表的器件有Altera公司的MAX7000系列和Xilinx公司的XC9500系列等等。***1是Altera公司MAX7000S系列的内部基本编程结构,从***1中可以看出,MAX7000S系列的基本编程结构是由逻辑阵列、乘积项选择矩阵和可编程触发器构成的,这三部分都可以通过编程配置实现各种逻辑功能。不同型号器件中所包含的基本编程单元机构相似,但包含基本单元的数量多少不等,即它们的容量不同。CPLD的编程信息是采用E2CMOS工艺实现的,这种工艺具有非易失性,编程数据可以保持数十年,此类器件只能对其进行有限次(几千次)编程。另外,可以对器件进行加密,而且一旦被加密,很难破解。

FPGA的内部结构是基于查找表(LUT)技术的可编程ASIC芯片。代表的器件有Altera公司的FLEX、ACEX、APEX系列和Xilinx公司的XC4000、Spartan、Virtex系列等等。***2是Xilinx公司的XC4000系列的基本可配置逻辑块CLB结构,从***2可以看出,一个CLB由两个***的4输入查找表、一个3输入查找表和两个触发器构成。查找表实际上是一个RAM结构,一个4输入的查找表就是一个16×1 RAM单元,通过编程可以实现4输入变量的任意逻辑函数。CLB内部的两个触发器通过编程,可以配置成不同类型的触发器。***2中的梯形符号均为可编程的数据选择器符号,对这些数据选择器的控制端编程,就可以改变CLB的配置结构,进而实现对器件的编程控制。数据选择器的选择控制端是由SRAM控制的,也就是说,FPGA的编程信息是通过SRAM实现的。由于器件掉电后,SRAM中的数据会丢失,因此,设计中需要根据情况为器件提供上电配置的电路,以保证上电后器件可以正常工作。配置FPGA的数据是存储在非易失数据存储器中的,使用时不便对其加密。

由此可见,CPLD内部具有大量的乘积项和较少的触发器,而FPGA正好相反,其内部具有较少的组合逻辑资源和较多的触发器。当设计中组合逻辑电路成分较多,而时序电路成分较少的电路时,或者需要很好的加密功能时,选择CPLD比较适合,例如设计宽译码器和复杂编码器时,最好选择CPLD。当我们要设计功能较为复杂的时序电路时,由于复杂的时序电路需要大量的触发器单元,例如设计ALU,选择FPGA则比较适合。

2. EDA开发系统选择

为了学习和使用可编程ASIC器件,需要有一个合适的开发平台,即EDA开发系统。EDA开发系统按功能划分为集成开发系统、综合系统和仿真系统。集成开发系统一般是由可编程ASIC器件生产厂商开发的开发系统平台,用户利用这些开发平台可以完成全部设计工作。代表的开发平台如Xilinx公司的Foundation系列、Altera公司的MaxplusII 系列和QuartusII系列。综合系统一般是由第三方软件开发商开发的,为各器件厂商和普通用户提供对原始设计输入进行综合产生编程数据的软件,代表的综合系统如Synplicity公司的Synplicity 系列。仿真系统是仅用于对设计进行功能仿真的EDA软件,一般也是由第三方开发的,它不能生成编程数据,只用作设计初期工作,也就是说它不涉及具体的器件。代表的仿真系统如Aldec公司的Active-HDL。

由此可见,作为初学者应将功能齐全、能够完成全部设计工作的集成开发系统作为EDA开发系统的首选。附表是Xilinx公司的Foundation系列和Altera公司的QuartusII系列的性能对比表,从附表中可以看出:两种集成系统的设计流程基本相同,只是各自采用的具体程序不同,初学用户可以根据自己喜好的需要选择一种作为入门系统来学习,一旦掌握一种系统,很容易学习其它系统。笔者认为,Altera公司的Quartus II系统提供了较多与74系列中小规模器件完全相同的设计元件,对于初学者更容易开始设计;Xilinx公司的Foundation系统提供了较好的***形导航界面,对于初学者更容易掌握软件的使用。

3. EDA实验系统选择

无论集成开发系统功能如何强大,仿真功能如何准确,为了更快更好地学习和使用CPLD/FPGA,都需要有一个开发实验平台。实验平台根据其性能可以分为两类:评估平台和实验系统。评估平台是用来对某一个具体的器件的功能进行验证的实验平台,评估板大多占用CPLD/FPGA的引脚资源,用户只能在此硬件约束的条件下,对器件验证和评估,而不能进行其它设计。在这类评估平台上,只可以完成特定的实验验证,例如各厂商提供的EVM板就属于这一类平台。实验系统则是一种开放的平台。所谓开放的实验平台是与各种评估板相对而言的。***3所示为一个开放式的实验系统(多功能EDA实验系统),从***3中可以看出,该多功能EDA实验系统由主板和子板构成,用户通过更换不同类型的子板,就可以实现对不同厂家的不同类型芯片进行设计开发。在该实验系统中,还提供了丰富的辅助资源以及单片机调试接口。在这个系统中,不仅可以对CPLD/FPGA进行设计,还可以利用单片机开发系统方便地进行CPLD/FPGA与单片机之间数据传输的设计。另外,多功能EDA实验系统还应该提供***的***编程电缆,并且编程接口与各公司所提供的编程电缆接口完全相同,这样可以为用户的目标系统提供器件编程服务。

4. EDA开发流程

根据自己的需要选择了器件、开发系统和实验系统后,就可以开始EDA设计了。利用集成开发系统进行EDA设计的流程如***4所示。设计一般可分为设计输入、设计综合和器件编程三个步骤。设计输入是由设计者完成,作为最原始的设计输入;设计综合包括优化、合并、映射、布局、布线等工作,并产生最终的下(上接25页)载数据文件;器件编程是将设计输出的数据文件通过***电缆写入到可编程器件内部,使其实现设计的功能。 EDA开发系统同时还具有功能仿真和时序仿真的功能,通常情况下,这些仿真结果是可以信赖的,开发系统一般是以最坏的情况给出仿真结果的,实际的工作情况比仿真结果会好一些。为了提高设计效率,必须正确掌握功能仿真和时序仿真的方法,准确理解仿真结果,以便于及时修改设计,而不必采用反复***方式来验证设计结果。***4中的虚器件测试是EDA设计的最后一步,是在EDA实验系统或目标系统中完成的。在整个设计过程中,设计输入是最关键的,是由设计者对器件所实现的数字系统的逻辑功能进行描述阶段。设计输入一般有电路***输入法、真值表输入法、状态机输入法、波形输入法、硬件描述语言输入法等等,其中电路***输入和硬件描述语言输入是最常用的两种输入形式。

电路***输入法是把数字系统用逻辑***来表示的输入方法,使用元件符号和连线等来描述设计。电路***描述要求设计工具提供必要的元件库和逻辑宏单元库。这种输入方法具有条理清楚、易学、易用等优点。比较适用于初学者使用和较小的系统设计。几乎所有的可编程器件开发系统都支持这种输入方法。但是电路***输入法具有可移植性、可读性较差、不便于交流的缺点。

硬件描述语言是用文本形式描述设计,常用的硬件描述语言有不同语言形式。常用的有ABEL-HDL、VHDL和Verilog HDL。 ABEL-HDL支持布尔方程、真值表、状态机等逻辑表达方式。适合对计数器、译码器、比较器和状态机等逻辑功能的描述。VHDL和Verilog HDL类似于C语言,在描述复杂设计时,非常简洁,具有很强的逻辑描述功能,适合设计比较复杂的数字系统。

在设计过程中,往往采用层次化设计方法,分模块、分层次地进行设计描述。描述系统总功能的设计为顶层设计,描述系统中较小单元的设计为底层设计。层次化设计方法比较自由,可以在任何层次使用电路***或硬件描述语言进行描述。根据两种输入方式的特点,通常我们在顶层设计中采用电路***输入方式,而在底层设计中,采用硬件描述语言描述模块的逻辑功能。

结语

在学习EDA技术过程中,无论选择何种器件和开发系统,采用何种设计输入方式和设计方法,一旦掌握了这种技术,它一定会给电路设计带来巨大效益。作为初学者还应注意的是,无论集成开发系统的功能如何完备,其仿真能力多么准确,仅在集成开发系统中学习EDA技术,都将是“纸上谈兵”,只有将设计***到器件中,才算完成设计全部过程,才能真正把握和理解器件的性能,真正体会到EDA技术的优越性,也才能真正发挥EDA技术的作用。

EDA设计快速入门

转载请注明出处学文网 » EDA设计快速入门

学习

轮式坦克 沙漠之狮

阅读(52)

有人说法国的AMX-10RC装甲侦察车是“轮式坦克”,也有人说它是“沙漠之狮”。那么,AMX-10RC装甲车到底是一种什么样的车辆呢?

学习

当代诗词

阅读(27)

本文为您介绍当代诗词,内容包括当代诗词,当代诗词精选。1.揽胜

学习

教师应具备五种职业精神

阅读(21)

本文为您介绍教师应具备五种职业精神,内容包括教师职业需要具备哪些职业精神,教师应具备的职业精神心得体会。[摘要]职业性质和专业化过程决定了教师应具备的职业精神。

学习

汉语的句法结构分析

阅读(56)

本文为您介绍汉语的句法结构分析,内容包括汉语句法结构和特点,汉语句法结构分析符号。摘要:回顾汉语语法研究的历史可以看出,由赵元任先生首创、熙先生完善了的汉语句法结构理论,为其后直至今日的汉语语法研究铺开了一条坚实而宽广的道路。

学习

浅析《简?爱》两种译本的翻译风格

阅读(22)

本文为您介绍浅析《简?爱》两种译本的翻译风格,内容包括简爱比较经典的译本,简爱译文评析。[摘要]本文对《简·爱》两种译本进行了对比分析,比较了翻译风格上的差异,并对英语小说的翻译目标提出了一些建议。

学习

疯狂厨房 第13期

阅读(19)

本文为您介绍疯狂厨房 第13期,内容包括疯狂厨房小说全文阅读目录,疯狂厨房2。最后她的温度完全融化在我的身体里。我忽然感觉好饿,特别特别想畅饮完这个女人后,再畅饮她煲的汤。

学习

数字电视CA系统

阅读(17)

本文为您介绍数字电视CA系统,内容包括数字电视ca系统是什么,数字电视ca卡。【摘要】传统的有线电视(CATV)与直播卫星(DBS)正逐渐告别商业广告电视的黄金时代,另外面对各种交互式业务的出现和网络运营商之间激烈的竞争,我国广播电视粗放型的经

学习

日式和风料理

阅读(16)

本文为您介绍日式和风料理,内容包括和风日式料理配方大全,孚和和风日式料理。优质关键词:丰富・视觉享受・少量多品种

学习

对参与观察法的理解

阅读(18)

本文为您介绍对参与观察法的理解,内容包括简述参与观察法的技巧,参与观察法的主要问题。【关键词】参与观察法;街角社会

学习

皮亚杰的语言习得理论及其对语言教学的启示

阅读(24)

[摘要]皮亚杰开创的日内瓦学派以发生认识论为核心,认为儿童的认知发展要经过感知运动时期、前运算时期、具体运算时期、形式运算时期四个阶段。儿童语言是儿童认知主体与客体环境通过同化和顺应达到阶段性平衡发展起来的,是认知发展到一定

学习

木浆纤维在水泥基中的应用

阅读(18)

本文为您介绍木浆纤维在水泥基中的应用,内容包括木浆纤维的分散性,木浆纤维的平均长度。【摘要】21世纪,水泥基材料仍是人类社会最广泛使用的建筑材料。但存在收缩性大,抗拉强度与抗压强度比值小,以及断裂韧性低等本质性的弱点。为了全面克

学习

施工现场临时用电的接零保护

阅读(69)

本文为您介绍施工现场临时用电的接零保护,内容包括施工现场设备临时用电保护方式,工地临时用电采用哪种接零保护。摘要:所谓接零保护是指施工现场电气设备正常情况下不带电的金属外壳和机械设备的金属构架与保护零线连接;这句话同时也言简

学习

生物玻片标本的制作技巧

阅读(19)

本文为您介绍生物玻片标本的制作技巧,内容包括生物临时玻片标本的制作,生物书上如何制作玻片标本。摘要:在生物实验教学中常用的生物玻片标本制作方法有涂片法、装片法、切片法等。本文对常用的生物玻片标本的制作技巧进行了总结,以提高生

学习

少林点穴法入门

阅读(19)

本文为您介绍少林点穴法入门,内容包括少林点穴与解穴秘方,少林点穴功教学。1.须知

学习

万王之王2 新手指南

阅读(21)

本文为您介绍万王之王2 新手指南,内容包括千王之王2合集,万王之王2免费版。目前,《万王之王2》的研发时间已经超过48个月,研发团队人员超过100人,游戏策划精英、美术大师和技术天才齐聚一堂,一同精心打造了这款经典MMORPG的续作。而作为玩家

学习

跆拳道入门(十二)

阅读(35)

本文为您介绍跆拳道入门(十二),内容包括跆拳道快速入门书籍,跆拳道入门操完整版。防守通常与反击共同应用。

学习

黑与白2 新手流程教学

阅读(23)

本文为您介绍黑与白2 新手流程教学,内容包括黑与白2有什么办法快速通关,黑与白2游戏怎么玩。该游戏上手有一定的难度,如果你不懂英文而且对于前作又无多少了解的话,想在几天内掌握基本操作都是个问题。当然,游戏是用来娱乐的,本文从告诉你如

学习

拳击入门(九)

阅读(68)

本文为您介绍拳击入门(九),内容包括拳击运动入门教程免费阅读,少儿拳击教学入门。一、拳击比赛回合

学习

养虫入门记

阅读(22)

本文为您介绍养虫入门记,内容包括养虫记录大全集,养虫记最新。昆虫爱好者有一个不可比拟的优势,如果你喜欢它,可以让它陪伴一生。从野外采虫开始,到它们产卵,从孵化到蜕变,欣赏一个生命的完全变态,如果这还不算什么的话,等昆虫死翘翘了

学习

跆拳道入门勾踢(七)

阅读(23)

本文为您介绍跆拳道入门勾踢(七),内容包括跆拳道勾踢步伐结合练习题,跆拳道竞技勾踢。勾踢是一种非常特别的腿法。其特别主要体现在它的打击轨迹,是由身体正面从内侧向外侧做水平的弧形运动。这与其它种类的腿法有很大的不同。另一特别之