8位ALU (quartus2设计 & 设计报告)

合集下载

QuartusII软件使用及设计流程

QuartusII软件使用及设计流程



Quartus II 设计流程
一、 设计输入
1.建立工程Project
任何一项设计都是一项工程(Project),都必须首先为 此工程建立一个放置与此工程相关的所有设计文件的文件 夹。此文件夹将被EDA软件默认为工作库(Work Library)。一般,不同的设计项目最好放在不同的文件夹 中,而同一工程的所有文件都必须放在同一文件夹中。
(2)选择元件。在原理图编辑窗中的任何一个位置上双
击鼠标的左键将跳出一个元件选择窗。
参数可设置的强函数元件库
MAX+plus库
基本逻辑元件库
基本逻辑元件库中的元件
由此输入所需要的元件名
(3)连接各元器件并命名。

在图1-39中,将光标移到input右侧,待变成十字形光标 时,按下鼠标左键(或选中工具栏中的 工具,光标自动 会变成十字形的连线状态),再将光标移动到异或门的左 侧,待连接点上出现蓝色的小方块后释放鼠标左键,即可 看到input和异或门之间有一条连线生成。 重复上面的方法将1-39图中各种符号连接起来,如图1-40 所示。
(4)第三方工 具选择。 如图1-7所示ቤተ መጻሕፍቲ ባይዱ 用户可以选择所 用到的第三方工 具,比如 ModleSim、 Synplify等。在 本例中并没有调 用第三方工具, 可以都不选.
(5)确认信息对话框。 图1-8所示。建立的工程的名称、选择的器件和 选择的第三方工具等信息,如果无误的话就可 以单击“Finish”按钮,弹出如图1-9所示的窗口, 在资源管理窗口可以看到新建的工程名称 half_add。
(1)打开建立新工程管理窗。选择菜单File→New Preject Wizard 命令,即弹出“工程设置”对话框(图1-3),以 此来建立新的工程。

在QuartusII中用原理图输入法设计8位全加器

在QuartusII中用原理图输入法设计8位全加器

VHDL与集成电路设计实验报告实验二:在QuartusII中用原理图输入法设计8位全加器姓名院系学号任课教师指导教师评阅教师实验地点实验四号楼611室实验时间2012 年11月实验目的:熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试实验原理:一个8位全加器可以由8个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相临的高位加法器的最低进位输入信号cin相接。

而一个1位全加器可以按照6.1节的方法来完成实验内容:实验内容1:按照6.1节介绍的方法与流程,完成半加器和全加器的设计,包括原理图输入、编译、综合、适配、仿真、实验板上的硬件测试,并将此全加器电路设置成一个硬件符号入库。

键1、键2、键3(PIO0/1/2)分别接ain、bin、cin;发光管D2、D1(PIO9/8)分别接sum 和cout实验内容2:实验内容2,建立一个更高层次的原理图设计,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真和硬件测试。

建议选择电路模式1(附录图3);键2、键1输入8位加数;键4、键3输入8位被加数;数码6/5显示加和;D8显示进位cout实验过程:1、先建立工程,再建立第一个半加器.bdf文件,进行元件逻辑器件选择,放置好端口器件,连接好线,改好名字2、进行编译综合。

3、再在半加器的基础上建立全加器。

注意半加器要进行包装成一个元件。

4、再在全加器的基础上建立起8位全加器。

同样要把全加器进行包装。

5、仿真分析:建立一个.vwf文件,设定好各个输入端口频率,进行仿真分析。

6、硬件测试:引脚锁定,综合,接实验箱的线,打开电源,如果没有驱动,进行驱动选择。

点击下载按钮,进行下载测试。

5、测试过程及结果:引脚锁定4个按键,按前两个按键,前两位的数码管的前两个数码管显示两个数,还有另外两个数码管6/5显示和,按另外两个键,后两位的数码管显示当前的数,结果那6/5两个数码管显示这两个数加起来的和。

数电课程设计报告Quartusll软件设计环境中利用一位全加D锁存器或者D触发器实现8位二进制加法器

