Quartus-II半加器实验报告
- 格式:doc
- 大小:39.00 KB
- 文档页数:2
一,实验结果分析实验一:Quartus II 原理图输入法设计(2)实验名称:设计实现全加器实验任务要求:用实验内容(1)中生成的半加器模块和逻辑门设计实现一个全加器,仿真并验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
原理图:仿真波形图:仿真波形图分析:输入a,b代表加数与被加数,输入c代表低位向本位的进位。
输出s代表本位和,输出co代表向高位的进位。
可得真值表为:实验三:用VHDL设计与实现时序逻辑电路(3)实验名称:连接8421计数器,分频器和数码管译码器实验任务要求:用VHDL语言设计实现一个带异步复位的8421码十进制计数器,分频器的分频系数为25k,并用数码管显示数字。
VHDL代码:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;entity div isport(clk1 : in std_logic;clk_out : out std_logic);end;architecture d of div issignal cnt : integer range 0 to 12499999;signal clk_tmp : std_logic;beginprocess(clk1)beginif (clk1'event and clk1='1') thenif cnt=12499999 thencnt<=0;clk_tmp<= not clk_tmp;elsecnt<=cnt+1;end if;end if;end process;clk_out<=clk_tmp;end;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY count10 ISPORT(clk2,clear2:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); END count10;ARCHITECTURE count OF count10 ISSIGNAL q_temp:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(clk2,clear2)BEGINIF clear2='1' THEN q_temp<="0000";ELSIF (clk2'event AND clk2='1') THENIF q_temp="1001" THENq_temp<="0000";ELSEq_temp<=q_temp+1;END IF;END IF;END PROCESS;q<=q_temp;END count;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY seg7 ISPORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0); b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat1:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );END seg7;ARCHITECTURE show OF seg7 ISBEGINPROCESS(a)BEGINCASE a ISWHEN"0000"=>b<="1111110";WHEN"0001"=>b<="0110000";WHEN"0010"=>b<="1101101";WHEN"0011"=>b<="1111001";WHEN"0100"=>b<="0110011";WHEN"0101"=>b<="1011011";WHEN"0110"=>b<="1011111";WHEN"0111"=>b<="1110000";WHEN"1000"=>b<="1111111";WHEN"1001"=>b<="1111011";WHEN OTHERS=>B<="0000000";END CASE;END PROCESS;cat1<="111011";END show;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity jishuqi8421 isport(clk,clear:IN STD_LOGIC;cout:OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );end jishuqi8421;architecture ji of jishuqi8421 iscomponent div25mport(clk1 : in std_logic;clk_out : out std_logic);end component;component count10PORT(clk2,clear2:IN STD_LOGIC;q:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)); end component;component seg7PORT(a:IN STD_LOGIC_VECTOR(3 DOWNTO 0); b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); cat1:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );end component;signal c:std_logic;signal d:std_logic_vector(3 downto 0);beginu1:div port map(clk1=>clk,clk_out=>c);u2:count10 port map(clk2=>c,clear2=>clear,q=>d); u3:seg7 port map(a=>d,b=>cout,cat1=>cat);end ji;仿真波形图:(由于实际使用的50000000分频不方便仿真,仿真时使用12分频)仿真波形图分析:每隔12个时钟信号计数器的值会增加1,直到计数器的值为9时,再次返回0计数。
QuartusII实验报告××××⼤学实验报告⾃学院(系)专业班成绩评定实验题⽬:第周星期⼀、实验⽬的1. 熟悉译码器、数据选择器、计数器等中规模数字集成电路(MSI)的逻辑功能及其使⽤⽅法。
2. 掌握⽤中规模继承电路构成逻辑电路的设计⽅法。
3. 了解EDA软件平台Quartus II的使⽤⽅法及主要功能。
⼆、预习要求1. 复习数据选择器、译码器、计数器等数字集成器件的⼯作原理。
2. 熟悉所有器件74LS153、74LS138、74LS161的功能及外引线排列。
3.完成本实验规定的逻辑电路设计项⽬,并画出接线图,列出有关的真值表。
三、实验基本原理1.译码器译码器的逻辑功能是将每个输⼊的⼆进制代码译成对应的⾼、低电平信号。
译码器按功能可分为两⼤类,即通⽤译码器和显⽰译码器。
通⽤译码器⼜包括变量译码器和代码变换译码器。
变量译码器是⼀种完全译码器,它将⼀系列输⼊代码转换成预知⼀⼀对应的有效信号。
这种译码器可称为唯⼀地址译码器。
如3线—8线、4线—16线译码器等。
显⽰译码器⽤来将数字或⽂字、符号的代码译成相应的数字、⽂字、符号的电路。
如BCD-七段显⽰译码器等。
2.数据选择器数据选择器也陈伟多路选择器或多路开关,其基本功能是:在选择输⼊(⼜称地址输⼊)信号的控制下,从多路输⼊数据中选择某⼀路数据作为输出。
因此,数据选择器实现的是时分多路输⼊电路中发送端电⼦开关的功能,故⼜称为复⽤器。
⼀般数据选择器有n 个地址输⼊端,2n个数据输⼊端,⼀个数据输出端或反码数据输出端,同时还有选通端。
⽬前常⽤的数据选择器有2选1、4选1、8选1、16选1等多种类型。
3.计数器计数器是⼀个庸医实现技术功能的时序部件,它不仅可以⽤来对脉冲计数,还常⽤作数字系统的定时、分频、执⾏数字运算以及其他⼀些特定的逻辑功能。
74LS161是4位同步⼆进制计数器,它除了具有⼆进制加法计数功能外,还具有预置数、保质和异步置零等附加功能。
邮电大学数字电路与逻辑设计实验学院:班级::学号:班序号:实验一一、实验名称Quartus II 原理图输出法设计(一)半加器二、实验任务要求用逻辑门设计实现一个半加器,仿真验证其功能,并生成新的半加器图形模块单元。
三、设计思路和过程◎设计思路半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输入的加法器电路,是实现两个一位二进制数的加法运算电路。
数据输入:被加数AI、加数BI数据输出:半加和SO、进位CO◎设计过程(1)列出真值表01 1 010 1 0110 1*表中两个输入是加数AI和BI,输出有一个是和SO,另一个是进位CO。
(2)根据真值表写出输出逻辑表达式该电路有两个输出端,属于多输出组合数字电路,电路的逻辑表达式如下:AI=。
所以,可以用一个两输入异或门和一个两输入与门CO⋅SO⊕BIAI=,BI实现。
◎实验原理图四、仿真波形图及分析根据仿真波形对比半加器真值表,可以确定电路实现了半加器的功能。
但我们也可以发现输出SO出现了静态功能冒险,要消除该冒险可以加入相应的选通脉冲。
(二)全加器二、实验任务要求用实验容1中生成的半加器模块和逻辑门设计实现一个全加器,仿真验证其功能,并下载到实验板测试,要求用拨码开关设定输入信号,发光二极管显示输出信号。
三、设计思路和过程◎设计思路全加器与半加器的区别在于全加器有一个低进位CI,从外部特性来看,它是一个三输入两输出的器件。
◎设计过程(1)全加器的真值表如下*其中AI 为被加数,BI 为加数,CI 为相邻低位来的进位数。
输出本位和为SO ,向相邻高位进位数为CO 。
(2)根据真值表写出逻辑表达式:CI BI AI SO ⊕⊕=,BI AI CI BI AI CO ⋅+⋅⊕=)(根据逻辑表达式,可以知道只要在半加器的基础上再加入一个异或门、一个两输入与门和两输入或门即可实现全加器。
◎实验原理图。
EDA上机实验报告姓名:学号:班级:专业:集成电路工程类学院:半加器设计实验1、实验目的:练习半加器的VHDL程序设计以及功能仿真。
2、实验任务:参考半加器电路原理图以及真值表,编写VHDL程序,完成Quartus II设计文本输入,分别按照4.1节的流程对半加器进行功能仿真,并生成RTL电路图。
3、真值表如下:4、程序编写要求:(1)使用一个异或门(XOR)和一个与门(AND);(2)使用两个与门,一个或门(OR)和一个非门(NOT)。
5、实验步骤:(1)兴建一个文件夹,取名为h_adder。
(2)输入源程序。
打开Quartus II,选择File--->New命令。
在窗口中Design Files栏中选着文件的语言类型,这里选择VHDL File选项。
(3)文件存盘。
选择File--->Save As命令,找到已设立的文件夹,存盘文件名应该与实体名一致。
(4)创建工程,打开并建立新工程管理窗口。
选择File --->NewProject Wizard命令。
(5)将设立文件夹加入工程。
(6)选择目标芯片,并进行工具设置。
(7)编译。
选择Processing--->Start compilation命令,启动全程编译,若编译成功者可进行仿真测试。
(8)打开波形编辑器。
选择File--->New命令,在New窗口中选择Vector Wavefore File选项。
(9)设置仿真区域,并进行文件存盘。
(10)将工程的端口信号节点选入波形编辑器中。
选择View--->Utility Windows--->Node Finder命令Filter下拉列表框中选择“Pins:all”,单击List按钮。
将节点拖到波形编辑器中窗口。
(11)设置激励信号波形,进行波形文件存盘。
(12)启动仿真器。
选择Processing--->Start Simulation命令,启动仿真。
实验一QUARTUS II软件安装、基本界面及设计入门一、实验目的:QUARTUSII是Altera公司提供的EDA工具,是当今业界最优秀的EDA设计工具之一。
提供了一种与结构无关的设计环境,使得电子设计人员能够方便地进行设计输入、快速处理和器件编程。
通过本次实验使学生熟悉QUARTUSII软件的安装,基本界面及基本操作,并练习使用QUARTUS的图形编辑器绘制电路图。
二、实验内容:1、安装QUARTUSII软件;2、熟悉QUARTUSII基本界面及操作;3通过一个4位加法器的设计实例来熟悉采用图形输入方式进行简单逻辑设计的步骤。
三、实验仪器:1、PC机一台;2、QUARTUSII软件;3、EDA实验箱。
四、实验原理:4位加法器是一种可实现两个4位二进制数的加法操作的器件。
输入两个4位二进制的被加数A和B,以及输入进位Ci,输出为一个4位二进制和数D和输出进位数Co。
半加操作就是求两个加数A、B的和,输出本位和数S及进位数C。
全加器有3位输入,分别是加数A、B和一个进位Ci。
将这3个数相加,得出本位和数(全加和数)D和进位数Co。
全加器由两个半加器和一个或门组成。
五、实验步骤:安装QUARTUSII软件;因为实验时我的机器了已经有QUARTUSII软件,所以我并没有进行安装软件的操作。
设计半加器:在进行半加器模块逻辑设计时,采用由上至下的设计方法,在进行设计输入时,需要由下至上分级输入,使用QuartusIIGraphic Editor进行设计输入的步骤如下。
(1)、打开QUARTUSII软件,选择File-new project wizard…新建一个设计实体名为has的项目文件;(2)、新建文件,在block.bdf窗口下添加元件符号,并连接。
如下图:半加器原理图(3)、将此文件另存为has.gdf的文件。
(4)、在主菜单中选择Processing→Start Compilation命令,系统对设计进行编译,同时打开Compilation Report Flow Summary窗体,Status视图显示编译进程。
实验一:半加器与全加器实验(1)实验目的与任务目的:理解半加器、全加器原理;掌握加法器Verilog编写方法;熟悉基于Quartus II软件的Verilog代码文本输入设计流程。
任务:基于Quartus II软件和EDA实验箱完成全加器的设计、仿真与硬件测试。
(2)实验设备带有windows操作系统和Quartus II软件的PC机一台;EDA实验箱一台(包含电源线和下载线)。
(3)实验内容基于Quartus II软件使用Verilog HDL设计半加器与全加器,并进行仿真和硬件测试。
硬件测试方案:使用拨码开关SW1(被加数)、SW2(加数)和SW3(进位输入)作为输入,以发光二极管LED0(和)和LED1(进位输出)作为输出。
拨动SW1、SW2和SW3,LED0和LED1显示正确。
原理图:注意:原理图中的SW0、SW1、SW2应该为实验箱上的SW1、SW2、SW3。
(4)实验步骤①运行Quartus II软件,编写半加器和全加器的Verilog代码,并保存(半加器保存为h_adder.v,全加器保存为f_adder.v)。
②创建工程,工程名为f_adder,把h_adder.v和f_adder.v添加到工程中,选择目标芯片为Cyclone III系列的EP3C120F780C8,不使用第三方EDA工具。
③编译。
④使用Quartus II自带的仿真工具对全加器进行时序仿真(打开波形编辑器,设置仿真时间50us,波形文件存盘f_adder.vwf,将工程f_adder的端口信号节点选入波形编辑器中,总线数据格式设置和参数设置,编辑输入波形数据,启动仿真器,观察仿真结果)。
⑤引脚锁定。
⑥编译文件(产生JTAG编程文件f_adder.sof(掉电丢失);并通过转换得到JTAG间接编程文件f_adder_file.jic(掉电不丢失))下载,硬件测试,随意拨动实验箱中的SW1、SW2和SW3,观察LED0和LED1的变化。
实验一:原理图输入方式设计初步实验实验目的:1.熟悉EDA软件的操作界面;2.熟悉Quartu sⅡ软件的使用方法;3.掌握原理图文件的和项目文件的保存;4.学会使用原理图输入法设计半加器和全加器。
实验原理:半加器和全加器的真值表和逻辑表达式实验器材:计算机、QuartusⅡ软件实验步骤:1.对QuartusⅡ5.1软件进行破解;2.新建原理图文件,根据半加器的逻辑表达式设计电路,并保存为hadd,同时建立项目文件;3.对半加器电路进行编译,并建立波形图文件,进行波形仿真;4.将半加器原理图生成器件,并在半加器的基础上设计全加器;5.新建原理图文件,调用半加器器件,构成全加器电路图,保存为fadd,同时新建项目文件;6..对全加器电路进行编译,并建立波形图文件,进行波形仿真;实验数据处理:半加器电路原理图和全加器电路原理图实验二:原理图输入法设计实验一、实验目的:1.学会用Quartu sⅡ进行原理图输入方法的逻辑电路设计技术;2.能够针对编辑好的逻辑电路正确的建立时序仿真文件并仿真测试;3.能够将设计电路转换成电路元件,并在高层次原理图工程文件中调用这些元件,完成顶层设计;4.能够利用Quartu sⅡ进行原理图输入方法分别完成半加器、全加器和4位数据加法器电路设计。
二、实验原理:画出器半加器、全加器的实验电路图三、实验仪器:计算机、QuartusⅡ5.1软件四、操作步骤:1. 新建原理图文件,设计半加器实验电路,保存为名为hadd,建立相应的项目并进行编译仿真,功能符合要求后生成半加器器件hadd;2. 新建原理图文件,在半加器的基础上设计全加器实验电路,保存为名为fadd,新建相应的项目并进行编译仿真,功能符合要求后生成半加器器件fadd;3. 新建原理图文件,在半加器和全加器的基础上设计4位数据加法器实验电路,保存为名为sadd,新建相应的项目。
4. 4位数据加法器实验电路的输入和输出引脚分别为A[3..0]、B[3..0]、S[3..0](总线结构)和Q。
实验题目:Quartus II 软件操作一、实验目的(1)了解并掌握QuartusII软件图形输入的使用方法。
(2)了解并掌握仿真(功能仿真及时序仿真)方法及验证设计正确性。
二、实验内容及步骤1.实验内容:本实验通过简单的例子介绍FPGA开发软件QuartusII的使用流程,包括图形输入法的设计步骤和仿真验证的使用以及最后的编程下载。
2.实验步骤:在QuartusII中通过原理图的方法,使用与门和异或门实现半加器。
原理图第1步:打开QuartusII软件,新建一个空项目。
选择菜单File->New Project Wizard,进入新建项目向导,填入项目的名称“hadder”。
第2步:单击Next按钮,进入向导的下一页进行项目内文件的添加操作,或直接点击Next按钮。
第3步:选择CPLD/FPGA器件,选择芯片系列为“MAX II”,型号为“EPM240T100C5”。
向导的后面几步不做更改,直接点击Next即可,最后点击Finish结束向导。
第4步:新建一个图形文件。
选择File->New命令,选择“Diagram/Schematic File”,点击OK按钮完成。
将该图形文件另存为hadder.bdf。
第5步:在图形编辑窗口的空白处双击,打开符号库窗口。
选择好需要的符号后,单击OK按钮,界面将回到原理图编辑界面,然后单击左键即在窗口内放置该符号。
分别放置与门“7408”和异或门“xor”。
第6步:在编辑窗口中放入两个输入符号,命名为a和b。
放置2个输出“output”符号,并分别命名为s、cout。
将各符号连接起来。
第7步:保存图形文件,进行语法检查和编译。
在信息(Messages)窗口中显示检查结果。
第8步:仿真。
执行File->New命令,选择“Other Files”选项页中 Vector Waveform File,并单击OK按钮,打开矢量波形编辑器窗口。
另存矢量波形文件为hadder.vwf。
半加器和全加器实验报告数电实验报告半加全加器实验二半加/减器与全加/减器一、实验目的:(1)掌握全加器和半加器的逻辑功能。
(2)熟悉集成加法器的使用方法。
(3)了解算术运算电路的结构。
二、实验设备:1、74LS00(二输入端四与非门)2、74LS86(二输入端四异或门)3、数字电路实验箱、导线若干。
(74LS00引脚图)三、实验原理:两个二进制数相加,叫做半加,实现半加操作的电路,称为半加器。
A表示被加数,B表示加数,S表示半加和,Co 表示向高位的进位。
全加器能进行加数、被加数和低位来的信号相加,并给出该位的进位信号以及和。
四、实验内容:用74LS00和74LS86实现半加器、全加器的逻辑电路功能。
(一)半加器、半减器M=0时实现半加,M=1时实现半减,真值表如下:(74LS86引脚图)(半加器图形符号)2、S?B?A?A?BC?B(A?M)(二)全加器、全减器S?A?B?Ci-1Ci?BCi-1?(M?A)(B?C)五、实验结果半加器:S?B?A?A?B C?B(A?M)全加器:S?A?B?Ci-1Ci?C1M?C2M其中C1?(A?B)Ci?1?AB,C2?(AB)Ci?1?AB为了方便,以下Ci?1用C表示CI?(AB?AB)CM?(AB?AB)CM?ABM?ABM?ABCM?ABCM?ABCM?ABCM?ABM?ABM?ABCM?ABCM?ABCM?ABCM?(ABCM?ABCM?ABCM?ABCM ?BC?ABCM?ABCM?ABCM?ABCM?(M?A)(B?C)(BC)则Ci?BCi-1?(M?A)(B?C)六、心得体会本次实验做的是半加/减器和全加/减器两个电路,比上次实验复杂很多,因此充满了挑战性。
实验过程中,我认识到了在利用给定的电子元件进行实验设计来实现某一种或多种功能时,对电路的化简非常重要,而且要符合给定元件的限定条件,只有将电路化简成为能够与给定元件相符的情况下才能达到实验目的。