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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

实验01加法器wan.docx

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

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

3、何一项设计都是一项工程(Project),QuartusII以工程方式对设计过程进行管理,工程中存放创建FPGA配置文件需要的所有设置和设计文件。设计前一般首先为此工程建立一个放置与此工程相关的所有文件的文件夹,此文件夹将被EDA软件默认为工作库(Work Library)。一般不同的设计项目最好放在不同的文件夹中,便于以后的管理,即使有些硬件描述语言程序原来已经完成,建议最好把相关文件拷贝到新工程文件夹下,否则以后工程拷贝时可能不完全,造成不必要的麻烦。为了区分方便起见,每位实验者在硬盘建立一个以自己学号命名的一级文件夹,一级文件夹下建立二级文件夹,二级文件夹的名字为exp_1,第二个实验的

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

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

6、工程的文件夹的设置。图1-4 选择工程文件夹对话框其中第二项为新建工程命名,一般新建工程的名字和工程的功能有关,故我们在这里命名为half_adder。其中第三项为新建工程的顶层文件名,系统默认和工程名相同即half_adder。注意:工程即项目,而顶层文件相当于其它编程软件的主程序,在软件编译时只编译顶层文件和与其相关的文件,在编译前,可以重新设置或把顶层文件更改为其它已存在的文件。点击“Use Existing Project Setting”按钮可以复制已存在的工程到新建工程中。(此略)4、点击图1-3的“Next”按钮,弹出如图1-5所示的新建工程向导步骤二对话框。该步骤可以进行“在该

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

8、device:”(符合条件的器件) 进行筛选,以快速的对所使用的器件。我们使用的器件是Cyclone系列的EP1C6Q240C8或EP1C12Q240C8器件。其中器件名称中部分字母的含义:Q,代表封装为PQFP,即塑料四方扁平封装,芯片的四周均有引脚。240:指器件的管脚数,因为是四边管脚数相同,故每边80个管脚。8:代表速度等级为8,一般来说,器件速度等级越小,速度越快。6或12:指器件的容量,有时也用逻辑单元、门数等表示。一般来说EP1C12Q240C8的容量是EP1C6Q240C8的容量的2倍。对于其它符号的含义,可查找相关资料。图1-6 选择器件对话框6、选择相应的器件后,点击“Ne

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

10、面仅简单介绍我们所涉及的几种文件类型: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. Vector Waveform File:波形仿真文件我们采用原理图完成半加器,故此处选择“

11、Block Diagram/Schematic File”,点击“OK”,完成选择。图1-9 新建文件类型界面2、我们采用原理图完成半加器,故此处选择“Block Diagram/Schematic File”,点击“OK”,完成选择。弹出如图1-10的软件平台界面:原理图编辑窗口图1-10 QuartusII软件界面左侧的Project Navigator区域为“工程控制面板”,分3个选项卡,其中:“Hierarchy”显示的是工程的层级;“Files”显示工程所包含的文件;“Design Units”显示设计的单元。对我们来说,“Files”是经常用到的,可以方便地对工程文件进行处理和设置

12、。原理图输入区域左侧是模块编辑工具栏,其功能如图1-11所示。需要特别说明的是:器件连线是对1位的数据线连线操作,而画总线是对多位的数据总线连线操作。橡皮筋按钮的功能是当连接功能打开时,移动元件,则连接在元件上的连线跟着移动,不改变原有的连线;否则,移动元件,连线不跟着相应的移动,从而原有的连线会断开。选择缩放工具按钮时,对原理图文件的试图比例进行改变,鼠标左键为放大,右键为缩小。图1-11 原理图编辑工具栏说明图3、在原理图编辑窗中的任何一个位置上双击鼠标左键,或执行菜单 EditInsert Symbol.;或点击图1-11所示的插入符号(元件)按钮,将弹出如图1-12所示的输入元件选择窗

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

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

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