数电课程设计报告Quartusll软件设计环境中利用一位全加D锁存器或者D触发器实现8位二进制加法器

数学逻辑课程设计报告一、课程设计题目和要求在Quartus ll软件设计环境中利用一位全加D锁存器或者D触发器实现8位二进制加法器,将其进行功能仿真。

二、课程设计目的课程设计是培养我们学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,数字电子技术已经成为当今计算机应用中重要的基础领域,在生活中可以说得是无处不在。

因此作为二十一世纪的大学来说掌握运用数字电子技术与逻辑电路的开发技术是十分重要的。

课程设计的目的与要求:1、了解基本的逻辑门电路。

2、在实际应用中学会实验元件的作用和工作方式。

3、提高自己的动手动脑能力,将在课堂上学到的知识应用到实际当中。

三、实验条件QUARTUS II 9.0软件、计算机四、实验设计思路1、打开QUARTUS II 9.0软件新建工程并打开作图界面。

2、按照实验要求搭好电路3、我们采用了一个74283的四位全加器,又根据题目的要求用一位的全加器因此只利用其中一位,输出输入端如图所示:4、之后我们又考虑到8位数据的存储与输出,因此我们重复使用了8次D触发器来得到八位的数据存储。

五、仿真和仿真结果1、在软件中绘制好电路图后,建立工程文件,经过编译后建立波形文件。

在波形文件中设置参数,时间为区域设为10ns。

下图为该电路实验在RTL viewer下的电路示意图。

2、功能仿真结果图:六、实验的不足在实验设计的过程中,由于对软件的使用和操作不是太熟练由此而导致一些问题的不断产生,电路的输入也不是规则有序的输入信号,因此只能实现以上的试验结果,初步的达到了本次课程设计的实验要求。

七、心得体会通过这次课程设计,加强了我们动手、思考和解决问题的能力。

在整个设计过程中,我们通过这个方案包括设计了一套电路原理和了解芯片的选择。

回顾起此次数字电子技术课程设计,至今我仍感慨颇多,的确,从查资料到定稿,从理论到实践,在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。

八位全加器原理图设计实验报告

八位全加器原理图设计实验报告

南通大学计算机科学与技术学院课程实验报告
课程名称:计算机组成原理年级:2012级上机日期:11月6日姓名:学号:班级:信管122
实验名称:八位全加器设计教师:陈越成绩:
上图为n个1位的全加器FA级联成的n位的行波进位加减器。

M为方式控制输入线,当M=0时,做加法运算;当M=1时,做减法运算。

图中左边还表示出单符号位法的溢出检测逻辑:当C n=C n-1时,运算无溢出;而当C n≠C n-1时,运算有溢出,经异或门产生溢出信号,0无溢出,1表示溢出。

四、内容及步骤(包括程序流程及说明)
1.建立add8项目
2.建立一位全加器原理图,输入如下
3.将一位全加器封装成芯片FA,如图
4.将FA级联成8位全加器如图,至此8位全加器原理图设计完毕
四、运行结果
建立波形文件,验证8位全加器。

Quartus_II设计八位加法器

Quartus_II设计八位加法器

