ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.67MB ,
资源ID:8847819      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8847819.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验01加法器.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验01加法器.docx

1、实验01加法器实验一 加法器一. 实验目的1. 掌握Quartus的原理图输入设计方法2. 学会使用Quartus进行编译、仿真、锁定管脚、下载3. 掌握多位全加器的设计方法4. 熟悉实验板的部分电路二. 预备知识利用EDA工具进行原理图输入设计的优点是,设计者能利用原有的电路知识迅速入门,完成较大规模的电路系统设计,而不必具备许多诸如编程技术、硬件语言等新知识,而且直观,根据数字电路的知识即可完成。Quartus提供了功能强大,直观便捷和操作灵活的原理图输入设计功能,同时还配备了适用于各种需要的元件库,其中包含基本逻辑元件库(如与非门、反向器、D触发器等)、宏功能元件(包含了几乎所有74系列

2、的器件),以及功能强大,性能良好的类似于IP Core的兆功能块LPM库。但更为重要的是,Quartus还提供了原理图输入多层次设计功能,使得用户能设计更大规模的电路系统,以及使用方便精度良好的时序仿真器。三. 实验步骤设计思路1位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计。设输入信号为A,B,so为半加和,co为进位。根据数字电路的知识,我们可以列出半加器的真值表,如表1-1所示。表1-1 半加器真值表输入输出ABSoCo0000011010101101根据真值表,我们可以得出输出和输入之间的关系,如式1-1所示。 (1-1)根据上式我们得出,so为两个输入信号的

3、异或(xor门),co为两个信号的与(and门)。步骤1:为本项设计建立文件夹任何一项设计都是一项工程(Project),QuartusII以工程方式对设计过程进行管理,工程中存放创建FPGA配置文件需要的所有设置和设计文件。设计前一般首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般不同的设计项目最好放在不同的文件夹中。为了区分方便起见,每个同学在E盘建立一个以自己英文名字的一级文件夹,一级文件夹下建立二级文件夹,二级文件夹的名字为shiyan_1,第二个实验的二级文件夹为shiyan_2,在E盘中,设路径为:e:MY

4、NAMEshiyan_1。MYNAME为自己的英文名字。注意:QuartusII为英文软件,不支持全角字符,故文件夹不能用中文(包括放在“桌面”文件夹下),也不能带空格。不要将文件夹设在计算机已有的安装目录下,更不要将工程文件直接放在安装目录下。步骤2:建立设计工程1、点击桌面的QuartusII的快捷方式图标,或在Windows桌面选择“开始”“程序”“Altera”Quartus II 8.0Quartus II 8.0 (32-Bit),打开Quartus8.0软件。如果第一次使用QuartusII软件,需要安装License安装QuartusII软件License。(第一次使用)软件界

5、面如图1-1所示。?执行菜单 File(文件)New Project Wizard(新建工程向导),如图1-1所示。图1-1 新建工程菜单2、弹出如图1-2所示的新建工程向导介绍界面,介绍了新建工程所包含的步骤,可以勾选“Dont show me this introduction again”使以后每次新建工程时不再出现该介绍界面。图1-2 新建工程向导介绍界面3、点击“Next ”按钮。弹出如图1-3所示的新建工程向导步骤一对话框。图1-3 新建工程向导步骤一对话框其中第一项为新建工程的目录,点击右面的“”按钮,弹出图1-4的选择文件夹对话框,选择选择合适的硬盘分区和已有的文件夹;或点击右

6、上方的“创建文件夹”按钮可以新建文件夹。选择好合适的文件夹后,点击右下方的“打开(O)”按钮即完成存放工程的文件夹的设置。图1-4 选择工程文件夹对话框其中第二项为新建工程命名,一般新建工程的名字和工程的功能有关,故我们在这里命名为half_adder。其中第三项为新建工程的顶层文件名,系统默认和工程名相同即half_adder。注意:工程即项目,而顶层文件相当于其它编程软件的主程序,在软件编译时只编译顶层文件和与其相关的文件,在编译前,可以重新设置或更改顶层文件为其它已存在的文件。点击“Use Existing Project Setting”按钮可以复制已存在的工程到新建工程中。(此略)4

