
实验一一位二进制全加器设计实验.doc
16页南昌大学实验报告学生姓名: 学 号: 专业班级: 中兴101 实验类型:■ 验证 □ 综合 □设计 □ 创新 实验日期: 9 28 实验成绩: 实验一 一位二进制全加器设计实验一.实验目的(1)掌握Quartus II的VHDL文本设计和原理图输入措施设计全过程;(2)熟悉简朴组合电路的设计,掌握系统仿真,学会分析硬件测试成果;(3) 熟悉设备和软件,掌握实验操作二.实验内容与规定(1)在运用VHDL编辑程序实现半加器和或门,再运用原理图连接半加器和或门完毕全加器的设计,熟悉层次设计概念;(2)给出此项设计的仿真波形;(3)参照实验板1K100的引脚号,选定和锁定引脚,编程下载,进行硬件测试三.设计思路一种1位全加器可以用两个1位半加器及一种或门连接而成而一种1位半加器可由基本门电路构成1) 半加器设计原理能对两个1位二进制数进行相加而求得和及进位的逻辑电路称为半加器或:只考虑两个一位二进制数的相加,而不考虑来自低位进位数的运算电路,称为半加器图1为半加器原理图其中:a、b分别为被加数与加数,作为电路的输入端;so为两数相加产生的本位和,它和两数相加产生的向高位的进位co一起作为电路的输出。
半加器的真值表为表1 半加器真值表absoco 0000011010101101由真值表可分别写出和数so,进位数co的逻辑函数体现式为: (1) (2)图1半加器原理图(2) 全加器设计原理除本位两个数相加外,还要加上从低位来的进位数,称为全加器图2全加器原理图全加器的真值表如下:表2全加器真值表cabcoso0000000101010010111010001101101101011111其中a为加数,b为加数,c为低位向本位的进位,co为本位向高位的进位,so为本位和图2.全加器原理图四.实现措施一:原理图输入法设计(自己独立完毕)1. 建立文献夹建立自己的文献夹(目录),如c:\myeda,进入Windows操作系统l QuartusII不能辨认中文,文献及文献夹名不能用中文2. 原理图设计输入打开Quartus II,选菜单File→New,选择“Device Design File->Block Diagram->Schematic File”项。
点击“OK”,在主界面中将打开 “Block Editor”窗口1) 放置元件在原理图编辑窗中的任何一种空白处双击鼠标左键或单击右键,跳出一种选择窗,选择此窗中的Enter Symbol项输入元件,浮现元件选择窗口元件选择窗口窗口中Symbol Libraries:的途径c:\ Quartus2\max2lib\prim下为基本逻辑元件库,双击之,在Symbol Files:下浮现prim中的所有元件,选中你需要的元件(如:二与门,即and2);或者在Symbol Name:中直接输入元件名称(and2),单击OK键你需要的元件(and2)会出目前原理图编辑窗中为了设计半加器,分别调入元件and2、not、xnor、input和outputl 如果安放相似元件,只要按住CTRL键,同步用鼠标拖动该元件2) 添加连线把鼠标移到引脚附近,则鼠标光标自动由箭头变位十字,按住鼠标左键拖动,即可画出连线然后用鼠标分别在input和output的PIN-NAME上双击使其变黑色,再用键盘分别输入各引脚名:ain、bin、co和so3). 保存原理图单击File→Save as…按扭,浮现对话框,选择自己的目录(如c:\myeda)、合适名称保存刚刚输入的原理图,原理图的扩展名为.bdf,本实验取名gate.bdf。
如图3所示图3 一位半加器图(4) 设立工程文献(Project)措施1 选择File®Project®Set Project to Current File,即将目前的设计文献设立成工程措施2 如果设计文献未打开,选File®Project®Name,然后在跳出的Project Name窗中找到c:\myeda目录,在其File小窗口中双击gate.bdf文献l 选择此项后可以看到窗口左上角显示出所设文献途径的变化3. 选择目的器件单击Assign→Device,跳出Device窗口,此窗口的Device Family是器件序列栏,一方面在此栏中选定目的器件相应的序列名,如EPM7128S相应的是MAX7000S系列;EPF10K10相应的是FLEX10K系列等根据实际状况完毕器件选择后(本实验为Cyclone||系列的EP2C35F672C8),按OK键l 应将此栏下方标有Show only Fastest Speed Grades的勾消去,以便显示出所有速度级别的器件4. 编译(Compiler)单击QuartusII→Compiler,跳出Compiler窗口,此编译器的功能涉及网表文献的提取、设计文献的排错、逻辑综合、逻辑分派、适配(构造综合)、时序仿真文献提取和编程下载文献装配等。
单击Start,开始编译!如果发既有错,排除错误后再次编译5. 包装元件入库编译通过后,单击File→Create Default Symbol,目前文献变成了一种包装好的自己的单一元件(半加器:gate),并被放置在工程途径指定的目录中以备后用6. 用两个半加器及一种或门连接而成一位全加器我们将上述1~5步的工作当作是完毕了的一种底层元件,并被包装入库运用已做好的半加器gate,完毕原理图输入、连线、引脚命名、器件选择、保存、项目设立、编译等过程,完毕顶层项目全加器的设计如图4所示图4全加器的设计图l 半加器元件gate的调用与库元件的调用措施同样l 以文献名aaa.bdf存在同一目录(c:\myeda)中如下环节同措施二:7. 仿真,测试项目的对的性8. 观测分析波形9. 时序分析五.VHDL文本输入法设计1.实验程序(程序来源:自己独立编写)--全加器设计的文本输入法设计程序--设计人:邓小娇--9月26日--1位二进制全加器顶层设计描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY aaa IS PORT(ain,bin,cin:IN STD_LOGIC;--输入信号ain为加数,bin为加数,cin为低位向本位的进位 cout,sum:OUT STD_LOGIC); --输出信号:co为本位向高位的进位,--so为本位和END ENTITY aaa;--半加器描述:真值表描述措施LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY gate IS PORT(a,b:IN STD_LOGIC;--a为加数,b也为加数 co,so:OUT STD_LOGIC); -- co为本位向高位进位,so为本位和END ENTITY gate;ARCHITECTURE ART4 OF gate ISSIGNAL abc:STD_LOGIC_VECTOR(1 DOWNTO 0);--定义原则逻辑位矢量数据类型 BEGIN abc<=a&b;--a相并b,即a与b并置操作 PROCESS(abc) BEGIN CASE abc IS --类似于真值表的CASE语句 WHEN "00"=>so<= '0';co<= '0'; WHEN "01"=>so<= '1';co<= '0'; WHEN "10"=>so<= '1';co<= '0'; WHEN "11"=>so<= '0';co<= '1'; WHEN OTHERS=> NULL; END CASE; END PROCESS;END ARCHITECTURE ART4;--或门逻辑描述LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a,b:IN STD_LOGIC;--a .b 都为或门的输入 c:OUT STD_LOGIC);--c为或门的输出 END ENTITY or2a;ARCHITECTURE one OF or2a ISBEGINc <= a OR b;END ARCHITECTURE one;ARCHITECTURE fd1 OF aaa IS COMPONENT gate --调用半加器声明语句 PORT(a,b:IN STD_LOGIC; co,so:OUT STD_LOGIC); END COMPONENT; COMPONENT or2a PORT(a,b:IN STD_LOGIC; c:OUT STD_LOGIC); END COMPONENT;SIGNAL d,e,f:STD_LOGIC;--定义3个信号作为内部的连接线。
BEGINu1: gate PORT MAP(a=>ain,b=>bin,co=>d,so=>e);--例化语句,=>表达信号连接u2: gate PORT MAP(a=>e,b=>cin,co=>f,so=>sum);u3: or2a PORT MAP(a=>d,b=>f,c=>cout);END ARCHITECTURE fd1;2.程序阐明对于对数综合器来说,程序所列的所有程序可以同步输入相应的EDA 软件进行编译,也能以单独的元件模块分别进行编辑、文献存档、编译和综合程序中共有3 个独立的VHDL 设计模块即2 个元件模块和一种顶层设计模块aaa存档的文献名最佳与相应的VHDL 程序的实体一致如可分别将它们取名为or2a.vhd gate.vhd和aaa.vhd 程序的解析如下:(1) 作为文献阐明部分由双横线“--” 引导了一段注释语句在VHDL 程序的任何一行中双横线“--”后的文字都不参与编译和综合(2) 实体or2a 语句段定义了或门or2a 的引脚信号a b (输入)和c (输出) 其构造体语句段描述了输入与输出信号间的逻辑关系,即将输入信号a b 相或后传给输出信号端c。
由此实体和构造体描述了一种完整的或门元件,这一描述可以进行独立编译、独立综合与存档,或被其他的电路系统所调用3) 实体gate 和构造体ART4 描述了一种如图1 所示的半加器,由其构造体的描述可以看到,它是由一种与非门、一种非门、一种或门和一种与门连接而成的,其逻辑关系来自于半加器真值表(表1)4) 在全加器接口逻辑即顶层文献的VHDL 描述中,根据图。












