用原理图输入法设计四位全加器实验
实验一 4位全加器的设计(1)
实验一4位全加器的设计一、实验目的:1 熟悉QuartusⅡ与ModelSim的使用;2 学会使用文本输入方式和原理图输入方式进行工程设计;3 分别使用行为和结构化描述方法进行四位全加器的设计;4 理解RTL视图和Technology Map视图的区别;5 掌握简单的testbench文件的编写。
二、实验原理:一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。
三、实验内容:1.QuartusII软件的熟悉熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。
2.设计1位全加器原理图设计的原理图如下所示:VHDL源程序如下(行为描述):library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity f_add_bev is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : out std_logic;CO : out std_logic);end entity;architecture bev of f_add_bev isbegin(CO,S)<=('0',A)+('0',B)+('0',CIN);end bev;VHDL源程序如下(行为描述)的RTL与technology map视图VHDL源程序如下(数据流描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_fl is(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic);end entity;architecture fl of f_add_fl isbeginS<=A XOR B XOR CIN;CO<=((A XOR B)AND CIN)OR(A AND B);end fl;VHDL源程序如下(数据流描述)的RTL与technology map视图:VHDL源程序如下(结构化描述):library ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity f_add_con isport(A : in std_logic;B : in std_logic;CIN : in std_logic;S : OUT std_logic;CO : out std_logic );end entity;architecture con of f_add_con is COMPONENT hadd_vhdPORT(a : IN STD_LOGIC;b : IN STD_LOGIC;co : OUT STD_LOGIC;s : OUT STD_LOGIC );END COMPONENT;SIGNAL S1:STD_LOGIC;SIGNAL CO1:STD_LOGIC;SIGNAL CO2:STD_LOGIC;beginh_add1 : hadd_vhdport map(a => a,B => B,S => S1,CO => CO1);h_add2 : hadd_vhdport map(a => S1,B => CIN,S => S,CO => CO2);CO<=CO1 OR CO2;end con;VHDL源程序如下(结构化描述)的RTL与technology map视图:Testbench文件源程序如下:LIBRARY cycloneiii ;LIBRARY ieee ;USE cycloneiii.cycloneiii_components.all ;USE ieee.std_logic_1164.all ;ENTITY f_add_fl_tb ISEND ;ARCHITECTURE f_add_fl_tb_arch OF f_add_fl_tb ISSIGNAL A : STD_LOGIC :='0';SIGNAL CO : STD_LOGIC ;SIGNAL CIN : STD_LOGIC :='0'; SIGNAL B : STD_LOGIC :='0'; SIGNAL S : STD_LOGIC ;COMPONENT f_add_flPORT (A : in STD_LOGIC ;CO : buffer STD_LOGIC ;CIN : in STD_LOGIC ;B : in STD_LOGIC ;S : buffer STD_LOGIC );END COMPONENT ;BEGINDUT : f_add_flPORT MAP (A => A ,CO => CO ,CIN => CIN ,B => B ,S => S ) ;A<=NOT A AFTER 0.25US;B<=NOT B AFTER 0.5US;CIN<=NOT CIN AFTER 1US;END ;功能仿真波形如下:时序仿真波形如下:3.利用层次化原理图方法设计4位全加器(1)生成新的空白原理图,作为4位全加器设计输入(2)利用已经生成的1位全加器作为电路单元,设计4位全加器。
EDA 四位加法器 实验报告
实验报告课程名称:EDA技术与VHDL实验题目:四位加法器设计班级学号:姓名:成绩:一、实验目的 ..................................................................................... - 1 -二、实验任务 ..................................................................................... - 1 -三、系统总体设计 ............................................................................. - 1 -四、VHDL程序设计......................................................................... - 1 -1. 用原理图输入方式设计半加器 ................................................ - 2 -2. 全加器的设计 ............................................................................ - 4 -3.4位全加器的设计 ....................................................................... - 5 -五、仿真 ............................................................................................... - 5 -六、仿真结果分析 ............................................................................... - 6 -一、实验目的熟悉利用QuartusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个4位全加器的设计把握文本和原理图输入方式设计的详细流程。
四位全加器实验Verilog
实验四四位全加器一、实验目的l. 用组合电路设计4位全加器。
2.了解Verilog HDL语言的行为描述的优点。
2、实验原理4位全加器工作原理1)全加器除本位两个数相加外,还要加上从低位来的进位数,称为全加器。
被加数Ai、加数Bi从低位向本位进位Ci-1作为电路的输入,全加和Si与向高位的进位Ci作为电路的输出。
能实现全加运算功能的电路称为全加电路。
全加器的逻辑功能真值表如表中所列。
2)1位全加器一位全加器(FA)的逻辑表达式为:S=A⊕B⊕Cin;Co=AB+BCin+ACin其中A,B为要相加的数,Cin为进位输入;S为和,Co是进位输出;这两幅图略微有差别,但最后的结果是一样的。
3)4位全加器4位全加器可看作4个1位全加器串行构成, 具体连接方法如下图所示:采用Verilog HDL语言设计该4位全加器,通过主模块调用子模块(1位全加器)的方法来实现。
3、实验步骤四、实验连线K1-K4:14-11K5-K8:18-15L5-L8:7-10VIJN:83L4:64KHZ:805、心得体会首先,实现这一段全加器代码并不难,但是由于困惑给的三个时钟输入,没有太懂意思,所以只写了全加器控制LED灯的代码;后来问清楚后,运行全加器代码,有错误,原来是建文件时用的是verilog hdl,我建的是其他类型的;后来还有错,原来是把冒号打成分号;编译成功后,LED不亮,后来发现是硬件老化,换了箱子。
这一部分做好后,我准备把控制声音的加上去,本来准备再加一个模块,可是不能有两个顶层块,就对主模块做了补充,用case命令调用不同的状态,因为时间紧迫,所以代码写得比较简单,没有用经典的分频代码。
这里附一小段,是我在研究分频控制时看懂的网上的经典分频代码,适合乐曲自动播放等高级的实现,仅供分享assign preclk=(divider==16383)?1:0;//divider==16383,preclk=1always @(posedge clk) //基频上升沿触发beginif(preclk) //preclk=1divider=origin;elsedivider=divider+1;endalways @(posedge preclk) //调整占空比beginspeaker=~speaker; //2 分频产生方波信号end这部分实现了分频功能,其中origin+divider=16384=2^14,这个数根据自己的需要而定。
四位全加器实验报告
武汉轻工大学数学与计算机学院《计算机组成原理》实验报告题目:4位二进制计数器实验专业:软件工程班级:130X班学号:XXX姓名:XX指导老师:郭峰林2015年11月3日【实验环境】1. Win 72. QuartusII9.1计算机组成原理教学实验系统一台。
【实验目的】1、熟悉VHDL 语言的编写。
2、验证计数器的计数功能。
【实验要求】本实验要求设计一个4位二进制计数器。
要求在时钟脉冲的作用下,完成计数功能,能在输出端看到0-9,A-F 的数据显示。
(其次要求下载到实验版实现显示)【实验原理】计数器是一种用来实现计数功能的时序部件,计数器在数字系统中主要是对脉冲的个数进行计数,以实现测量、计数和控制的功能,同时兼有分频功能。
计数器由基本的计数单元和一些控制门所组成,计数单元则由一系列具有存储信息功能的各类触发器构成,这些触发器有RS 触发器、T 触发器、D 触发器及JK 触发器等。
计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令,在运算器中作乘法、除法运算时记下加法、减法次数,又如在数字仪器中对脉冲的计数等等。
计数器按计数进制不同,可分为二进制计数器、十进制计数器、其他进制计数器和可变进制计数器,若按计数单元中各触发器所接收计数脉冲和翻转顺序或计数功能来划分,则有异步计数器和同步计数器两大类,以及加法计数器、减法计数器、加/减计数器等,如按预置和清除方式来分,则有并行预置、直接预置、异步清除和同步清除等差别,按权码来分,则有“8421”码,“5421”码、余“3”码等计数器,按集成度来分,有单、双位计数器等等,其最基本的分类如下:计数器的种类⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧进制计数器十进制计数器二进制计数器进制可逆计数器减法计数器加法计数器功能异步计数器同步计数器结构N 、、、321 下面对同步二进制加法计数器做一些介绍。
同步计数器中,所有触发器的CP 端是相连的,CP 的每一个触发沿都会使所有的触发器状态更新。
用原理图输入法设计4位全加器
实验一------用原理图输入法设计4位全加器
1.实验目的
熟悉利用MAX+PLUSⅡ的原理图输入法来设计简单组合逻辑电路,学会层次化设计方法,并通过一个4位全加器的设计,学会利用EDA软件进行电子电路设计的详细流程。
2.实验原理。
一个4位全加器可以由4个1位全加器构成,加法器间的进位可用串行方式实现,即将低位加法器的进位输出与相邻的高位加法器的进位输入信号相接。
而一个1位全加器可按图3-19所示连接,其波形图如3-20所示。
图3-19 1位全加器的原理图
图3-20 1位全加器的波形图
3.实验内容。
(1)按照教材完成1位全加器adder的设计,包括原理图输入、编译、综合、适配、仿真,并将此全加器电路设置成一个硬件符号入库。
(2)建立一个更高的原理图设计层次,取名为adder4.利用以上获得
的1位全加器构成4位全加器,电路原理图如图3-21所示。
图3-21 4位全加器电路原理图
4.实验结果。
首先按照原理图设计1位全加器,之后通过四个1位全加器正确连接后则设计出4位全加器,其波形图如上图所示.。
用原理图输入法设计四位全加器实验
实验一用原理图输入法设计四位全加器
一实验目的
熟悉利用Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二实验原理
一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。
而1位全加器可以按照5.4节介绍的方法来完成。
三实验内容
分层设计:
1:先设计一个一位半加器,由一个2输入与门一个非门和一个异或门构成。
2个input a和b
2个输出co 和so
Co为进位
半加器原理图如下所示:
半加器仿真波形图如下图所示:
一个一位全加器分别由2个刚设计的半加器构成,2个半加器之间通过一个2输入或门连接。
一位全加器设计原理图如下:
一位全加器仿真波形如下图所示:
2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。
其中A0 A1 A2 A3 B0 B1 B2 B3为2个四位输入,4位输出D0 D1 D2 D3为4个全加器so输出,4个co 进位依次连接,最后只输出一个进位co,表示最后结果总进位。
四位全加器原理图如下所示:
四位全加器波形图如下所示:
四实验总结
通过本次实验,我掌握了Quartus II 的原理图输入方法设计简单组合电路和层次化设计的方法和详细流
程。
4位全加器实验报告
四位全加器11微电子黄跃21【实验目的】采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。
【实验内容】加法器是数字系统中的基本逻辑器件。
多位加法器的构成有两种方式:并行进位和串行进位方式。
并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。
通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。
实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0).【实验原理】表2 全加器逻辑功能真值表图4 全加器方框图图5 全加器原理图多位全加器连接可以是逐位进位,也可以是超前进位。
逐位进位也称串行进位,其逻辑电路简单,但速度也较低。
四位全加器如图9所示,四位全加器是由半加器和一位全加器组建而成:图9 四位全加器原理图【实验步骤】(1)建立新工程项目:打开modelsim软件,进入集成开发环境,点击File→New project建立一个工程项目adder_4bit。
建立文本编辑文件:点击File→New在该项目下新建Verilog源程序文件并且输入源程序。
(2)编译和仿真工程项目:在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。
选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。
在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。
实验二 原理图输入法设计-4位加法器
实验二四位加法器的设计与仿真——原理图输入法一实验目的通过一个4位加法器的设计掌握QuartusII的原理图输入方法及层次化设计的方法。
二原理说明一个4位加法器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出co与相邻的的高位加法器的最低进位输入信号ci相接。
三实验内容与步骤1.按照参考图2.1完成全加器的设计,包括原理图输入、编译、仿真,并将此全加器电路设置成一个硬件符号入库。
图2.1全加器的设计电路操作步骤:(1)建立设计项目(Project):与实验一的操作相同。
(2)新建模块/原理图文件,进入图形编辑器方式。
执行File|New命令,选择“Block Diagram/Schematic File ”(模块/原理图文件)。
(3)选择元件。
在原理图编辑窗中的任何一个位置上双击鼠标的左键将跳出一个元件选择窗。
图2.2元件选择对话框(4)编辑图形文件在元件库找到自己想要的元件,放好后连线并添加输入输出端口,画出完整的电路图后保存并编译通过。
(5)对设计项目设置进行仿真:过程与方法与实验一相同。
(6)将设计项目设置成可调用的元件以便调用基本逻辑元件库参数可设置的强函数元件库基本逻辑元件库中的元件 由此输入所需要的元件名MAX+plus 库 图2.3 一位全加器的图形编辑文件图2.4 将一位全加器模块生成符号入库2.建立一个更高的原理图设计层次,调用以上获得的1位全加器构成4位加法器,并完成编译、综合、仿真。
3.设计文件打包上传。
四实验报告:详细叙述4位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;将实验原理、实验过程、仿真结果写进实验报告。
五思考题:为了提高加法器的速度,如何改进以上设计的进位方式?六选作内容:用一片74163和一片74138构成一个具有8路顺序脉冲输出的顺序脉冲产生器。
要求在原理图上标明第1路到第8路输出的位置。
实验一:四位加法器
必修实验:实验一:四位加法器实验目的:一、熟悉MAX+plusⅡ软件和AEDK实验箱操作二、熟悉可编程器件开发流程三、巩固VHDL语言四、掌握层次化设计方法实验内容:用层次化设计方法设计一个4位加法器:1.底层用文本输入方式,顶层用原理图输入方式,用结构体三种实现方式分别编写程序,编译,调试。
2.仿真,分析结果,绘制波形。
3绑定引脚,在教学实验箱上完成相应的搭线、下载.分析加法器实现的结果。
实验步骤:一、在计算机上用浏览器建立自己的文件夹,要求用英文。
二、用文本输入法建立底层模块:用三种结构体描述方法(行为、数据流、结构描述)给出一位全加器的VHDL语言描述。
建议使用模板。
文件建立后使用File-set current file to project建立项目,点工具栏上图符存盘检验。
点击菜单MAC+plusⅡ\HierarchyDisplay,观察此时的项目层次图。
(程序要求写在附页)。
三、用图形编辑器建立顶层文件,并存入前一步的文件夹中。
利用4个一位全加器,前一个的输出cout为下一个的输入cin来完成串行四位加法器。
文件建立后点工具栏上图符(完成存盘、将项目绑定到现有文件、检验三个步骤)。
点击菜单MAX+plusⅡ\Hierarchy Display,观察此时的项目层次图。
四、作时序仿真,画出时序仿真波形图。
(四位数据要求以总线形式显示)五、选择器件(max epm7128s-15),绑定引脚,设置下载接口,编程下载。
以按键模拟数字(注,板上无多余按键,C0不接)开关设置S2-7,OFF L8-L1 不允许显示实验注意事项:本实验的教学录像仅供不熟练者参考,已掌握者可以放手自己操作。
不应只是跟着录像走过场,而要真正理解MAX+plusⅡ这种EDA软件的设计流程,和层次化设计中的模块划分。
实验过程大约需要3-4个小时。
如果事先设计底层全加器程序,并复习课上内容和书上有关章节,理清设计流程,可以节约时间,并且效果会更好。
实验8 4位全加器
实验一.层次化4位加法器设计一实验目的掌握用VHDL 设计全加器的方法并实现。
二实验内容与要求学习用VHDL或原理土设计方法,掌握全加器的设计方式及表示方式,极其与二进制表示的转换方法,完成编译、综合、适配、仿真和实验箱上的硬件测试,通过数码管观察结果。
三实验平台(1)硬件:计算机、GX-SOC/SOPC-DEVLABCycloneII EP2C35F672C8核心扳(2)软件:Quartus II四实验原理通过动态扫描两组4BIT的二进制数据,同时还有一个单BIT的进位,把三者按照二进制加法原理进行加,求出和及进位,并通过电路显示出各部分数据(输入,输出)。
家属、被家属、“和”显示在共阳数码管上,进位输出显示在LED上。
五程序library IEEE;use IEEE.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity adder4b isport ( CIN,CLR_N: in std_logic;A,B : in std_logic_vector (3 downto 0);S: out std_logic_vector (3 downto 0);COUT: out std_logic);end entity;architecture adder4b_beba of adder4b issignal SINT: std_logic_vector (4 downto 0);signal AA,BB: std_logic_vector (4 downto 0);beginPROCESS(CLR_N)BEGINIF CLR_N='0' THEN --清零AA<="00000";BB<="00000";ELSEAA<='0'&A;BB<='0'&B;END IF;END PROCESS;SINT<=AA+BB+CIN;S<= SINT(3 downto 0);COUT<= SINT(4);end architecture;六引脚定义及代码:图1-1 引脚定义Qadd.tcl:# Copyright (C) 1991-2008 Altera Corporation# Your use of Altera Corporation's design tools, logic functions # and other software and tools, and its AMPP partner logic# functions, and any output files from any of the foregoing# (including device programming or simulation files), and any# associated documentation or information are expressly subject # to the terms and conditions of the Altera Program License# Subscription Agreement, Altera MegaCore Function License# Agreement, or other applicable license agreement, including, # without limitation, that your use is for the sole purpose of # programming logic devices manufactured by Altera and sold by # Altera or its authorized distributors. Please refer to the# applicable agreement for further details.# Quartus II: Generate Tcl File for Project# File: qadd.tcl# Generated on: Mon Oct 26 14:44:09 2009# Load Quartus II Tcl Project packagepackage require ::quartus::projectset need_to_close_project 0set make_assignments 1# Check that the right project is openif {[is_project_open]} {if {[string compare $quartus(project) "qadd"]} {puts "Project qadd is not open"set make_assignments 0}} else {# Only open if not already openif {[project_exists qadd]} {project_open -revision qadd qadd} else {project_new -revision qadd qadd}set need_to_close_project 1}# Make assignmentsif {$make_assignments} {set_global_assignment -name FAMILY "Cyclone II"set_global_assignment -name DEVICE EP2C35F672C8set_global_assignment -name ORIGINAL_QUARTUS_VERSION 8.0set_global_assignment -name PROJECT_CREATION_TIME_DATE "11:01:34 OCTOBER 26, 2009"set_global_assignment -name LAST_QUARTUS_VERSION 8.0set_global_assignment -name USE_GENERATED_PHYSICAL_CONSTRAINTS OFF -section_id eda_palaceset_global_assignment -name DEVICE_FILTER_PACKAGE FBGAset_global_assignment -name DEVICE_FILTER_PIN_COUNT 672set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8set_global_assignment -name VHDL_FILE ora.vhdset_global_assignment -name VHDL_FILE HADDER.vhdset_global_assignment -name VHDL_FILE f_ADDER.vhdset_global_assignment -name VHDL_FILE qadd.vhdset_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_COLOR 14622752 -section_id Topset_global_assignment -name LL_ROOT_REGION ON -section_id "Root Region"set_global_assignment -name LL_MEMBER_STATE LOCKED -section_id "Root Region"set_global_assignment -name VECTOR_WAVEFORM_FILE qadd.vwfset_global_assignment -name SIMULATION_MODE FUNCTIONALset_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVTTL"set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"set_global_assignment -name INCREMENTAL_VECTOR_INPUT_SOURCE qadd.vwfset_global_assignment -name USE_CONFIGURATION_DEVICE ONset_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "AS INPUT TRI-STATED"set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Topset_location_assignment PIN_B21 -to b[0]set_location_assignment PIN_B22 -to b[1]set_location_assignment PIN_AC10 -to s[0]set_location_assignment PIN_W11 -to s[1]set_location_assignment PIN_W12 -to s[2]set_location_assignment PIN_AE8 -to s[3]set_location_assignment PIN_AF8 -to s[4]set_location_assignment PIN_AE7 -to s[5]set_location_assignment PIN_AF7 -to s[6]set_location_assignment PIN_AA11 -to s[7]set_location_assignment PIN_F6 -to a[0]set_location_assignment PIN_A21 -to a[1]# Commit assignmentsexport_assignments# Close projectif {$need_to_close_project} {project_close}}七仿真图1-2 创建VHDL文件图1-3 定义PIN口图1-4 创建VERILOG文件图1-5 运行图1-6 仿真结果八导入程序图1-7 下载程序图1-8 实验结果。
四位全加器设计
一. 设计原理。
1.全加器与脉冲信号发生器电路图U1、U2 和 U3A 组成一位全加器, 个加数”由 U1A 的 1、2 “2 脚输入, “进位”有 U8A 的 5 脚输入, “全加和”由 U2C 的 8 脚输出到 D 触发器 U4A 的数据输出端 D,进位输出到 U8A 的 数据输入端。
和 U3C 组成的基本 RS 触发器和单刀双掷无 U3B 锁按键 KP 一起组成脉冲发生器,每按一次 KP 在 U3C 的管脚 8 形成的一个正位脉冲给所有 D 触发器提供 CP 脉冲 2 累加器 A 电路图由双 D 触发器 U4 和 U5 组成的“移位寄存器 A”保存累加器 的一个加数 3.累加器 B 电路图由双 D 触发器 U6 和 U7 组成的“移位寄存器 B”保存累加器 的另一个加数,D 触发器 U8A 保存进位位 C4.累加器电路图按下 KR 键可使所有 D 触发器复位为全 0,复位后可通过KA3-KA0 键分别设置加数 A 的各个位,通过 KB3-KB0 键分别 设置另一个加数 B 的各个位, 通过 KC 设置来自低位的进位 C。
按 KP 键 4 次产生 4 各 CP 脉冲完成累加, 结果在寄存器 A 中, 向高位的进位在 C 中,寄存器 B 全为 0.二、制作调试过程 1、 步骤 (1) 打印: 3 个电路图分别打印在 3 张要求大小的硫酸 将 纸上 (2) 裁板:裁切 3 张比电路图大小大一点的铜板 (3) 压图: 用过热机将电路图压在铜板上, 冷却后撕去硫 酸纸,检查电路是否完整 (4) 腐蚀:将铜板放在三氯化铁腐蚀液中腐蚀 (5) 钻孔:用钻孔机钻孔 (6) 焊接:用电烙铁将每个元器件焊接在正确的位置上 2、 准备工作 用万能表检查有没有短路、断路情况。
三、 测试。
(1) 全加器与脉冲信号发生器的测试 A0,B0,C 接逻辑开关,VCC 接电源,GND 解地,S,CO,CP 分 别接发光二极管。
EDA实验报告(四位全加器的实现)
实验一四位全加器的实现一、实验目的1、掌握Quartus9.0图形编辑输入法2、掌握Quartus环境下文件的编译、仿真及下载方法3、了解VHDL语言的设计流程4、掌握quartus环境下VHDL的使用方法二、实验内容1、用图形/原理图法实现4位全加器。
2、用VHDL语言实现4位全加器,必须使用元件例化。
3、仿真并通过。
3、下载到实验板,并验收三、实验步骤1、图形编辑发设计4位加法器(1)新建图形文件,设计一位全加器,逻辑电路图如下图(图1-1)所示。
图1-1(2)将设计好的一位全加器进行例化,操作为file→Create/Update→Create symbol files for currentfile,完成此操作后会在元器件符号表里找到刚刚做好的一位全加器。
(3)再新建一个图形文件,用四个已经做好的一位全加器级联成一个四位全加器,其逻辑原理图如图1-2所示。
编辑好后保存文件,在文件列表里找到该文件,右键→Set as Top-level Entity,将其设置为顶层文件,点击编译按钮就行编译。
图1-2(4)新建波形文件,赋予每个输入端口某种输入信号,保存波形文件,进行功能仿真,观察输出端波形与输入信号关系是否正确。
若不正确,查找问题所在并解决问题;若正确,则进行管脚分配,分配完毕后再编译一次使分配生效,连接DE2开发板到电脑,将文件下载到开发板进行验证。
2、用VHDL语言设计4位加法器(1)新建一个VHDL源文件,文件名为adder1.vhd,使用VHDL实现一位全加器,其VHDL代码如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adde1r ISPORT(A,B,Ci:IN STD_LOGIC;S,Co:OUT STD_LOGIC);END adder1;ARCHITECTURE qadder OF adder1 ISBEGINPROCESS(A,B,Ci)VARIABLE n1,n2,n3:STD_LOGIC;BEGINn1:=A AND B;n2:=A XOR B;n3:=Ci AND n2;Co<=n3 OR n1;S<=n2 XOR Ci;END PROCESS;END qadder;(2)再新建一个VHDL源文件,命名为adder4.vhd,在这里将adder 一位全加器例化并使用它,做成四位全加器,代码如下:library ieee;use ieee.std_logic_1164.all;entity adder4 isport(A,B:in std_logic_vector(3 downto 0);S:out std_logic_vector(3 downto 0);Co:out std_logic;Ci:in std_logic);end adder4;architecture adder_4 of adder4 iscomponent adderport(A:in std_logic;B:in std_logic;Ci:in std_logic;Co:out std_logic;S:out std_logic);end component;signal c1,c2,c3:std_logic;beginu1:adder port map(A(0),B(0),Ci,c1,S(0));u2:adder port map(A(1),B(1),c1,c2,S(1));u3:adder port map(A(2),B(2),c2,c3,S(2));u4:adder port map(A(3),B(3),c3,Co,S(3));end adder_4;(3)保存文件后将adder4设置为顶层文件并编译,编译通过后按照与图形编辑发一样的仿真、管脚分配方式进行操作,最后下载到开发板验证四、实验现象两种方式实现的四位加法器下载到DE2开发板后都可正常工作,其中使用SW0作为低位的进位,SW4~1作为数据B,SW8~5作为数据A,LDG3~0作为输出的结果,LEDG4作为输出的进位。
4 位加法器原理图设计
实验二 4 位加法器原理图设计一、实验目的1、进一步掌握 Quartus Ⅱ原理图输入设计法。
2、通过4位加法器的设计,掌握原理图输入法中的层次化设计。
二、实验原理So=a xor b; co=a and b;图 2-1 半加器原理图图 2-2 1位全加器原理图图 2-3 4 位加法器原理图4 位加法器(如图 2-3)是以 1 位全加器作为基本硬件,由 4 个 1 位全加器串行构成,1位全加器又可以由两个1位的半加器和一个或门连接而成(如图 2-2),而1位半加器可以由若干门电路组成(如图 2-1)。
三、实验内容本次实验使用 Altera FPGA 的开发工具 Quartus Ⅱ,利用原理图输入设计方法设计一个 4位加法器,取实验板上的 8 位按键的高 4 位与低 4 位分别作为 4 位加数与被加数,其中 8 个 LED 取 5 位作为结果输出,LED2~LED5 作为 4 位相加之和的输出结果,LED1作为两数高 4 位相加的进位 (LED 亮,表示低电平“0”, LED 灭,表示高电平“1”)四、实验步骤1、打开QUARTUS II软件,新建一个工程adder4bit。
2、建完工程之后,再新建一个Block Diagram/Schematic File。
在原理图编辑窗口绘制如图 2-1 的半加器原理图。
点击 File ->Save,将已设计好的图文件取名为:h_adder,并存在此目录内。
3、将 h_adder 设置成顶层实体。
在诸多文件打开的状态下,选中 h_adder.bdf为当前文件。
点击 Project → Set as Top-Level Entity。
4、编译。
如果发现有错,排除错误后再次编译。
直到编译通过就可以进行波形仿真了。
5、时序仿真。
建立波形文件,设置波形参量,再保存(注意: QuartusⅡ在波形仿真时,只支持一个与工程名同名的波形文件,所以在对多个文件进行波形仿真时,对波形文件都取工程名进行保存,后缀名为.vwf;若确实想保留多个波形文件,则可以分别命名,想对哪个波形文件进行仿真时,点击Processing->simulation Tool,在Simulation input中输入待仿真的波形文件即可,如图2-4所示) ,最后运行波形仿真。
武汉理工大学EDA实验原理图输入法输入的4位全加器和Verilog HDL语言输入的16进制频率计
学生实验报告书实验类别EDA实验学院信息工程学院专业通信工程班级信息SY1001班姓名龙涛指导教师聂明新2012 年12 月30 日实验课程名称:EDA技术与应用图2 1位全加器电路图d:\adder中,取名为h_adder.bdf。
4)建立原理图文件为顶层设计工程。
然后将此文件h_adder.bdf设定为工程。
5)绘制半加器原理图。
将元件放入原理图编辑窗口,按图1接好电路。
6)仿真测试半加器。
全程编译后,打开波形编辑器。
选择File→new命令,在New 窗口中选择Vector Waveform File选项。
设置仿真时间区域,编辑输入波形,仿真器参数设置,启动仿真器,观察仿真结果。
3、将设计项目(一位半加器)设置成可调用的元件为了构成全加器的顶层设计,必须将以上设计的半加器h_adder.bdf设置成课调用的底层元件。
在半加器原理图文件处于打开的情况下,选择菜单File→Create/Update→Create Symbol Files for Current File,即可将当前电路图变成一个元件符号存盘,以便在高层次设计中调用。
图3 半加器示意图4、设计全加器顶层文件为了建立全加器顶层文件,必须打开一个原理图编辑窗口,方法同前。
1)选择菜单File→new→Block Diagram/Schematic File,将其设置成新的工程,命名为f_adder.bdf。
2)在打开的原理图编辑窗口中,双击鼠标,选择Project下先前生成的元件h_adder和若干元器件,按图2连接好一位全加器电路图。
3)仿真测试全加器。
全程编译后,打开波形编辑器。
选择File→new命令,在New窗口中选择Vector Waveform File选项。
设置仿真时间区域,编辑输入波形,仿真器参数设置,启动仿真器,观察仿真结果。
5、将设计项目(一位全加器)设置成可调用的元件为了构成4位全加器的顶层设计,必须将以上设计的全加器f_adder.bdf设置成课调用的底层元件。
利用原理图输入法实现4位串行进位加法器
VHDL(一)模拟部分电子线路仿真实验报告实验名称:软件和实验箱介绍姓名:申红霞学号: 080404108班级: 08通信一班时间: 10.02南京理工大学紫金学院电光系一、实验目的1.讲解QuartusⅡ软件和实验箱的使用。
2.利用原理图输入法实现4位串行进位加法器。
3.重点掌握软件使用过程中工程建立、原理图输入方法、编译、仿真、管脚配置等。
二、实验原理1.加法器原理全加器真值表如图1所示:加法器真值表全加器表达式为:Si=Ai⊕Bi⊕Ci-1Ci=(Ai⊕Bi)Ci-1+AiBi全加器逻辑符号如图2所示:全加器逻辑符号2.利用全加器可以构成4位串行进位加法器,逻辑符号如图3所示:4位串行进位加法器逻辑符号图三、实验内容1.新建文件夹,在所新建的文件夹中利用QuartusⅡ软件建立新工程,设计原理图输入的一位全加器电路,如图4所示:图4、一位全加器电路2.对该图进行全编译,编译成功后,建立矢量波形文件,验证所设计的一位全加器电路的正确性,时序仿真结果和功能仿真结果如下图所示:图5、时序仿真结果图6、功能仿真结果由仿真波形分析可知,该全加器设计正确。
3.将设计好的全加器生成一个模块,如图7所示:图7、一位全加器器件4.将4个全加器串联,再添加相应的管脚和原件构成四位串行进位加法器,如图8所示:图8、四位串行进位加法器电路图5.将此文件设置为顶层文件,对该图进行全编译,编译成功后,建立矢量波形文件,添加相应的节点,为输入信号赋初值,功能仿真结果和时序仿真结果如下图:图9、功能仿真结果图10、时序仿真结果由仿真波形可知,电路设计正确。
6.利用模式实验箱来验证设计电路的正确性,设置管脚,管脚配置图如图11所示:图11、管脚配置图配置好使用管脚后,器件上未使用管脚也需进行设置,将它们设置为高阻状态。
7.管脚配置完,一定要重新编译一次。
编译后如图12所示:图12、配置管脚后电路图8.下载到实验箱中,对实验箱进行操作,验证电路是否正确。
EDA—VHDL的四位全加器
EDA —VHDL 的四位全加器设计1 设计分析全加器是能进行加数、被加数和低位来的进位信号相加,并根据求和结果给出该位的进位信号的加法电路。
其真值表如表1所示:根据真值表可得出下列表达式:根据以上表达式,可以用数据流方式设计出1位全加器。
要设计的是4位全加器,这里采用串行进位来设计。
先设计4个1位的全加器,然后将低位的进位输出与高位的进位输入相连,将要进行加法运算的两个4位数的每一位分别作为每一个1位全加器的输入,进行加法运算,所有的1位全加器的输出组成一个4位数,即输入的两个4位数之和,最高位的全加器产生的进位输出即两个4位数求和的进位输出。
4位全加器的原理图如图1所示:()()cinb a ab cin b a b a ab abcincin b a bcin a cin ab cout ⊕+=++=+++=()()()()cinb a cin b a cin b a cin ab b a cin b a b a abcin cin b a cin b a cin b a s ⊕⊕=⊕+⊕=+++=+++=图1 4位全加器原理图根据图1所示,可以采用结构化描述方式设计4位全加器。
2 程序设计设计的程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder1 IS --1位全加器设计PORT(a,b,cin:IN STD_LOGIC;s,cout:OUT STD_LOGIC);END adder1;ARCHITECTURE dataflow OF adder1 IS --用数据流方式设计1位全加器SIGNAL tmp:STD_LOGIC; --用tmp表示a⊕b BEGINtmp<=a XOR b AFTER 10 ns;s<=tmp XOR cin AFTER 10 ns;cout<=(a AND b)OR(tmp AND cin) AFTER 20 ns;END dataflow;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4 IS --4位全加器设计PORT(a,b:IN STD_LOGIC_VECTOR(3 DOWNTO 0);cin:IN STD_LOGIC;s:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);cout:OUT STD_LOGIC);END adder4;ARCHITECTURE structural OF adder4 IS --用结构化描述风格设计4位全加器COMPONENT adder1PORT(a,b,cin:IN STD_LOGIC;s,cout:OUT STD_LOGIC);END COMPONENT;SIGNAL x,y,z:STD_LOGIC;FOR u1,u2,u3,u4:adder1 USE ENTITY WORK.adder1(dataflow);BEGINu1:adder1 PORT MAP(a(0),b(0),cin,s(0),x);u2:adder1 PORT MAP(a(1),b(1),x,s(1),y);u3:adder1 PORT MAP(a(2),b(2),y,s(2),z);u4:adder1 PORT MAP(a(3),b(3),z,s(3),cout);END structural;3 仿真结果对上面的程序进行仿真,先对1位全加器仿真,结果如图2所示:图2 1位全加器仿真图由图2可以看出,1位全加器的仿真结果与表1相符,说明1位全加器设计成功。
EDA技术实验报告
EDA技术实验报告实验⼀利⽤原理图输⼊法设计4位全加器⼀、实验⽬的:掌握利⽤原理图输⼊法设计简单组合电路的⽅法,掌握MAX+plusII 的层次化设计⽅法。
通过⼀个4位全加器的设计,熟悉⽤EDA 软件进⾏电路设计的详细流程。
⼆、实验原理:⼀个4位全加器可以由4个⼀位全加器构成,全加器的进位以串⾏⽅式实现,即将低位加法器的进位输出cout 与相邻的⾼位加法器的低位进位输⼊信号cin 相接。
1位全加器f-adder 由2个半加器h-adder 和⼀个或门按照下列电路来实现。
半加器h-adder 由与门、同或门和⾮门构成。
四位加法器由4个全加器构成三、实验内容:1. 熟悉QuartusII 软件界⾯,掌握利⽤原理图进⾏电路模块设计的⽅法。
QuartusII 设计流程见教材第五章:QuartusII 应⽤向导。
2.设计1位全加器原理图(1)⽣成⼀个新的图形⽂件(file->new->graphic editor )(2)按照给定的原理图输⼊逻辑门(symbol ->enter symbol)COCO 1S 2S 3S 4(4)为管脚和节点命名:在管脚上的PIN_NAME处双击⿏标左键,然后输⼊名字;选中需命名的线,然后输⼊名字。
(5)创建缺省(Default)符号:在File菜单中选择Create Symbol Files for Current File项,即可创建⼀个设计的符号,该符号可被⾼层设计调⽤。
3.利⽤层次化原理图⽅法设计4位全加器(1)⽣成新的空⽩原理图,作为4位全加器设计输⼊(2)利⽤已经⽣成的1位全加器的缺省符号作为电路单元,设计4位全加器的原理图.4.新建波形⽂件(file->new->Other Files->Vector Waveform File),保存后进⾏仿真(Processing ->Start Simulation),对4位全加器进⾏时序仿真。
四位加法器实验报告
四位加法器实验报告四位加法器实验报告引言:在现代科技高速发展的时代,计算机已经成为人们生活中不可或缺的一部分。
而计算机的核心部件之一就是加法器。
加法器是计算机中用于实现加法运算的电子电路,其功能是将两个二进制数相加并输出结果。
本实验旨在通过搭建四位加法器电路,深入了解加法器的工作原理和实现方式。
一、实验目的通过本实验,我们的目的是掌握四位加法器的原理和工作方式,了解二进制数的加法运算规则,并通过实际搭建电路进行验证。
二、实验材料1. 电路板2. 电子元件:电阻、电容、晶体管等3. 电源线、导线4. 示波器、万用表等实验仪器三、实验步骤1. 搭建四位加法器电路根据实验原理,我们需要使用多个晶体管、电阻和电容等元件来搭建四位加法器电路。
首先,将电路板连接好电源线和导线,并按照电路图的要求依次连接各个元件。
确保连接正确无误后,进行下一步操作。
2. 进行加法运算在搭建好四位加法器电路后,我们可以通过输入两个二进制数并观察输出结果来进行加法运算。
将需要相加的两个二进制数输入到电路中,然后观察输出端的显示结果。
通过比对输入和输出的二进制数,可以验证加法器电路的正确性。
3. 测试电路的稳定性和可靠性在进行加法运算的过程中,我们还需要测试电路的稳定性和可靠性。
通过不断输入不同的二进制数并观察输出结果,可以检验电路在不同情况下的工作状况。
同时,还可以通过示波器等实验仪器对电路的波形进行观察和分析,进一步验证电路的性能。
四、实验结果与分析通过实验,我们成功地搭建了四位加法器电路,并进行了加法运算测试。
实验结果显示,电路能够正确地将输入的二进制数相加,并输出相应的结果。
同时,在测试电路的稳定性和可靠性时,电路表现出了较好的工作状态,波形稳定且无明显干扰。
五、实验总结通过本次实验,我们深入了解了四位加法器的工作原理和实现方式,并通过实际搭建电路进行了验证。
实验结果表明,四位加法器电路能够准确地进行二进制数的加法运算,并具备较好的稳定性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一用原理图输入法设计四位全加器
一实验目的
熟悉利用Quartus II 的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行原理图输入方式的电子线路设计的详细流程。
二实验原理
一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout 与相邻的高位加法器的最低进位输入信号cin 相接。
而1位全加器可以按照5.4节介绍的方法来完成。
三实验内容
1:完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设计成一个硬件符号入库。
键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum和cout。
半加器原理图如下所示:
半加器仿真波形图如下图所示:
一位全加器原理图如下所示:
一位全加器仿真波形如下图所示:
2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成4位全加器,并完成编译、综合、适配、仿真、和硬件测试。
建议选择电路模式1(附图F-2):键2、键1输入4位加数:键4、键3输入4位被加数:数码6和数码5显示加和:D8显示进位cout。
四位全加器原理图如下所示:
四位全加器波形图如下所示:
四实验总结
通过本次实验,我掌握了Quartus II 的原理图输入方法设计简单组合电路和层次化设计的方法和详细流程。