7、、点击图1-3的“Next”按钮,弹出如图1-5所示的新建工程向导步骤二对话框。该步骤可以进行“在该工程中添加已存在的文件”,因我们的文件夹是空的,没有有效的文件,故跳过该步。图1-5 添加文件对话框5、点击“Next ”,弹出如图1-6所示的选择器件对话框。其中“Family”选项卡用来选择工程设计中所使用的器件的系列。Altera公司的FPGA器件根据生产工艺和功能分为许多种系列,每种系列又包含若干器件。我们根据实验箱器件配备的器件,选择Cyclone系列。为了快速选择使用的器件,可以在“Show in Available device list”分别对“Package”(封装)、“Pin

8、 count”(管脚数)、“Speed grade”(器件速度等级)进行设置对“Available device:”(符合条件的器件) 进行筛选,以快速的对所使用的器件。我们使用的器件是Cyclone系列的EP1C6Q240C8或EP1C12Q240C8器件。其中器件名称中部分字母的含义:Q,代表封装为PQFP,即塑料四方扁平封装,芯片的四周均有引脚。240:指器件的管脚数,因为是四边管脚数相同,故每边240个管脚。8:代表速度等级为8,一般来说,器件速度等级越小,速度越快。6或12:指器件的容量,有时也用逻辑单元、门数等表示。一般来说EP1C12Q240C8的容量是EP1C6Q240C8的容

9、量的2倍。对于其它符号的含义,可查找相关资料。图1-6 选择器件对话框6、选择相应的器件后,点击“Next ”按钮,弹出如图1-7所示的设置其它EDA工具对话框,此窗口有三个选项,分别对应:1. 选择输入的HDL类型和综合工具;2.选择仿真工具;3.时序分析工具。这是除QuartusII 自含的所有设计工具以外的外加的工具,我们没有涉及其它的EDA工具,故此处不做选择。图1-7 设置第三方EDA工具对话框7、点击“Next ”按钮,弹出如图1-8所示的工程的总结报告。点击“Finish”完成工程设置。图1-8 新建工程设置总结报告界面步骤3:建立原理图文件1、点击下拉菜单“File”,选择“N

10、ew ”选项,或直接点击新建文件图标,弹出如图1-9所示的新建文件选项卡。这里可选择新建文件的类型,下面仅简单介绍我们所涉及的几种文件类型:1. New QuartusII Project:新建工程,等同于执行菜单 File(文件)New Project Wizard;2. AHDL File:Altera 公司开发的一种硬件描述语言文件;3. Block Diagram/Schematic File:原理图文件;4. Verilog HDL File:Verilog语言文件;5. VHDL File:VHDL语言文件;6. Memory Initialization File:ROM文件;7

11、. Vector Waveform File:波形仿真文件我们采用原理图完成半加器,故此处选择“Block Diagram/Schematic File”,点击“OK”,完成选择。图1-9 新建文件类型界面2、我们采用原理图完成半加器,故此处选择“Block Diagram/Schematic File”,点击“OK”,完成选择。弹出如图1-10的软件平台界面:原理图编辑窗口图1-10 QuartusII软件界面左侧的Project Navigator区域为“工程控制面板”,分3个选项卡,其中:“Hierarchy”显示的是工程的层级;“Files”显示工程所包含的文件;“Design Uni

12、ts”显示设计的单元。对我们来说,“Files”是经常用到的,可以方便地对工程文件进行处理和设置。原理图输入区域左侧是模块编辑工具栏,其功能如图1-11所示。需要特别说明的是:器件连线是对1位的数据线连线操作,而画总线是对多位的数据总线连线操作。橡皮筋按钮的功能是当连接功能打开时,移动元件,则连接在元件上的连线跟着移动,不改变原有的连线;否则,移动元件,连线不跟着相应的移动,从而原有的连线会断开。选择缩放工具按钮时,对原理图文件的试图比例进行改变,鼠标左键为放大,右键为缩小。图1-11 原理图编辑工具栏说明图3、在原理图编辑窗中的任何一个位置上双击鼠标左键,或执行菜单 EditInsert S

13、ymbol.;或点击图1-11所示的插入符号(元件)按钮,将弹出如图1-12所示的输入元件选择窗。在左侧的Libraries选择区域可以展开元件库。“megafuctions”为兆功能元件库;“others”主要包括maxplus2中的元件库;“primitives”为基本元件库,主要包括缓存、基本逻辑门、输入输出管脚符号、触发器等。或直接在“Name:”区域直接输入元件名称以快速的找到所需的元件。点击“MegaWizard Plug-In Manager”按钮,可以进入添加参数可设置的兆功能模块向导。根据公式1-1可知,我们需要两个基本的逻辑门器件-两个信号的与门和异或门(XOR)。我们可以