16、置也可以这样设置:在管脚名称或默认电平区域点击鼠标,然后再点击鼠标(中间有一定的时间间隔不要双击而进入图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、,对初学者来说,这个错误是经常遇到的。步骤4:设置顶层文件如果设计项目由多个设计文件组成,则应该将它们的主文件,设置成顶层文件。文件保存后,工程控制面板的信息如图1-14所示,在文件选项卡,选择待设置为顶层文件的文件,点击鼠标右键,弹出如图1-15所示的文件操作界面。 (a) 层级选项卡 (b) 文件选项卡图1-14 工程控制面板图1-15 文件操作界面在该界面中:“Remove Filr from Project”是把从工程中移除该文件(不不是删除文件);“Set as Top-Level Entity”是把该文件设置为本工程的顶层文件(类似主程序),在编译时,就编译该文件以及与其相关的文件

20、。我们执行“Set as Top-Level Entity”操作,把“h_adder.bdf”设置为顶层文件。这时图1-14所示的层级选项卡的顶层文件会相应的改变。步骤5:编译QuartusII 编译器是由一系列处理模块构成的,这些模块负责对设计项目的检错、逻辑综合、结构综合、输出结果的编辑配置,以及时序分析。在这一过程中,将设计项目适配到FPGA/CPLD目标器件中,同时产生多种用途的输出文件,如功能和时序信息文件、器件编程的目标文件等。编译器首先检查出工程文件中可能的错误信息,供设计者排除,然后产生一个结构化的以网表文件表达的电路原理图文件。在编译前,设计者可以通过各种不同的设置,指导编译

21、器使用各种不同的综合和适配技术,以提高设计项目的工程速度,优化器件资源的利用率。而且在编译过程中及编译完成后,可以从编译报告窗口中获得所有相关的详细编译结果,以便于设计者及时调整设计方案。本实验采用默认的编译设置,不进行任何修改,若要进行编译选项设置,请参考Altera公司的QuartusII使用手册。可执行菜单“Assignments” “Settings.”进行设置。在将相应的文件设置为顶层实体后。执行菜单“Processing”“Start Compilation”或点击其工具栏上的快捷按钮进行全程编译。特别注意:这时如果文件需要保存,软件会提醒使用者保存,但是,一定要注意保存的是哪个文

22、件以及系统默认的命名是否合适,一旦出现重名文件,会造成错误,修改起来很麻烦,。若在编译过程中发现错误,一般情况下,会告诉用户错误的位置和情况,在“Message”栏,选择“Error”选项卡,有些Error包含若干小错误,可以层级展开。遇到错误后,要仔细看看错误的说明,以积累经验。找出并更正错误直至编译成功为止。一般情况下,在错误信息处双击鼠标,一般会跳到软件“识别”的错误处,在该提示附近排错。原理图或硬件描述语言中的一个错误,在编译时可能或出现若干条错误信息报告,故要从第一条错误处查找错误原因,纠正后,然后再启动全程编译,直至成功。如果软件报错,软件本身又无法找到错误位置,这种情况下注意以下

23、几点:1工程的存盘文件夹是否合适(不要带全角字符、也不能直接存放在根目录下);2工程中是否存在重名文件;在编译时,可能产生很多警告信息,这些警告不会影响设计结果,对于初学者可以不去理会;但是有些警告是设计本身存在不合适的地方造成的。如果编译成功,看以看到一些编译信息:在工程控制面板的层级选项卡可以看到层级结构和结构模块所耗用的逻辑宏单元数(LCS)以及管脚数等其它信息。如图1-16所示。图1-16 编译后的工程控制面板之层级选项卡在编译时,状态窗口显示整个编译过程及每个编译阶段所用的时间。如图1-17所示。编译结果显示在“Compilation Report”窗口中。编译时间的长短取决于计算机

24、的性能、编译选项的设置以及工程文件的复杂程度等。图1-17 工程编译耗时状态窗口其中:“Analysis & synthesis”为分析综合过程。将输入的原理图文件或HDL文本文件转化成网表文件并检查其中可能的错误。该模块还负责连接顶层设计中的多层次设计文件;此外还包含一个内置的,用于接受外部标准网表文件的阅读器。逻辑综合器,对设计项目进行逻辑化简、逻辑优化和检查逻辑错误。综合后输出的网表文件表达了设计项目中底层逻辑元件最基本的连接方式和逻辑关系。逻辑综合器的工作方式和优化方案可以通过一些选项来实现。“Filtter”为适配器,适配器也称结构综合器或布线布局器。它将逻辑综合所得的网表文件,即底

25、层逻辑元件的基本连接关系,在选定的目标器件中具体实现。对于布线布局的策略和优化方式也可以通过设置一些选项来改变和实现。“Assembler”为装配器,该功能块将适配器输出的文件,根据不同的目标器件,不同的配置ROM产生多种格式的编程/配置文件,如用于CPLD或配置ROM用的POF编程文件(编程目标文件);用于对FPGA直接配置的SOF文件(SRAM目标文件);可用于单片机对FPGA配置的Hex文件,以及其它TTFs、Jam、JBC和JEDEC文件等。“Classic Timing Analyzer”为时序仿真网表文件提取器,该功能块从适配器输出的文件中提取时序仿真网表文件,留待对设计项目进行仿

26、真测试用。对于大的设计项目一般先进行功能仿真,方法是在Compiler窗口下选择Processing项中的Functional SNF Extractor功能仿真网表文件提取器选项。说明:以上是全程编译的内容,如果需要单独进行某一步骤,可以执行菜单“Processing”“Start”下的相应操作。如图1-18所示的是编译报告窗口。左栏是编译报告项目选择菜单,单击其中各项可以在右栏详细了解编译与分析结果。图1-18 编译报告窗口例如:单击“Flow Summary”项,将在右栏显示工程信息、所使用的器件和硬件资源耗用的统计报告。我们可以了解到EP1C12Q240 器件的总逻辑单元为12060个

27、,本工程使用了2个,占用率”、“”、“”、“”四个按钮对节点进行添加或移除。图1-21 波形编辑窗口注意:点击“List”按钮时,若“Nodes Found”栏显示的节点不对,可能是未进行全程编译、顶层文件设置不正确。 (3)设置仿真时间。对于时序仿真来说,将仿真时间轴设置在一个合理的时间区域是十分重要的。通常设置的时间范围在数十微妙间。对于不同的设计和不同的情况下,仿真时间不同。执行菜单“Edit”“End Time”会弹出设置仿真时间对话框,根据情况设置仿真时间。我们这里按默认值1us设置。 (4)设置输入信号激励波形图1-22 输入激励波形界面图1-22为部分输入寄来波形界面,节点符号中

28、带“I”的为输入节点,带“O”的为输出节点。“Master Time Bar:”中的时间代表时间参考线的位置;“Pointer:”为鼠标所放位置的时间值;而“Interval:”为二者的时间间隔。在“节点数据类型”栏双击鼠标,弹出如图1-23所示的节点属性对话框。这里主要使用的是对数据的“Radix”即数据的显示类型进行设定,便于在方便的观察激励波形的数据。其中Fractional为小数,Hexadecimal为十六进制,Octal为八进制,Signed Decimal有符号的十进制,Unsigned Decimal为无符号十进制。勾选“Display gray code count as b

29、inary count”就是以格雷码的方式显示数据(这里不做选择)。图1-23 节点属性设置对话框图1-24为波形编辑器工具介绍。其中:缩放工具为左键放大视图而右键缩小视图,在设置输入激励波形时,尽量点击鼠标右键至显示全部仿真时间段,这样设置的波形的比例就比较合适;“反向”工具是在所选时间区域对激励信号取反。从“未初始化”到“无关状态”就是图1-20中的“9_Level”即9种逻辑电平类型。图1-24 波形编辑器工具条部分工具是对所选择的仿真时间区域进行操作,故只有使用选择工具选择激励波形的某个时间区域后才有效;在“节点名称”栏点击相应的节点,可以选择该节点的全部仿真时间进行同一设置或规律性设

30、置。点击“计数器”按钮,弹出如图1-25所示的计数器设置对话框。计数器设置就是等差数列设置,即设置起始值(Start value:)、步长“Increment by:”、时间步长(Timing选项卡)。(该计数器功能不体现进位溢,假如信号为8位的总线数据,初始值设为250,步长为10,其第二个数为4=260-256)。需要说明的是:时间设置选项卡中,开始和结束是对激励信号的仿真时间区间进行计数器设置;“Count every:”是设置时间间隔,而“Multiplied by:”是时间倍数,二者的乘积即为实际的时间步长。图1-25 计数器设置对话框点击“时钟”设置按钮,弹出如图1-26所示的对话框

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

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