版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章AlteraDE2教学开发系统1.1EDA技术基础 1.2应用于FPGA/CPLD的EDA开发流1.3AlteraDE2教学平台
EDA(ElectronicDesignAutomation)技术作为现代电子技术的核心,依赖功能强大的计算机,在相关工具软件的平台上,以硬件描述语言HDL(HardwareDescriptionLanguage)为系统逻辑描述手段完成文档设计,且自动完成逻辑编译、逻辑综合、布局布线、逻辑优化及仿真测试,直至实现既定的电子线路功能。1.1EDA技术基础进入21世纪后,随着微电子技术和计算机软件技术的迅速发展,EDA技术的发展呈现出如下特征:
●可编程逻辑器件向高密度、高速度、宽频带方面发展,向可预测延时方面发展,向低电压、低功耗方面发展。
●
EDA软件具有混合信号处理能力,高效的仿真能力,理想的逻辑综合、优化能力。
●系统描述方式越来越高效,使得复杂电子系统的设计和验证日趋简单化。不少EDA软件公司尝试采用统一的描述语言,以及使用单一高级语言直接设计电子系统。●电子系统单片化、功能复合化程度越来越高,片上系统SOC(SystemOnaChip)取代了专用集成电路系统ASIC(ApplicationSpecificIntegratedCircuit)。
●共享IP(IntellectualProperty,知识产权)核的开放式系统设计将成为新模式,库资源日趋丰富,使得系统开发周期大大缩短。
随着EDA工具软件的发展,使得设计人员只需利用软件就能完成相应电子系统的功能,从而实现硬件设计软件化。目前,常用的EDA软件主要分为电路设计与仿真工具、PCB设计软件、IC设计软件、PLD设计工具及其它EDA软件等。这些软件既可以进行电路设计与仿真,同时也可以进行PCB自动布局布线,还可以输出多种网表文件,方便与第三方软件接口。下面分别进行简单介绍。
1.电子电路设计与仿真工具
电子电路设计与仿真工具包括SPICE/PSPICE、EWB、MATLAB、SystemView等。下面简单介绍前三类软件。
(1)
SPICE(SimulationProgramwithIntegratedCircuitEmphasis)和PSPICE(Personal-
SPICE)。SPICE是由美国加州大学推出的电路分析仿真软件,是20世纪80年代世界上应用最广的电路设计软件,1998年被定为美国国家标准。1984年,美国Micro-Sim公司推出了基于SPICE的微机版PSPICE,它可以进行各种各样的电路仿真、激励建立、温度与噪声分析、模拟控制、波形输出、数据输出,并在同一窗口内同时显示模拟与数字的仿真结果。无论对哪种器件、哪些电路进行仿真,都可以得到精确的仿真结果,并可以自行建立元器件及元器件库。
(2)
EWB(ElectronicWorkBench)软件。EWB是InteractiveImageTechnologiesLtd.
在20世纪90年代初推出的电路仿真软件,现已升级并改称为Multisim。相对于其它EDA软件,EWB不仅带有丰富的电路元器件库,而且有完整的混合模拟与数字仿真的功能,可提供多种电路分析仿真方法。此外,它还采用界面直观、交互性好的图形操作方式,在桌面上提供了万用表、示波器、信号发生器、扫频仪、逻辑分析仪、数字信号发生器、逻辑转换器和电压表、电流表等仪器仪表。EWB采用了SPICE作为内核,可方便地与其它电路分析、设计和制板软件(Protel、PSPICE、OrCAD等)交换数据。
(3)
MATLAB产品族。MATLAB产品族的一大特性是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集,用来对图像信号处理、控制系统设计、神经网络等特殊应用进行分析和设计。它具有数据采集、报告生成和MATLAB语言编程产生独立C/C++代码等功能。
MATLAB产品族具有下列功能:数据分析,数值和符号计算,工程与科学绘图,控制系统设计,数字图像信号处理,财务工程,建模、仿真、原型开发,应用开发,图形用户界面设计等。MATLAB产品族被广泛地应用于信号与图像处理、控制系统设计、通信系统仿真等诸多领域。开放式的结构使MATLAB产品族很容易针对特定的需求进行扩充,从而在不断深化对问题认识的同时,提高自身的竞争力。
2.PCB设计软件
PCB(PrintedCircuitBoard)设计软件种类很多,如Protel、OrCAD、Viewlogic,PowerPCB、CadencePSD、ExpeditionPCB、ZukenCadStart,Winboard/Windraft/Ivex-SPICE、PCBStudio等。目前在我国用得最多的应属Protel,下面仅对此软件作一介绍。
ProtelDXP2004是Altium公司于2004年推出的最新版本的电路设计软件,该软件能实现从概念设计、顶层设计直到输出生产数据以及这之间的所有分析验证和设计数据的管理。当前比较流行的Protel98、Protel99SE是其前期版本。
ProtelDXP2004已不是单纯的PCB(印制电路板)设计工具,而是由多个模块组成的系统工具,分别是SCH(原理图)设计、SCH仿真、PCB设计、AutoRouter(自动布线器)和FPGA设计等,覆盖了以PCB为核心的整个物理设计。该软件将项目管理方式、原理图和PCB图的双向同步技术、多通道设计、拓扑自动布线以及电路仿真等技术结合在一起,为电路设计提供了强大的支持。
3.IC设计软件
IC设计工具很多,真正的EDA软件出现在20世纪80年代。行业巨头Cadence公司提供了IC设计所涉及的几乎所有工具。比较有名的IC设计软件公司还包括Mentor、Avanti、Synopsys和INVOEDA。Mentor和Cadence一样,是一个在设计的各个层次都有开发工具的公司,而Avanti因其模拟仿真工具HSPICE而出名,Synopsys则因为逻辑综合方面的成就而被市场认可。中国华大公司也提供ASIC设计软件:方便易用的全定制IC设计平台Aether,并行、快速、大容量、高精度的仿真工具Aeolus,高性能的物理验证工具Argus。下面按用途对IC设计软件作一些介绍。
(1)设计输入工具。这是任何一种EDA软件都必须具备的。对于自底向上(Bottom-up)的设计,一般输入为基本门电路的图形,其中典型的有Cadence的composer,Viewlogic的viewdraw,均可根据不同的厂家库而生成和输入门电路相对应的模拟网表。对于自顶向下(Top-down)的设计,往往采用硬件描述语言VHDL、VerilogHDL,几乎所有公司的设计输入工具都支持IEEE标准的HDL。
(2)设计仿真工作。使用EDA工具的一个最大好处是可以验证设计是否正确,几乎每个公司的EDA产品都有仿真工具。Cadence公司提供了Verilog-XL用于Verilog仿真,Leapfrog用于VHDL仿真;MentorGraphics的子公司ModelTech发布了ModelSim,可以同时仿真VHDL和VerilogHDL的设计。Synopsys提高了VSS软件仿真VHDL设计。Viewlogic提供了仿真器viewsim可以仿真VerilogHDL的设计。仿真工具的发展趋势是各大EDA公司都逐渐用HDL仿真器作为电路验证的工具。
(3)综合工具。综合工具可以把HDL变成门级网表。Synopsys公司在这方面占有较大的优势,它的DesignCompile软件被当作综合的工业标准,其另一款广泛使用的软件BehaviorCompiler可以提供更高级的综合功能。Cadence公司收购了据称比Synopsys的软件更有效的Ambit软件公司,其生产的软件综合速度更快,达到50万门电路的水平,为此Cadence放弃了它原来的综合软件Synergy。随着FPGA的设计规模越来越大,各EDA公司又相继开发了用于FPGA设计的综合软件,使用较广泛的有:Synopsys的FPGAExpress,Cadence的Synplity和Mentor的Leonardo,这三家的FPGA综合软件占据了市场的绝大部分。
(4)布局和布线。在IC设计的布局布线工具中,Cadence软件占了主导地位,它有很多产品用于标准单元、门阵列,可实现交互布线。最有名的是DesignFramework,它原来是用于PCB布线的,后来Cadence把它用于IC布线。其主要工具有:SiliconEnsemble——标准单元布线器;GateEnsemble——门阵列布线器;DesignPlanner——布局工具。其它各EDA软件开发公司也提供了各自的布局布线工具,但市场份额较小。
(5)物理验证工具。物理验证工具包括版图设计工具、版图验证工具、版图提取工具等,针对ASIC和FPGA可分为两大类。其中Cadence的Drecula是可以一次完成版图从DRC(设计规则检查)、ERC(电气特性检查)到LVS(寄生参数提取)的工具。DIVA作为其相对较弱的软件多提供给教学使用;Avanti的STAR-RC也是用于物理验证的强大工具。如同综合工具一样,FPGA厂商的物理验证和参数提取多采用专门的软件,并和其仿真综合工具集成在一起。广泛使用的有Altera的QuartusⅡ和Xilinx的Foundation。
4.PLD设计工具
PLD(ProgrammableLogicDevice)是一种由用户根据需要而自行构造逻辑功能的数字集成电路。它可以完全替代74系列及GAL、PLA的新型电路,只要有数字电路基础,会使用计算机,就可以进行PLD开发。PLD的在线编程能力和强大的开发软件,使工程师可以在几天,甚至几分钟内就完成以往数周才能完成的工作,并可将数百万门的复杂设计集成在一个芯片内。目前PLD主要有两大类型:CPLD和FPGA。它们的基本设计方法是借助于EDA软件,用原理图、状态机、布尔表达式、硬件描述语言等方法,生成相应的目标文件,最后通过编程器或下载电缆,由目标器件实现设计。生产PLD的厂家很多,但最有代表性的PLD厂家为Altera、Xilinx和Lattice公司。
PLD的开发工具一般由器件生产厂家提供,但随着器件规模的不断增加,软件的复杂性也随之提高,目前由专门的软件公司与器件生产厂家合作,推出功能强大的设计软件。下面介绍主要器件生产厂家和开发工具。
(1)
Altera。主要产品有:MAX3000/7000、FELX6K/10K、APEX20K、ACEX1K、Stratix等。其开发工具——MAX+PLUSⅡ是较成功的PLD开发平台,新近推出了QuartusⅡ开发软件。Altera公司提供较多形式的设计输入手段,绑定第三方VHDL综合工具,如:综合软件FPGAExpress、LeonardsSpectrum,仿真软件ModelSim。
(2)
Xilinx。主要产品有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Vertex等系列,其最大的VertexⅡPro器件的逻辑门数量已达到800万门。采用Xilinx开发的软件为Foundation和ISE。通常来说,欧洲用Xilinx较多,日本和亚太地区用Altera较多,美国则是平分秋色。全球PLD/FPGA产品中60%以上是由Altera和Xilinx提供的。可以说Altera和Xilinx共同决定了PLD技术的发展方向。
(3)
Lattice。Lattice是ISP(In-SystemProgrammability)技术的发明者,ISP技术极大地促进了PLD产品的发展,与Altera和Xilinx相比,其开发工具略逊一筹。Lattice的中小规模PLD比较有特色,大规模PLD的竞争力还不够强(Lattice没有基于查找表技术的大规模FPGA)。1999年Lattice推出了可编程模拟器件,又收购了Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商;2001年12月收购Agere公司(原Lucent微电子部)的FPGA部门。Lattice的主要产品有ispLSI2000/5000/8000和MACH4/5。
(4)
ACTEL。ACTEL是反熔丝(一次性烧写)PLD的领导者。由于反熔丝PLD抗辐射、耐高低温、功耗低、速度快,所以在军品和宇航级上有较大优势。Altera和Xilinx则一般不涉足军品和宇航级市场。
(5)
Quicklogic。Quicklogic是专业的PLD/FPGA公司,以一次性反熔丝工艺为主,在中国地区使用不多。
(6)
Lucent。Lucent的主要特点是有不少用于通信领域的专用IP核,但PLD/FPGA不是Lucent的主要业务,在中国地区使用的人很少。
(7)
ATMEL。ATMEL生产中小规模的PLD,口碑不错;其也做了一些与Altera和Xilinx兼容的芯片,但在品质上与原厂家还有一些差距,在高可靠性产品中使用较少,多用在低端产品上。
(8)
ClearLogic。ClearLogic生产与一些著名PLD/FPGA大公司兼容的芯片,这种芯片可将用户的设计一次性固化,不可编程,批量生产时的成本较低。
5.硬件描述语言
硬件描述语言是用于描述硬件电路功能、信号连接关系及时序关系的语言,相比电路图可以更有效地表示硬件电路的特性。其中最有代表性的硬件描述语言主要有以下两种:
(1)
VHDL语言。VHDL语言是超高速集成电路硬件描述语言(Very-high-speed-integrated-
circuitHardwareDescriptionLanguage,VHDL),是IEEE的一项标准设计语言。它源于美国国防部提出的超高速集成电路(VHSIC)计划,是ASIC设计和PLD设计的一种主要输入工具。
(2)
VeriolgHDL语言。VeriolgHDL语言是Verilog公司推出的硬件描述语言,在ASIC设计方面与VHDL语言平分秋色。
6.EDA设计方法
传统的EDA设计方法通常采用自底向上(Bottom-up)的方法,根据系统对硬件的要求,详细制定规格书,并绘制系统控制流图;然后根据规格书和控制流图,对系统的功能进行细化,合理地划分功能模块,并画出系统的功能框图;之后,细化各功能模块和设计电路,并调试各电路模块;最后将各功能模块的硬件电路连接起来再进行系统联调,完成整个系统的设计。随着ASIC的开发和研制,为了提高开发效率,增加已有开发成果的可继承性以及缩短开发时间,自顶向下(Top-down)的方法被提出,即从系统总体要求出发,自上向下地逐步将设计内容细化,最后完成系统硬件的整体设计。
图1-1自顶向下与自底向上的设计比较自顶向下的方法可划分为以下三个阶段:
第一阶段是行为描述,即对整个系统进行数学模型描述,试图在系统设计的初始阶段,通过对系统行为描述的仿真发现设计中存在的问题。
第二阶段是RTL(寄存器传输级)方式描述,又称数据流描述。通过将第一阶段的HDL语言程序改写为RTL方式描述的HDL程序,导出系统的逻辑表达式,为进行逻辑综合作准备。第三阶段是逻辑综合,即将RTL方式描述的HDL程序转换为基本逻辑元件表示的文件,以逻辑原理图方式输出。此后,再进行仿真,检查时延关系是否符合设计要求。若一切正常,满足设计要求,则系统设计完成;否则,应返回上一阶段修改相应的错误。
应用于FPGA/CPLD的EDA开发流程如图1-2所示。1.2应用于FPGA/CPLD的EDA开发流程
图1-2应用于FPGA/CPLD的EDA开发流程下面介绍主要开发流程。
1.设计准备和设计输入
设计准备是指设计者在进行设计之前,依据任务要求,确定系统所要完成的功能和复杂程度,考虑器件的资源和成本,选择确定器件。
设计输入是将设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程。设计输入形式包括图形输入方式、文本输入方式及文本、图形两者混合的设计输入方式。
1)图形输入方式
图形输入可分为三种:原理图输入、状态图输入及波形图输入。
原理图输入是一种最直接的设计输入方式,也是目前常用的图形输入方式。它使用软件系统提供的元器件库、各种符号和连线画出原理图,形成原理图输入文件。这种方式大多用在对系统及各部分电路很熟悉的情况。优点是容易实现仿真,便于信号的观察和电路的调整。其缺点是兼容性差,不便于交流和管理;易读性差,不便排错、整体调整,结构升级难;模块移植性差;综合器、适配器的优化空间小;直接面对硬件模块,无法进行自顶向下的设计。波形输入方式主要用于建立、编辑波形设计文件以及输入仿真向量和功能测试向量。
2)文本输入方式
此方式与传统的计算机软件语言编程输入基本一致,即采用某种硬件描述语言(HDL)进行编辑输入。HDL语言可以描述硬件电路的功能、信号连接关系及时序关系,可分为普通硬件描述语言和行为描述语言,它们用文本方式描述设计和输入。HDL输入方式克服了原理图输入存在的所有弊端,为EDA技术的应用和发展打开了一片广阔天地。
普通硬件描述语言有AHDL、CUPL等,它们支持逻辑方程、真值表、状态机等逻辑表达方式。行为描述语言是目前常用的硬件描述语言,有VHDL和VerilogHDL等,它们具有很强的逻辑描述和仿真功能,可实现与工艺无关的编程与设计,可以使设计者在系统设计阶段便确立方案的可行性。运用VHDL、VerilogHDL硬件描述语言进行设计已是当前的趋势。
3)文本、图形两者混合输入方式
该方式首先通过文本输入方式描述某个或某部分功能模块,再将文本文件转换成原理图中的一个元件符号,由此完成文本、图形两者混合输入方式。
2.功能仿真
功能仿真直接对VHDL、原理图描述或其它描述形式的逻辑功能进行测试模拟,仿真过程不涉及任何具体器件的硬件特性。在设计输入编译后,不经过设计处理等环节,直接送入门级仿真器进行模拟。功能仿真能及时确认设计文件表达的功能是否满足设计要求,及早发现设计中的问题。
3.设计处理
设计处理是EDA设计中的核心环节。在设计处理阶段,编译软件将对设计输入文件进行逻辑化简、综合和优化,并适当地用一片或多片器件自动地进行适配,最后产生编程用的编程文件。设计处理主要包括设计编译和检查、逻辑优化和综合、适配和分割、布局和布线、生成编程数据文件等过程。
1)设计编译和检查
设计输入完成之后,立即进行编译。在编译过程中首先进行语法检验,如检查原理图的信号线有无漏接,信号有无双重来源,文本输入文件中关键字有无错误等各种语法错误,并及时标出错误的位置信息报告,供设计者修改;然后进行设计规则检验,检查总的设计有无超出器件资源或规定的限制并将编译报告列出,指明违反规则和潜在不可靠电路的情况以供设计者纠正。
2)逻辑优化和综合
逻辑优化是化简所有的逻辑方程或用户自建的宏,使设计所占用的资源最少。综合的目的是将多个模块化设计文件合并为一个网表文件,并使层次设计平面化(即展平)。
3)适配和分割
先确定优化以后的逻辑能否与下载目标器件CPLD或FPGA中的宏单元和I/O单元适配,然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中。如果整个设计不能装入一片器件,则可以将整个设计自动分割成多块并装入同一系列的多片器件中。
4)布局和布线
布局和布线工作是在设计检验通过以后由软件自动完成的,它能以最优的方式对逻辑元件进行布局,并准确地实现元件间的布线互连。布局和布线以后,软件会自动生成布线报告,提供有关设计中各部分资源的使用情况等信息。
5)生成编程数据文件(JED文件)
设计处理的最后一步是产生可供器件编程使用的数据文件。对CPLD来说,是产生熔丝图文件,即JEDEC文件(电子器件工程联合会制定的标准格式,简称JED文件);对于FPGA来说,是生成位流数据文件(Bit-streamGeneration)。
4.时序仿真
时序仿真是接近真实器件运行特性的仿真,仿真文件中包含器件硬件特性参数,其仿真精度高,但仿真所需的仿真文件必须来自针对具体器件的综合器与适配器。综合后得到的EDIF等网表文件通常作为适配器的输入文件,产生的仿真网表文件中包含了精确的硬件延迟信息。
5.编程下载
将适配器生成的下载或配置文件,通过编程器或编程电缆向FPGA或CPLD下载,以便进行硬件调试和验证。
AlteraDE2教学开发板是学习数字逻辑、计算机组成及FPGA的理想平台,它采用了最新的硬件和CAD技术,可以满足学生及专业人士广泛的应用需求。该教学开发板上提供了丰富的硬件资源,如图1-3所示,开发板的核心器件是AlteraCycloneⅡ系列的EP2C35F672C6,其它重要器件都与该芯片的引脚相连,允许用户对控制板上的各种操作进行编程。1.3AlteraDE2教学平台开发板具有充足的存储资源(SRAM、SDRAM、FlashROM),配有以太网接口、SD卡插槽,不仅可以满足大学课程教学及实验的各种要求,而且还适合一些面向工程领域的高级数字系统的开发工作。
图1-3AlteraDE2教学开发板
1.功能特点
AlteraDE2板具有以下硬件资源:
(1)
AlteraCycloneⅡ系列的EP2C35F672C6。
(2)配置器件EPCS16。
(3)
USB-Blaster(用于编程和API控制(接口芯片FT245B),支持JTAG和主动串行(ActiveSerial,AS)模式)。
(4)
512
KBSRAM。
(5)
8
MBSDRAM。
(6)
4
MBFlashROM。
(7)
SD卡插槽。
(8)
2×16字符的LCD模块。
(9)
4个按钮开关(KEY0~KEY3)。
(10)
18个拨挡开关(SW0~SW17)。
(11)
18个红色LED(LEDR0~LEDR17)。
(12)
9个绿色LED(LEDG0~LDEG8)。
(13)
50
MHz晶振和27
MHz晶振时钟源,也可由J5接入外部时钟。
(14)支持输入、输出和麦克风插口的24位CD音质语音编解码器WM8371。
(15)带VGA接口的VGADA转换器ADV7123。
(16)支持NTSC/PAL制式的TV解码器ADV7181B及其接口。
(17)支持10/100
M(B)以太网控制器DM9000AE及其接口。
(18)
具有A型和B型接口的USB主/从控制器ISP1362。
(19)
RS-232收发器MAX232及9针接口。
(20)
PS/2鼠标和键盘接口。
(21)红外收发模块。
(22)
2列40针扩展插槽,带稳压保护。
2.板上资源及硬件布局
AlteraDE2教学开发板上的资源及硬件布局如图1-4所示。
图1-4AlteraDE2教学开发板资源及硬件布局
1)
EP2C35F672C6
EP2C35F672C6是Altera公司推出的Cyclone
Ⅱ系列产品之一,采用90
nm、低K值电介质工艺,通过硅片面积最小化,可在单芯片内支持复杂的数字系统。目前,Altera公
司已推出Cyclone
ⅢFPGA系列。该系列FPGA包括Cyclone
Ⅲ和Cyclone
ⅢLS,其中Cyclone
Ⅲ
属于功耗最低、成本最低的高性能FPGA,CycloneⅢLS则是具有安全特性高、功耗最低的FPGA。Cyclone
ⅢFPGA系列前所未有地实现了低功耗、高性能和低成本,为大批量、低功耗、低成本应用(诸如汽车、消费类、显示、工业、视频和图像处理、无线通信等)提供了理想的解决方案。
EP2C35F672C6具有33216个逻辑单元(LE)、105个M4KRAM块、35个18
×
18位乘法器、4个PLL等结构。其中每个M4KRAM块包含4K位的数据及512位的校验数据,总比特数达到483840位。
为满足与外部存储器进行高速可靠的数据传输,EP2C35F672C6配置了优化的I/O管脚,每套管脚包括一个单一数据选通(DQS)和相关数据(DQ)管脚。芯片内部的4个PLL提供了时钟合成功能,允许内部工作时钟与输入时钟频率不同,从而实现多个时钟域。通过DE2板上的USB-Blaster电路,可以实现对EP2C35F672C6的调试和编程,即JTAG调试和主动串行(AS)编程。为保证器件掉电后配置信息能够保存,EP2C35F672C6需要采用专用配置器件。DE2平台上的主动串行配置器件为EPCS16,其存储容量为16
M位。由于CycloneⅡ系列产品具有数据压缩功能,因此配置的最大数据量可超过配置器件本身的容量。
2)存储器资源
DE2平台上包含1片8
MB的SDRAM、1片512
KB的SRAM和1片4
MB的FlashROM。除此之外,还具有SD卡接口,支持SPI模式的SD卡数据传输。两个40引脚的插座JP1、JP2可配置成IDE接口使用,进一步拓展了存储资源。
3)按键、波段开关、LED、七段数码管
DE2平台上包含:具有防抖动功能的4个按键;用于设定电平状态的18个波段开关;18个红色LED、9个绿色LED及8个七段数码管。
4)音频编/解码器WM8731
DE2平台上包含音频编/解码器WM8731,该芯片是Wolfson公司的立体声24位
-
音频编/解码芯片,其采样速率为8~96
kHz,提供2线与3线两种与主控制器相连的方式,支持4种音频数据模式:I2S模式、左对齐模式、右对齐模式和DSP模式,数据位可以是16或32位。WM8731包含三个接口:LineIn、LineOut和MICIn,两路线路输入RLINEIN和LLINEIN可以进行对数音量调节、静音控制,完成AD转换后,还可进行高通滤波处理。耳机的放大增益可在+6~-73
dB范围内以1
dB步距调整。
5)高速视频模数转换器ADV7123
ADV7123是一个三路10位输入的高速视频DAC,具有330
MHz的最大采样速度,与多种高精度的显示系统兼容,包括RS-343A和RS-170,可以广泛应用于如HDTV、数字视频系统(1600
×
1200@100
Hz)、高分辨率的彩色图片图像处理、视频信号再现等领域。ADV7123的输出电流范围为2~26
mA,TTL兼容输入,单电源工作电压为+5
V/3.3
V,工作在3.3
V时的最小功耗为30
mW。
6)多模式标清电视解码器ADV7181
ADV7181是一款标准模拟基带电视信号解码芯片,支持NTSC、PAL和SECAM视频制式,输出信号为4∶2∶2复合视频信号,兼容16/8位CCIR601/CCIR656格式,支持多种模拟输入格式和多种数字输出格式,广泛应用于广播、安防监控等专业视频领域。
7)以太网控制器DM9000A
DM9000A是DAVICOM公司出品的一款低功耗、高速网络控制器,具有通用处理器接口、一个10/100
M(B)PHY及4
KB的SRAM。DM9000A与IEEE802.3u标准完全兼容,同时也支持全双工传输模式。8位与16位两种数据接口模式的引脚定义不同,但在DE2平台上均使用DM9000A的16位数据模式,采用48管脚QFP封装。
8)
USB主从控制器
DE2平台采用PHILIPS的ISP1362单片USB控制器实现USB主从接口。ISP1362集成了一个OTG(On-The-Go)控制器、一个高级主控制器(PSHC)和ISP1181的外设控制器。ISP1362OTG完全兼容USB
2.0及OTGSupplement1.0协议,主机和设备控制器兼容USB
2.0协议,并支持12
Mb/s的全速传输和1.5
Mb/s的低速传输。ISP1362支持内置电源供电及外部电源供电两种模式,分别对应低功耗应用和较高功耗应用需求。
9)
RS-232IRDA收发模块
(1)包括一个115.2kb/s的红外收发器。
(2)支持32mA的LED驱动电流。
(3)集成EMI抗扰能力。
(4)符合IEC825-1级1EyeSafe。
(5)具有边沿检测输入。
3.DE2应用平台安装及使用说明
如果是第一次使用DE2教学开发板,则电源接通之后,电脑会弹出对话框要求安装下载驱动程序,可按下列步骤操作:
(1)在弹出的“找到新的硬件向导”对话框中选择“否,暂时不”,点击“下一步”按钮。
(2)在图1-5所示的对话框中选择“从列表或指定位置安装(高级)”,点击“下一步”按钮。
图1-5发现硬件向导之一
(3)在图1-6所示的对话框中选择“在这些位置上搜索最佳驱动程序”和“在搜索中包括这个位置”,点击“浏览”按钮。
(4)在弹出的对话框(见图1-7)中选择驱动程序的位置,假设Quartus安装在C盘根目录下,则驱动程序的位置在“..\quartus\drivers\usb-blaster\x32”,然后点击“确定”按钮。
(5)回到图1-8所示的对话框,点击“下一步”按钮。
(6)系统开始寻找并安装驱动程序(见图1-9),如果弹出图1-10所示的对话框,则点击“仍然继续”按钮即可。
图1-6发现硬件向导之二
图1-7浏览文件夹
图1-8找到新的硬件向导之一
图1-9找到新的硬件向导之二
图1-10硬件安装
(7)出现图1-11所示的对话框时,表示硬件安装完成,点击“完成”按钮即可。
至此,DE2教学开发板安装完毕,可以开始编程使用了。如果使用QuartusⅡ对FPGA直接编程,则将切换开关(RUN/PROGSwitch)拨至RUN端即可。如果需将程序烧至EPCS中,则将开关拨至PROG端。在烧写完毕后,必须将开关拨至RUN端,当下次上电时,EPCS中的程序会自动下载到FPGA中并运行。
图1-11硬件安装完成第2章QuartusⅡ9.0软件使用指南2.1图形界面设计流程 2.2仿真设计流程 2.3宏功能模块的调用
QuartusⅡ设计软件是Altera公司的CPLD/FPGA开发工具,它提供了完全集成且与电路结构无关的多平台设计开发环境,具有数字逻辑设计的全部特性。QuartusⅡ软件可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述;内嵌功能强大的逻辑综合工具,也可利用第三方的综合工具(如Synplify)进行逻辑综合;内嵌完备的电路功能仿真与时序逻辑仿真工具,也可利用第三方的仿真工具(如Modelsim)进行仿真。此外,QuartusⅡ软件还能与MATLAB结合,利用DSPBuilder工具开展各种算法开发。使用QuartusⅡ软件内嵌的SOPCBuilder,配合NIOSⅡIDE开发环境,可开发基于NIOSⅡ的嵌入式系统。
QuartusⅡ软件包含CPLD/FPGA开发所有阶段的解决方案,具体设计流程如图2-1所示。
图2-1QuartusⅡ软件设计流程
(1)
MegaWizard插件管理器(MegaWizardPlug-InManager)用于建立或修改含有自定义宏功能模块变量的设计文件,以及在设计文件中进行例化。
(2)
QuartusⅡ的块编辑器(BlockEditor)用于以原理图和符号框图的形式输入和编辑图形设计信息,生成后缀名为
.bdf的文件。另外,使用MAX+PLUSⅡGraphicEditor建立的原理图设计文件(
.gdf)也能被块编辑器读取并转换为
.bdf文件。块编辑器将每个框图、原理图或符号代表的设计逻辑合并到工程中。利用MegaWizard插件管理器,块编辑器可对Altera提供的宏功能模块进行例化,建立或修改包含宏功能模块自定义变量的设计文件,以及从
.bdf文件中建立Verilog文件、VHDL文件及符号文件(
.bsf)。
(3)
QuartusⅡ的符号编辑器(SymbolEditor)用于查看和编辑代表宏功能、宏功能模块、基本单元或设计的预定义文件。
(4)
QuartusⅡ的文本编辑器(TextEditor)用于以AHDL、VHDL和VerilogHDL语言以及TCL脚本语言输入文本型设计,查看、编辑ASCII文本文件。
(5)
QuartusⅡ的分配编辑器(AssignmentEditor)用于在QuartusⅡ软件中建立、编辑节点和实体级别的分配,为逻辑指定各种选项和设置,包括位置、时序、逻辑选项、参数、仿真和引脚分配。用户采用QuartusⅡ9.0设计环境,可以完成AlteraCPLD、FPGA和HardCopyASIC全系列产品的开发,并支持Altera新近发布的StratixⅣGT和ArriaⅡGXFPGA。与以前的软件版本相比,QuartusⅡ9.1将编译时间缩短了20%,即使在高密度65
nm和40
nm
设计上,编译时间仍然比最相近的竞争软件快2~3倍。该软件的新特性是快速重新编译,对于较小的设计改动,这一特性也大大缩短了编译时间,而且还支持Altera最新发布的Cyclone
ⅣFPGA。
QuartusⅡ9.1对于高端FPGA,实现了业界最快的编译时间,过去5年中,编译时间平均每年缩短20%。最新版软件编译时间上的优势来自于更高效的布局布线算法、更好的多处理器支持以及更快的时序驱动综合等。快速重新编译特性使QuartusⅡ软件能够进一步缩短设计编译时间。运行全编译之后,进行小的工程变更(ECO)设计修改时,快速重新编译特性大大提高了设计人员的效率,与再次运行设计全编译相比,编译时间平均缩短了50%。在时序逼近过程中,快速重新编译保留了上次设计改动期间的关键时序,明显提高了设计效率。
QuartusⅡ9.1支持三种最小的Cyclone
ⅣGX器件,QuartusⅡ9.1SP1将支持其它的Cyclone
Ⅳ器件。这一版本的QuartusⅡ软件还支持StratixⅣEP4SE820——业界密度最高的820
K逻辑单元(LE)FPGA。QuartusⅡ9.1为Altera最新FPGA系列提供支持,使客户能够马上迅速开始最新的Cyclone和StratixFPGA设计。
QuartusⅡ9.1的其它特性还包括:
(1)渐进式编译非矩形分区——非矩形区域使用户能够建立更紧凑、更高效的平面布局,更容易实现高质量标准。这一新特性为用户提供了更简单方便的界面,能在设计划分过程中进行精确控制。
(2)增强SSN分析器工具——这一工具增加了对ArriaⅡGXFPGA和Stratix
ⅣGXFPGA的支持,在引脚分配期间,及时反馈可能出现的同时开关噪声(SSN)违规问题。
(3)新的扩展IP基本包——三个新存储器控制器支持RLDRAM
Ⅱ、QDRⅡ-/Ⅱ+和DDR1/2/3,该基本包增加到14个知识产权(IP)内核。
(4)初步支持VHDL2008——QuartusⅡ软件提供更灵活的语言结构,使用户能够开发可重用的代码结构,继续保持了该软件在语言支持上的领先优势。
(5)NiosⅡ处理器——现在提供的“e”型NiosⅡ软核处理器不再需要许可费用。这一版本还标志着NiosⅡ软件开发工具开始支持Eclipse,提高了软件开发效率。
(6)扩展OS支持——现在可以支持LinuxSUSE10。本章主要介绍QuartusⅡ的基本特性,以及如何使用QuartusⅡ平台设计和实现电路。具体过程包括如下:
●创建一个项目(project)。
●用VerilogHDL代码设计输入。
●综合。
●适配。
●分配管脚。
●仿真。
●编程与下载。
QuartusⅡ软件具有多种设计输入方式,其中原理图输入方式是最常用的方式之一。本节以一个具体设计为实例(使用V9.0版本软件),说明设计流程。设计输入分为四个阶段:建立工程项目、设计输入、分配管脚和编程下载。
1.建立工程项目
(1)启动QuartusⅡ,选择File->NewProjectWizard,弹出窗口(见图2-2)。2.1图形界面设计流程
图2-2新建项目向导
(2)点击“Next”按钮后,在图2-3所示对话框中输入项目路径和项目名,接着点击“Next”按钮,出现图2-4所示对话框,提示输入的项目文件夹不存在,是否要创建,点击“是”按钮。
(3)新建项目向导里可以添加已存在的文件,假如此时这个项目没有包含已存在的文件,则在图2-5所示的对话框中点击“Next”按钮。
(4)我们需要指定实现电路的目标器件,在图2-6所示的对话框中“Devicefamily”的“Family”中选择“CycloneⅡ”,在“Availabledevice”中选择“EP2C35F672C6”(DE2上使用的型号),这里根据不同的目标芯片型号进行选择,然后点击“Next”按钮。
图2-3输入项目路径和项目名
图2-4确认项目路径
图2-5添加已存在的项目文件
图2-6选定目标芯片
(5)在图2-7中,我们可以指定第三方的开发工具,由于本书只涉及到QuartusⅡ,未用其它工具,所以直接点击“Next”按钮。(这个部分在以后使用modelsim(一款不错的仿真软件)仿真时会使用到,本教程不涉及modelsim的使用,有兴趣的同学可自行学习。)
(6)此时出现一份摘要,如图2-8所示,点击“Finish”按钮,返回QuartusⅡ的主界面。
图2-7指定第三方工具
图2-8项目摘要
2.设计输入
以原理图输入为例,QuartusⅡ支持如下六种设计输入法文件:
●
AHDLFile,是AHDL文本文件。
●
BlockDiagram/SchematicFile,是流程图和原理图文件,简称原理图文件。
●
EDIFFile,是网表文件。
●
SOPCBuilderSystem,是可编程片上系统的编辑系统。
●
VerilogHDLFile,是VerilogHDL文本文件。
●
VHDLFile,是VHDL文本文件。
(1)选择File->New建立文件,弹出图2-9所示的对话框,选择“BlockDiagram/SchematicFile”,再点击“OK”按钮。
(2)选择File->Saveas保存文件,同时选中“Addfiletocurrentproject”,如图2-10所示。
(3)导入逻辑门电路符号。用鼠标双击图形编辑器窗口的空白处或单击左侧工具条中的“门电路”图标,由此进入到“库”中选择所需元件,即可对元件进行复制、粘贴等操作,如图2-11所示。
(4)导入输入/输出符号。与第(4)步类似,选择and2元件,编辑管脚属性,并放置在原理图中,如图2-12~图2-14所示。
图2-9QuartusⅡ新建文件对话框
图2-10将文件添加到工程中
图2-11弹出Symbol对话框
图2-12选择and2元件
图2-13放置元件后
图2-14管脚属性编辑对话框
(5)用线连接节点。点击直角连线工具图标,然后将鼠标置于元件边沿,按下鼠标左键保持不变,拖放连线至另一元件的端点上。
(6)编译电路。使用processing->startcompilation菜单或单击相应图标运行编译器。若编译成功通过,则出现compilationreport窗口;若编译过程出现错误,则编译自动中止,并在消息框中显示错误信息。可以在信息栏双击错误提示,光标会回到错误处,修正、重新编译即可。
3.分配管脚
在DE2平台上,FPGA与外部的连线是确定的,要让电路能在DE2上运行,必须为设计分配管脚,具体可采用以下两种方法。
方法1:选择菜单命令Assignments->AssignmentEditor,在“Category”栏中选择“Pin”,双击“To”选择管脚,双击“Location”选择配置,如图2-15所示;然后保存:File->Save。具体连线的配置可参见“DE2_pin_assignments.csv”文件或见附录表A.1。
图2-15管脚分配方法2:文件配置QuartusⅡ支持导入和导出管脚分配文件,可以记事本等文本编辑器编辑图2-16所示的内容,并保存为扩展名为
.csv的文件。选择菜单命令Assignments->ImportAssignments在
.qsf文件中导入引脚配置。为方便使用,节点名最好改成“DE2_pin_assignments.csv”文件中定义的方式。
图2-16导入
.csv文档
4.编程下载
使用QuartusⅡ软件成功编译工程之后,就可以对Altera器件进行编程或配置,进而进行硬件测试。QuartusⅡCompiler的Assembler模块生成POF和SOF编程文件,QuartusⅡProgrammer可以用编程文件与Altera编程硬件一起对器件进行编程或配置,还可以使用QuartusⅡProgrammer的独立版本对器件进行编程配置。
所使用的Altera编程硬件接口可以是MasterBlaster、ByteBlasterMV、ByteBlasterⅡ,也可以是USB-Blaster下载电缆或Altera编程单元(APU)。国内许多开发板和实验箱使用ByteBlasterMV或ByteBlasterⅡ下载电缆。
QuartasⅡProgrammer支持四种编程模式:被动串行模式(PSMode)、JTAG模式、主动串行模式(ASMode)和插座内编程模式(In-Socket)。被动串行模式和JTAG模式使用Altera编程硬件对单个或多个器件进行编程。主动串行模式使用Altera编程硬件对单个EPCS1或EPCS4串行配置器件进行编程。插座内编程模式使用Altera编程硬件对单个CPLD或配置器件进行编程。
由于DE2平台上内嵌了USB-Blaster下载组件,因此可通过一条USB连线与PC机相连配置FPGA。本设计中采用JTAG模式进行编程,即将DE2板上的SW19置于RUN位置。具体步骤如下:
(1)选择菜单命令Tools->Programmer打开编程窗口,如图2-17所示。
(2)若没有显示硬件,则单击“HardwareSetup...”按钮,打开硬件设置窗口,如图2-18所示。
(3)双击“USB-Blaster”,然后单击“Close”按钮,即可完成硬件设置,如图2-19所示。
(4)添加下载文件。一般QuartusⅡ会自动搜索到编程文件。若没有,可点击图2-17左边所示的“AddFile”按钮来添加下载文件,同时选中“Program/Configure”。
(5)单击“Start”按钮,开始编程。编程结束后,可按设计方案在硬件上运行。
图2-17编程窗口
图2-18硬件设置窗口
图2-19选择下载电缆窗口
根据所需的信息类型,QuartusⅡ中集成的Simulator仿真工具可以对设计进行功能仿真以测试设计的逻辑功能,也可以进行时序仿真。使用QuartusⅡ软件既可以仿真整个设计,也可以仿真设计的任何部分。2.2仿真设计流程在仿真前,必须建立一个向量源文件作为仿真输入向量的源。Simulator使用向量源文件所包含的输入向量来仿真同一条件下编程器件将要产生的输出信号。在功能仿真前,要通过GenerateFunctionalSimulationNetlist命令生成功能仿真网表。时序仿真前,则要先做布局布线及时序分析。
本节以VerilogHDL语言实现一个二路输入控制灯开关电路,并通过此例来说明仿真操作,如图2-20所示,x1、x2为两个开关,f为电路输出。
图2-20原理图和功能表具体步骤如下:
(1)选择菜单命令File->New,出现图2-21所示的对话框,选择“VerilogHDLFile”,点击“OK”按钮。
(2)选择菜单命令File->Saveas,如图2-22所示,文件命名为“light”,文件类型为“VerilogHDLFile”,点击“保存”按钮。在文本编辑器里输入图2-23所示的代码,然后保存。
在编写好代码之后,单击选中将作为顶层文件的代码文件,设置为顶层文件,如图2-24所示。如果工程中包含多个模块,则一定要指定顶层文件,这样Quartus才会按顶层文件所包含的模块进行编译。
图2-21选择文件类型
图2-22输入文件名和保存路径
图2-23二选一多选器代码
图2-24设置顶层文件
(3)选择菜单命令Processing->StartCompilation或者单击
开始编译,编译完成后会有提示。若编译成功,会看到图2-25所示的编译报告,在“Analysis&SynthesisEquntions”窗口中可以看到f
=
OUTPUT(A1L2)和A1L2=x1$x2,这里$表示异或。
图2-25综合生成的功能表达式
(4)我们用到两个拨动开关SW0和SW1提供外部输入,对应的FPGA管脚是N25和N26。输出到LEDG0,对应的FPGA管脚是AE22。(在这里要根据DE2的引脚分布表进行管脚分配。)
(5)在仿真之前,需要创建测试用的波形文件。选择菜单命令File->New,在图2-26所示的对话框中选择“VectorWaveformFile”,点击“OK”按钮。
图2-26选择文件类型
(6)波形文件编辑器如图2-27所示。保存文件为light.vwf,选择菜单命令Edit->Endtime,将仿真时间设置为200
ns。选择菜单命令View->FitinWindow调节窗口显示的效果,如图2-28所示。选择菜单命令Edit->InsertNodesorBus设置仿真时间,打开图2-29所示的窗口,单击“NodeFinder”,添加电路仿真需要的节点。在图2-30所示的窗口中,“Filter”选择“Pins:all”,单击“List”按钮,列出输入、输出节点,单击“>>”进行选择,再点击“OK”按钮。在图2-31所示对话框内设定x1、x2的值,然后保存。
图2-27波形编辑器
图2-28调节窗口显示
图2-29添加节点
图2-30选择节点
图2-31设置输入变量的值
(7)功能仿真。选择菜单命令Assignments->Settings打开图2-32所示的对话框,仿真模式选择“Functional”,点击“OK”按钮。仿真之前,需要产生功能仿真连线表,可通过菜单命令Processing->GenerateFunctionalSimulationNetlist来完成。选择菜单命令Processing->StartSimulation开始仿真,仿真结果如图2-33所示。从仿真结果可看出,输出符合f
=
x1$x2。
图2-32选择仿真类型
图2-33功能仿真结果
(8)时序仿真。当通过功能仿真确认设计的电路功能正确之后,开始时序仿真。在图2-32中仿真模式选择Timing,然后开始仿真,结果如图2-34所示。可以看到仿真结果约有6
ns的延迟。
图2-34时序仿真的结果
宏功能模块是复杂的高级构建模块,Altera提供的可参数化宏功能模块(LibraryofParameterizedModules,LPM)及LPM函数均针对Altera器件的结构做了优化设计。LPM模块可以在QuartusⅡ设计文件中与逻辑门和触发器等基本单元一起使用,而当使用某些Altera专用器件的功能时,例如,存储器、DSP块、LVDS驱动器、PLL及DDIO电路等,必须使用宏功能模块。2.3宏功能模块的调用宏功能模块是以图形符号或硬件描述语言模块形式构成的,设计者可以根据实际电路的设计需要,选择LPM库中的适当模块,并为其设定适当的参数,就能满足自己的设计需要,从而使得电子设计的效率和可靠性得到很大的提高。宏功能模块内容丰富,每一模块的功能、参数含义、使用方法、硬件描述语言、模块参数设置及调用方法都可以在QuartusⅡ中的Help中查阅到,方法是选择“Help”菜单中的“Megafunctions/LPM”命令。
Altera提供了AlteraMegafunctionPartnersProgram(AMPP)和MegaCore宏功能模块,其中的函数经严格的测试和优化,可以在Altera特定器件结构中发挥出最佳性能,使用这些知识产权的参数化模块将减少设计和测试的时间。MegaCore和AMPP宏功能模块包括应用于通信、数字信号处理(DSP)、PCI和其它总线界面,以及存储器控制器中的宏功能模块。表2-1是Altera提供的宏功能模块与LPM函数。
表2-1宏功能模块与LPM函数在QuartusⅡ中,Altera推荐使用MegaWizardPlug-InManager对宏功能模块进行例化以及建立自定义宏功能模块变量。此向导将提供一个供自定义和参数化宏功能模块使用的图形界面,并确保正确设置所有宏功能模块的参数。
MegaWizardPlug-InManager可以帮助用户建立或修改包含自定义宏功能模块变量的设计文件,然后可以在顶层设计文件中对这些文件进行例化。这些自定义宏功能模块变量针对Altera提供的宏功能模块,包括LPM、MegaCore和AMPP函数。MegaWizardPlug-InManager运行一个向导,帮助用户轻松地为自定义宏功能模块变量指定选项。该向导用于为参数和可选端口设置数值。也可以从Tools菜单或从原理图设计文件中打开MegaWizardPlug-InManager,还可以将它作为独立实用程序来运行。以下列出了MegaWizardPlug-InManager为每个自定义宏功能模块变量而自动生成的文件。
●<输出文件>.bsf:BlockEditor中使用的宏功能模块的符号(元件)。
●<输出文件>.cmp:组件申明文件。
●<输出文件>.inc:宏功能模块包装文件中模块的AHDL包含文件。
●<输出文件>.tdf:要在AHDL设计中实例化的宏功能模块包装文件。
●<输出文件>.vhd:要在VHDL设计中实例化的宏功能模块包装文件。
●<输出文件>.v:要在VerilogHDL设计中实例化的宏功能模块包装文件。
●<输出文件>_bb.v:VerilogHDL设计所用宏功能模块包装文件中模块的空体或black-box申明,用于在使用EDA综合工具时指定端口方向。●<输出文件>_inst.tdf:宏功能模块包装文件中子设计的AHDL例化示例。
●<输出文件>_inst.vhd:宏功能模块包装文件中实体的VHDL例化示例。
●<输出文件>_inst.v:宏功能模块包装文件中模块的VerilogHDL例化示例。
在QuartusⅡ中宏功能模块的使用步骤如下:
(1)在Tools菜单中选择MegaWizardPlug-InManager,也可以通过图2-11所示的对话框打开MegaWizardPlug-InManager初始对话框,产生如图2-35所示的界面,选择“Createanewcustom…”项(如果要修改一个已编辑好的LPM模块,则选择“Editanexistingcustom…”项),即可定制一个新的模块。单击“Next”按钮后,产生如图2-36所示的对话框,在左栏选择相应的宏功能模块,再选择器件和语言编程方式,最后输入文件存放的路径和文件名。
图2-35定制新的宏功能块
图2-36LPM宏功能块设定
(2)按照向导的提示逐步完成设置,生成宏功能模块的符号。
(3)在图2-11所示的Symbol对话框中选择上述定制的宏功能模块,并加入到自己的设计中。第3章数字逻辑基础实验3.18位全加器设计 3.2七段译码器设计 3.3数值转换和BCD码显示设计 3.48位十进制频率计设计 3.5三人抢答器设计 3.6秒表设计 3.7序列检测器设计3.8数字频率计设计 3.9简单微处理器的设计与实现
1.实验目的
(1)熟悉QuartusⅡ软件的使用。
(2)掌握利用QuartusⅡ原理图的输入方法设计简单组合电路的流程。
(3)掌握层次化设计的方法。3.18位全加器设计
2.实验设备
硬件:PC机、AlteraDE2教学开发板。
软件:QuartusⅡ软件。
3.实验原理
1)方案一
一个8位全加器可以由8个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出与相邻的高位加法器的最低进位输入信号相接,如图3-1所示。该方案电路结构简单,连接方便,但每一位的加法运算只能等低位进位信号产生后才能进行,延时较长,且运算速度不高。
图3-1方案一
2)方案二
由于串行进位加法器延时较长,尤其当加法器位数较宽时,而并行进位加法器设有并行进位产生逻辑,因此其运算速度快。可通过超前进位并行加法器来构成集成电路。例如,用两个4位加法器74LS283实现一个8位加法器,其框图如图3-2所示。图3-2方案二
4.实验内容
(1)采用方案一,完成一位半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真以及下载到DE2上运行,并将电路设置成一个硬件符号。利用一位全加器构成8位全加器,并完成原理图输入、编译、综合、适配、仿真以及下载到DE2上运行。
(2)采用方案二,完成8位全加器的设计。比较两种方案的优劣。
(3)按照规范格式,编写实验报告,并给出各层次原理图及其相应仿真波形,以及加法器的时序分析情况。
(4)编写实验报告,总结实验步骤、实验结果及心得体会。
1.实验目的
(1)掌握七段译码器的工作原理。
(2)学会使用硬件描述语言进行数字系统设计。
(3)学会运用波形仿真测试检验程序的正确性。3.2七段译码器设计
2.实验设备
硬件:PC机、AlteraDE2教学开发板。
软件:QuartusⅡ软件。
3.实验原理
(1)根据译码器真值表(见表3-1)写出源程序。(注:译码器真值表为其阴极数码管输出。)
表3-1译码器真值表
(2)按照图3-3所示的译码器逻辑图进行连线。其中A、B、C、D接拨号开关,a、b、c、d、e、f、g接数码显示板接口,管脚映射均为I/O口,映射后,通过拨号开关改变输入二进制码,则输出数码管上显示相应的数值。
(3)数码扫描原理。数码显示板上一共有8个数码管,如果按照传统的数码管驱动方式,则需要8个七段译码器进行驱动,这样既浪费资源,又使电路工作不可靠。所以现在最常见的数码管驱动电路为动态扫描显示,这样可以节省资源,只需一个译码器就可以实现电路正常、可靠的工作,因此,传统的一个译码器驱动一个数码管的电路模式已经不再使用。数码扫描显示的工作原理如下:
图3-3七段译码器及数码管
8个数码管在同一时间进行显示,可用两种不同的方式获得:第一就是传统的方式;第二即利用人眼的视觉暂留效应,把8个数码管按一定顺序(从左至右或从右至左)进行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个地点亮。然而,当点亮频率足够大时,我们看到的是全部同时显示(点亮),与传统方式得到的结果完全一样。因此我们只要给数码管这样一个扫描频率,就可以实现8个(或更多)数码管同时点亮。这个频率可以通过一个计数器来产生,只要计数频率足够大,就可以实现我们的要求。同时,动态数码扫描显示的硬件电路设计要求:对共阳数码管,将其公共端阳极接三八译码器的输出,三八译码器的输入为位选信号输入;将8个(或更多)数码管的相同段接在一起,然后引出。
4.实验内容
(1)查阅资料,描述七段译码器的工作原理。
(2)用VerilogHDL语言编写出七段译码器的源程序,并编译通过。
(3)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国淋巴瘤诊疗指南总结2026
- 2025-2030中国四氯化铪行业投资商机及未来前景竞争力剖析报告
- (2026.04.18)在X镇第二季度安全生产工作专题会议上的讲话
- 主题教育实践活动总结-1
- 七年级数学上册的教学计划5篇
- 厂房通信综合布线方案设计详解
- 厂区食堂承包合同
- 2026年贵州遵义市中考历史真题试题(含答案)
- 2025年广西壮族自治区南宁市初二地生会考试题题库(答案+解析)
- 2025年云南省玉溪市初二地生会考考试题库(附含答案)
- 2026年采血点工作人员招聘试题及答案
- 2026中国人民财产保险股份有限公司中宁支公司招聘8人农业笔试参考题库及答案解析
- 2026年注册安全工程师(初级)安全生产法律法规单套试卷
- 乌鲁木齐地区房屋建筑与市政工程施工图文件审查常见问题汇编2025版(勘察专业)
- 青海青江实业集团有限公司招聘笔试题库2026
- 2026对外经济贸易大学事业编专职辅导员、其他专技人员招聘备考题库答案详解
- 2026贵州黔晟投资有限公司第一批社会招聘8人备考题库附答案详解(完整版)
- OpenClaw专题学习培训
- 《管道用哈夫节施工作业技术规程》
- 2026年高处作业吊篮试题及答案
- 2025-2030斐济能源行业市场发展趋势分析竞争格局评估规划报告
评论
0/150
提交评论