14、展开“primitives”基本元件库的的logic基本逻辑门器件列表,分别找到and2选择“OK”,并在原理图输入区放置到合适的位置。同样添加xor元件。同时我们还要添加输入(input)、输出(output)引脚符号。说明:1.寻找、选择器件时可以直接在“Name:”下直接输入元件或符号名2如果是同一原理图存在较多的相同元件,在添加第一个元件后,在原理图上可以点选改器件,使用快捷键“CTRL+ c”进行复制,然后鼠标点击其它空白区域,使用快捷键“CTRL+ v”进行粘贴。3为了连线方便,有连线的器件尽量距离靠近一些;为了原理图美观,尽量器件对齐。要养成好的习惯,以达到较好的视觉效果所选择元

15、件预览区图1-11 选择元件界面4、按照式1-1,进行连线,结果如图1-12所示。图1-12 半加器原理图说明:1. 放置元器件后,每个元器件的符号的左下角都有一个编号,如“inst”、“inst2”,是输入元件时软件的自动顺序标号,编译时如果该元件有错误,会提示ID:* 错误,便于区别和寻找。2. “INPUT”为输入管脚符号,双击该符号,则弹出如图1-13所示的输入管脚属性设置对话框,为了方便的区分管脚名称,在“Pin name(s):”栏可以对管脚进行重命名。在“Default value:”栏可以对输入管脚的默认电平进行设置。在“Format”选项卡可以对内部线的颜色和字体进行设置。图

16、1-13 输入管脚属性设置对话框3、对“Pin name”和“Default value”的设置也可以这样设置:在管脚名称或默认电平区域点击鼠标,然后再点击鼠标(中间有一定的时间间隔不要双击而进入图1-13的界面),会选中该名称,然后进行相应的输入或设置。如果修改完成后,键入“Enter”键确定,且该管脚不是同类管脚的最后一个添加的管脚,则自动跳到其下一个添加的同类管脚的相应位置进行修改。4、关于连线:如果需要连接两个元件端口,则将鼠标移动到其中的一个端口上,这时鼠标指示符会自动变为“”形,然后按住鼠标左键并拖动鼠标至第二个端口(或其它地方),松开鼠标后则可画出一条连线。如果两个元件端口并未在

17、同一水平线或垂直线上,先拖动鼠标到合适位置,松开后在此处继续拖动鼠标左键,即可改变为折线。也可以这样方便的连线:如图1-12,如果在CO和AND2之间需要连线,在图1-11的“橡皮筋功能”使能的情况下,移动CO的管脚符号使其需要连线的端口和AND2符号的输出端口贴紧,松开鼠标,然后移动管脚CO,在这两个端口之间就方便连线了。如果需要删除某段连线,左键点选该线为蓝色(颜色和软件的设置有关),按“Delete”删除。如果要对某段线相通的全部连线进行操作,在线上双击鼠标即可选择其全部连线,然后点击鼠标右键进行删除、旋转操作和线类型设置等。对原理图操作时,一般工具箱一直选择的是“选取工具”,结合鼠标的

18、右键弹出的相应功能,基本可以完成全部的操作了。在空白区域点击并拖动鼠标可以选择区域内的元件和连线。元件之间的连线尽量不要和元件符号的边缘虚线重合,也尽量不要从元件符号区域穿过。不仅原理图不美观,且无法发现连线的错误。4、执行菜单File Save,或点击快捷按钮中的保存按钮,文件取名为:h_adder.bdf (注意后缀是.bdf)。在保存文件时,文件名可以用设计者认为合适的任何英文名,但是不要和所使用的元件名重名,名称也最好和其功能相联系。在保存界面上,一定要勾选“Add file to current project”,即把该文件加入到该工程。重点注意:保存文件时一定要注意对文件的命名,绝

19、对不能相互之间重名;对软件默认(建议)保存的名称一定要仔细看清楚,是否使用。否则一定会出错误,对初学者来说,这个错误是经常遇到的。步骤3:设置顶层文件如果设计项目由多个设计文件组成,则应该将它们的主文件,设置成顶层文件。文件保存后,工程控制面板的信息如图1-14所示,在文件选项卡,选择待设置为顶层文件的文件,点击鼠标右键,弹出如图1-15所示的文件操作界面。 (a) 层级选项卡 (b) 文件选项卡图1-14 工程控制面板图1-15 文件操作界面在该界面中:“Remove Filr from Project”是把从工程中移除该文件(不不是删除文件);“Set as Top-Level Entit