Q u a r t u s_I I设计八位加法器(总19页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--摘要关键词: 8位加法器;EDA(电子设计自动化);QuartusⅡ(可编程逻辑软件)目录第1章概述..................................................................................................... 错误!未定义书签。

EDA的概念 ...................................................................................................... 错误!未定义书签。

硬件描述语言概述........................................................................................ 错误!未定义书签。

第2章QUARTUS II ...................................................................................... 错误!未定义书签。

QUARTUSII概述............................................................................................. 错误!未定义书签。

QUARTUSII建立工程项目......................................................................... 错误!未定义书签。

QUARTUSII建立原理图输入文件 .......................................................... 错误!未定义书签。

用Quartus II设计电子琴

用Quartus II设计电子琴

(数控分频模块仿真图)
4.自动演奏模块程序与仿真
c.vhd --功 能:实现自动演奏功能。 --最后修改日期:2004.3.19。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity automusic is Port ( clk,Auto : in std_logic; --系统时钟;键盘输入/自动演奏 index2 : in std_logic_vector(7 downto 0); --键盘输入信号 index0 : out std_logic_vector(7 downto 0));--音符信号输出 end automusic; architecture Behavioral of automusic is signal count0:integer range 0 to 31;--change signal clk2:std_logic; begin
--音符输入信号 --音符显示信号 --高低音显示信号 --音符的分频系数


search :process(index) --此进程完成音符到音符的分频系数译码,音符的显示,高低音阶 begin case index is when "00000001" => tone0<=773;code<="1001111";high<='1'; when "00000010"=> tone0<=912;code<="0010010";high<='1'; when "00000100" => tone0<=1036;code<="0000110";high<='1'; when "00001000" => tone0<=1116;code<="1001100";high<='1'; when "00010000" => tone0<=1197;code<="0100100";high<='1'; when "00100000" => tone0<=1290;code<="0100000";high<='0'; when "01000000" => tone0<=1372;code<="0001111";high<='0'; when "10000000" => tone0<=1410;code<="0000000";high<='0'; when others => tone0<=2047;code<="0000001";high<='0'; end case; end process; end Behavioral;

8位全加器的设计

8位全加器的设计

二、实验原理:一个8位全加器可以由2个4位全加器构成,加法器间的进位可以用串行方式实现,即将低位加法器的进位输出与相临的高位加法器的低进位输入信号相接。

4位全加器采用VHDL语言输入方式进行设计,将设计的4位全加器变成一个元件符号,在8位全加器的设计中进行调用。

三、实验内容和步骤:1. 采用VHDL语言输入方式设计4位全加器(1)打开QuartusII,执行File|New,在New窗口中的Device Design Files 中选择VHDL Files,然后在VHDL文本编译窗中输入程序。

执行File|Save As,找到已设立的文件夹,存盘文件名应该与实体名一致。

(2)将设计项目设置成可调用的元件选择File→create/update→create symbol Files for current file命令,将转换好的元件存在当前工程的路径文件夹中。

2.采用原理图输入方式设计8位全加器(1)打开QuartusII,执行File|New,选择block diagram/schematic file,在原理图编辑窗口中连接好8位全加器电路图(注意元件的调用),存盘。

(2)创建工程:执行File|New Project Wizard,选择目标芯片。

(3)编译:执行Processing|Start Compilation命令,进行编译。

(4)引脚锁定:在菜单Assignments中选Assignments Editor按钮,先单击右上方的Pin,再双击下方最左栏的“New”选项,弹出信号名栏,锁定所有引脚,进行编译,存盘。

选择编程模式1,键2、键1输入8位加数,键4、键3输入8位被加数,键8输入进位cin,数码管6/5显示和,D8显示进位cout。

5. 编程下载及验证:执行Tool|Programmer命令,选择program/config;执行start,进行验证,记录结果。

4位全加器的参考源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY adder4b ISPORT(cin: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 adder4b;ARCHITECTURE art OF adder4b ISSIGNAL sint,aa,bb:STD_LOGIC_VECTOR(4 DOWNTO 0);BEGINaa<='0'&a;bb<='0'&b;sint<=aa+bb+cin;s<=sint(3 downto 0);cout<=sint(4);END art;触发器功能的模拟实现三、实验内容:基本RS触发器、同步RS触发器、集成JK触发器和D触发器同时集成在一个芯片上,实现的原理图如下:输入信号Sd、Rd对应的管脚接按键开关,CLK1、CLK2接时钟源(频率<5Hz);J,K,D,R,S对应的管脚分别接拨码开关;输出信号QRS,NQRS,QRSC,NQRSC,QJK,NQJK,QD,NQD对应管脚分别接LED灯。

用原理图方法设计8位全加器

用原理图方法设计8位全加器

实验报告一一、实验目的熟悉利用QuartusII的原理图输入方法设计简单电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子线路设计的详细流程。

二、实验内容1.根据工作原理,完成1位半加器和全加器的设计;2.建立一个更高的原理图设计层次,利用以上获得的1位全加器构成8位全加器,并完成编译、综合、适配、仿真。

三、实验环境计算机、QuartusII软件四、实验步骤1.根据半加器工作原理,建立电路并仿真,并将元件打包。

(1)电路(2)仿真:仿真结果分析:S为和信号,当A=1,B=0或A=0,B=1时,和信号S为1,否则为0.当A=B=1时,产生进位信号,及CO=1。

(3)打包后的文件:2.利用半加器构成一位全加器,并打包。

(1)电路(2)仿真仿真结果分析:CI为来自低位的进位,S=A xor B xor CI,即:当A,B,CI中有一位为高电平‘1’或者三位同时高电平为‘1’,则S=1,否则S=0;当A,B,CI有两位或者三位同为高电平‘1’时,产生进位信号CO=‘1’。

(3)打包后的文件3.利用全加器构成8位全加器,并完成编译、综合、适配、仿真。

(1)电路(2)仿真仿真结果分析:八位全加器,和S分别与A,B 对应。

当来自第七位的进位信号为‘1’、A 的最高位和B的最高位三者有两个位高电平‘1’时,则产生进位信号CO=‘1’。

五、实验结果与讨论实验的仿真结果与预计的结果一致,所以所设计的电路是正确的。

不足的地方有:1、对软件还不够熟悉,所以操作的有点慢;2、设计电路时,由于数字电路的知识有些开始淡忘了,所以应当及时去补缺补弱。

六、总结思考题:为了提高加法器工作速度,如何改进以设计的进位方式?答:采用超前进位。

串行加法器的第i位进位是由0~(i-1)决定的,而超前进位是事先得出每一位全加器的进位输出信号,而无需再从低位开始向高位逐位传递进位信号了,这就有效地提高了工作速度了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8位ALU
内容:1)本设计要求该处理器的数据宽度是8bit,可以实现算术加法、算术减法、逻辑与、逻辑或、逻辑非、逻辑与非、逻辑或非和逻辑异或等8 种运算。

2)用选择端Choice[3..0]选择8种运算,2个操作数分别是A[3..0]和B[3..0],运算结果是S[3..0]以及标志位OV(OverFlow)和Cout;
并定义当选择端为000为算术加法、001为算术减法、010为逻辑与、011为逻辑或、100为逻辑非(只对数据A求非)、101为逻辑与非、 110为逻辑或非、111为逻辑异或。