20、y”是把该文件设置为本工程的顶层文件(类似主程序),在编译时,就编译该文件以及与其相关的文件。我们执行“Set as Top-Level Entity”操作,把“h_adder.bdf”设置为顶层文件。这时图1-14所示的层级选项卡的顶层文件会相应的改变。步骤4:引脚锁定如果需要将设计编程下载进选定的目标器件中,进行硬件的测试,以便最终了解设计项目的正确性。这就必须根据评估板、开发电路系统或EDA实验板的要求对设计项目输入输出引脚赋予确定的引脚,以便能够对其进行实测。在实验中,为了验证设计的正确性,就需要一定的外围电路。如本实验中,为了能控制输入信号的变化,就需要按键、拨动开关之类的电路,可以

21、方便地控制输入的高低电平变化。本实验的输出信号只是高低电平变化,故需要使用LED,LED的亮灭变化能显示输出管脚的电平变化。假设本实验使用K1控制A、K2控制B、LED1显示CO、LED2显示SO。如果不锁定管脚,直接下载到FPGA芯片上,半加器的4引脚A、B、CO、SO与FPGA芯片的IO管脚是随机分配的。锁定管脚,就是把半加器的输入输出管脚人为固定分配。例如我们要用K1控制半加器的输入A,实验板本身,已经把按键的信号和FPGA器件的编号为121的管脚相连接,我们只需在FPGA器件内部使半加器的输入A和121管脚相连即可,即锁定管脚,这样就实现K1控制半加器的输入信号A了。本实验管脚分配如表

22、1-1所示。信号引脚A121B122CO50SO53执行菜单“Assignments”“Assignment Edit”或点击与其对应的快捷按钮,弹出如图1-16所示的引脚分配对话框。图1-16 分配引脚对话框在该对话框内,不激活“Show All Assignable Pin Number”的按钮,激活“Show All Known Pin Names”的按钮,可以只显示输入输出管脚的信息。在“Value”栏,点击相应的区域,可以直接输入相应的管脚编号,回车后,自动跳到下一个。完成引脚分配后,关闭该子窗口,进行保存,或点击保存按钮。切换到“h_adder.bdf”文件,则看到原理图文件中的输

23、入输出管脚附近有该管脚的引脚标号信息。如果没有引脚标号信息,执行菜单“View”,激活“Show Location Assignments”即可;或在原理图文件空白区域点击鼠标右键,在弹出的菜单“Show”中激活该选项设置。注意:器件和引脚的其它设置执行菜单“Assignments”“Device”,弹出如图1-17所示的器件选择对话框。如果需要,在这里可以重新选择FPGA器件。(更改器件可能需要重新引脚锁定)。图1-17 器件选择对话框点击“Device and Pin Options”按钮,弹出如图1-18所示的“Device and Pin Options”对话框,选择“Configur

24、ation”选项卡,进行如图所示的设置,即采用主动串行(Active Serial)配置方式,配置器件选择EPCS1。所谓配置,就是向FPGA器件下载、编程。(具体采用什么方式的配置,和硬件设备的电路有关系。)图1-18 器件和管脚设置对话框-配置方式设置在“Unused Pins”选项卡对未使用的引脚进行如图1-19所示的设置。这样,在上电后,FPGA的所以不使用的引脚都是高阻抗状态。图1-19 器件和管脚设置对话框-未使用引脚设置注意:在设计中一定要将未定义的引脚定义为三态输入。否则,可能会造成连接在核心板上的Flash、SRAM等未使用的芯片冲突而损坏芯片。步骤5:编译QuartusII

25、 编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置,以及时序分析。在这一过程中,将设计项目适配到FPGA/CPLD目标器件中,同时产生多种用途的输出文件,如功能和时序信息文件、器件编程的目标文件等。编译器首先检查出工程文件中可能的错误信息,供设计者排除,然后产生一个结构化的以网表文件表达的电路原理图文件。在编译前,设计者可以通过各种不同的设置,指导编译器使用各种不同的综合和适配技术,以提高设计项目的工程速度,优化器件资源的利用率。而且在编译过程中及编译完成后,可以从编译报告窗口中获得所有相关的详细编译结果,以便于设计者及时调整设计方案。本实验