3)整个ALU的设计上均采用补码形式输入和输出,其中第一位为符号位。

4)使用DE-2板上的3个拨码开关要来设置当前ALU的运算功能,再由8个拨码开关给定数据A和数据B,由一个按键手动提供脉冲。

该设计的顶层模块图如下页所示:
设计说明:本设计共有6个模块组成,包括:
1)脉冲输出器,计数依次产生四个脉冲到各个部件;
2)寄存器A,第一个脉冲来时锁存数据A;
3)寄存器B,第二个脉冲来时锁存数据B;
4)8位ALU,由两个4位ALU组成;第三个脉冲来时进行运算;
5)寄存器S,第四个脉冲来时锁存结果S;
6)结果显示器,将结果显示在DE2板上。

其中右上角的test[7..0]输出端是为了仿真方便看结果。

对其进行时序仿真,其中各引脚含义如下:
KEY[0] 即一脉冲按键,用于手动给脉冲,在此给一个60ns的时钟脉冲;
SW[7..0] 即给定数据A和数据B,第一个脉冲给数据A,第二个脉冲给数据B;
choice[3..0] 功能选择端;
LEDR[17] 如上图可知其为进位输出端;
LEDR[10] 如上图可知其为溢出输出端;
test[7..0] 结果输出端;
时序仿真图如下图一所示:(加法)
图一
现对前四个脉冲进行分析:
第一个脉冲,锁存数据A,由图的SW可知A=0;
第二个脉冲,锁存数据B,由图的SW可知B=1;
第三个脉冲,进行运算
第四个脉冲,锁存结果,由图的test可知S=1
之后的原理同上。

下面给出8位ALU的设计图:
设计说明:
1)其中输出端sub_in当加减模块,且做减法时为高(数据B取非后的加1);
2)其主要由两个4位的ALU串联而成。

下面给出四位ALU的设计图:
设计说明:
1)最上面为一个四位八路的或,即每一位都是由八个结果的该位或而得(没选中的模块输出全为0);
2)中间位7个运算模块,选中时/choice端输入为低,未选中的模块其输出结果都为0;
3)左下角为一个选择模块,根据输入的choice选中相应的模块低电平有效(类似74138),其另一输出端add/sub为是否选中加减法模块的输出端,选中为0。

4) 加减法模块做加或减法由其输入端sub//add决定,低表示做加法,其连接选择模块的SL[0]即当choice为000(加法)时为低。

Cout OV sub_in S[3..0]
将sub_in接回Cin,对其做仿真,仿真图如下图二:(减法)
图二
如图二,OV端:当 2 - (-8) = 10(溢出),故OV端变为高,而在 2 - (-5) = 7(未溢出),OV变为低,其他亦同;
Cout端:当2 - 0时相当于 2 + (-0)即其二进制形式为 0010 + 1111 + 1(Cin) = 1 0010,故Cout端为高,其他亦同。

将sub_in接回Cin,改变Choice端做仿真,仿真图如下图三:
图三
如图三,当第一个脉冲来时,A和B存入到寄存器中,之后通过改变Choice改变选中的模块,最终得出不同的结果;
当Choice为0(000)时,加法,3+1 = 4;当Choice为1(001)时,减法,3-1 = 2;
当Choice为2(010)时,与,3(0011)与1(0001)= 1(0001);
当Choice为3(011)时,或,3(0011)或1(0001)= 3(0011);
当Choice为4(100)时,非,3(0011)非 = 12(1100);
当Choice为5(101)时,与或,3(0011)与非1(0001)= 14(1110);
当Choice为6(110)时,或非,3(0011)或非1(0001)= 12(1100);
当Choice为7(111)时,异或,3(0011)异或1(0001)= 2(0010)。

下面给出加减法模块的设计图:
设计说明:
1)当/choice为低时(选中该模块),二路选择器选中其in_B端的输入,否则,二路选择器选中其in_A端的输入(接地),即加法器的输出结果为0000 + 1111(未选中时sub//add为高) + 1(sub//add为高故sub_in为高即Cin为高) = 0000 。

2)当选中该模块做减法时,sub//add端为高,如图对数据B再作为加法器的一个操作数,sub_in端为高(该输出在串联两个4位ALU是接回低位的ALU的Cin端,即相当于做减法时加一);
下面给出上图的4位2路选择器的设计图:
设计说明:
1)当A//B端为高时输出输入端in_A的数据,当A//B端为低时输出输入端in_B的数据。

下面给出加减法模块中的4位加法器的设计图:
设计说明:
1)整个加法器由四个全加器串联和一个先行进位端组成;
2)最上面的是先行进位器,其通过3级门电路便可输出结果,而最高位(S[3])的Cout则需要8级门电路,当串联时其能提高其上一个加法器的Cin端的输入。

其中的先行进位端具体设计图如下:
设计说明:
求出两个操作数各个位上的两个数的与G[n](即两个数都为1)、异或P[n](即两个数中有一个为1);则第四位的进位为:Cout = G[4]⊕P[4]G[3]⊕P[4]P[3]G[2]⊕P[4]P[3]P[2]G[1]⊕P[4]P[3]P[2]P[1]Cin
硬件验证:
使用DE-2板上的3个拨码开关要来设置当前ALU的运算功能,再由8个拨码开关给定数据A和数据B,由按键KEY[0]手动提供脉冲;第四个脉冲后观看输出结果是否正确。

相关文档
最新文档