26、采用默认的编译设置,不进行任何修改,若要进行编译选项设置,请参考Altera公司的QuartusII使用手册。可执行菜单“Assignments” “Settings.”进行设置。在将相应的文件设置为顶层实体后。执行菜单“Processing”“Start Compilation”或点击其工具栏上的快捷按钮进行全程编译。特别注意:这时如果文件需要保存,软件会提醒使用者保存,但是,一定要注意保存的是哪个文件以及系统默认的命名是否合适,一旦出现重名文件,会造成错误,修改起来很麻烦,。若在编译过程中发现错误,一般情况下,会告诉用户错误的位置和情况,在“Message”栏,选择“Error”选项卡,有

27、些Error包含若干小错误,可以层级展开。遇到错误后,要仔细看看错误的说明,以积累经验。找出并更正错误直至编译成功为止。一般情况下,在错误信息处双击鼠标,一般会跳到软件“识别”的错误处,在该提示附近排错。原理图或硬件描述语言中的一个错误,在编译时可能或出现若干条错误信息报告,故要从第一条错误处查找错误原因,纠正后,然后再启动全程编译,直至成功。如果软件报错,软件本身又无法找到错误位置,这种情况下注意以下几点:1工程的存盘文件夹是否合适(不要带全角字符、也不能直接存放在根目录下); 2工程中是否存在重名文件;在编译时,可能产生很多警告信息,这些警告不会影响设计结果,对于初学者可以不去理会;但是有

28、些警告是设计本身存在不合适的地方造成的。如果编译成功,看以看到一些编译信息:在工程控制面板的层级选项卡可以看到层级结构和结构模块所耗用的逻辑宏单元数(LCS)以及管脚数等其它信息。如图1-20所示。图1-20 编译后的工程控制面板之层级选项卡在编译时,状态窗口显示整个编译过程及每个编译阶段所用的时间。如图1-21所示。编译结果显示在“Compilation Report”窗口中。编译时间的长短取决于计算机的性能、编译选项的设置以及工程文件的复杂程度等。图1-21 工程编译耗时状态窗口其中:“Analysis & synthesis”为分析综合过程。将输入的原理图文件或HDL文本文件转化成网表文

29、件并检查其中可能的错误。该模块还负责连接顶层设计中的多层次设计文件;此外还包含一个内置的,用于接受外部标准网表文件的阅读器。逻辑综合器,对设计项目进行逻辑化简、逻辑优化和检查逻辑错误。综合后输出的网表文件表达了设计项目中底层逻辑元件最基本的连接方式和逻辑关系。逻辑综合器的工作方式和优化方案可以通过一些选项来实现。“Filtter”为适配器,适配器也称结构综合器或布线布局器。它将逻辑综合所得的网表文件,即底层逻辑元件的基本连接关系,在选定的目标器件中具体实现。对于布线布局的策略和优化方式也可以通过设置一些选项来改变和实现。“Assembler”为装配器,该功能块将适配器输出的文件,根据不同的目标

30、器件,不同的配置ROM产生多种格式的编程/配置文件,如用于CPLD或配置ROM用的POF编程文件(编程目标文件);用于对FPGA直接配置的SOF文件(SRAM目标文件);可用于单片机对FPGA配置的Hex文件,以及其它TTFs、Jam、JBC和JEDEC文件等。“Classic Timing Analyzer”为时序仿真网表文件提取器,该功能块从适配器输出的文件中提取时序仿真网表文件,留待对设计项目进行仿真测试用。对于大的设计项目一般先进行功能仿真,方法是在Compiler窗口下选择Processing项中的Functional SNF Extractor功能仿真网表文件提取器选项。说明:以上

31、是全程编译的内容,如果需要单独进行某一步骤,可以执行菜单“Processing”“Start”下的相应操作。如图1-22所示的是编译报告窗口。左栏是编译报告项目选择菜单,单击其中各项可以在右栏详细了解编译与分析结果。图1-22 编译报告窗口例如:单击“Flow Summary”项,将在右栏显示工程信息、所使用的器件和硬件资源耗用的统计报告。我们可以了解到EP1C12Q240 器件的总逻辑单元为12060个,工程使用了2个,占用率1%。如果单击“Timing Analyzer”项的“+”号,展开其子项目,则能通过单击各个子项目看到当前工程所有相关时序特性报告。步骤6:时序仿真对工程编译通过后,必须对其功能和时序性质进行仿真测试,以了解设计结果是否满足原设计要求。简单的说仿真就是人为模拟输入信号,观察输出信号的变化,判断是否合乎预计的设计要求。具体步骤如下: (1)、建立波形测试文件。执行菜单“File”“New”,再选择图1-9所示的Vector Waveform File即波形仿真文件。弹出如图1-23所示的波形编辑器。图1-23 波形编译

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1