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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

64位加法器设计解析.docx

1、64位加法器设计解析六十四位全加器的设计一、实验目的:设计一个64位的全加器实现加法功能。二、实验要求:用两种方法实现64位全加器。第一种:用Sedi画出64位全加器电路图,并生成网表,然后进行功能验证,最后将电路图生成版图。第二种:用VHDL语言写出64位全加器的程序表达式,并进行功能验证,最后将程序语言转换成电路图。三、实验过程3、1分析一次画出64 位全加很有难度,但考虑到全加器的结构,我们可以用4个16位的全加器组成一个64位的加法器。同样,一个16位的全加器可以由4个4位全加器组成,一个4位全加器可以由4个一位全加器组成。一位全加器又可以由三个半加器或两个半加器与一个或门组成。所以整

2、个设计思路可以简化为:半加器一位全加器四位全加器十六位全加器六十四位全加器3、2功能设计与验证(画图法)3、2、1半加器设计半加器实现加法,输入A、B,输出C、S(C 为进位,S为本位);半加器真值表如下:ABCS0000010110011110分析真值表得出:C=AB; 所以得出半加器的电路图为:半加器符号图:()()() 与非门 或非门 非门3 、2、2一位全加器设计一位全加器可由三个半加器组成电路图如下:一位全加器的电路图符号如下:3、2、3四位全加器的设计四位全加器可由四个一位全加器组成,四位全加器电路图如下:四位全加器符号图如下:网表输入如下:1、添加工作电压;Vvdd vdd GN

3、D 52、添加模型文件;.include D:icedaTannerPro9TSpice7.0modelsml2_125.md3、添加输入信号;VA0 A0 GND PULSE (0 5 0 5n 5n 50n 100n)VA1 A1 GND PULSE (0 5 0 5n 5n 100n 200n)VA2 A2 GND PULSE (0 5 0 5n 5n 150n 300n)VA3 A3 GND PULSE (0 5 0 5n 5n 120n 240n)VB0 B0 GND PULSE (0 5 0 5n 5n 50n 100n)VB1 B1 GND PULSE (0 5 0 5n 5n

4、100n 200n)VB2 B2 GND PULSE (0 5 0 5n 5n 150n 300n)VB3 B3 GND PULSE (0 5 0 5n 5n 120n 240n)VCi Ci GND PULSE (0 5 0 5n 5n 50n 100n)4、添加参数设置;.param l=0.5u5、输出设置;.print tran v(A0) v(A1) v(A2) v(A3) v(B0) v(B1) v(B2) v(B3) v(Ci) v(S0) v(S1) v(S2) v(S3) v(C)6、设置分析;.tran/op 1n 400n method=bdf总网表如下.include

5、D:icedaTannerPro9TSpice7.0modelsml2_125.mdVvdd vdd GND 5VA0 A0 GND PULSE (0 5 0 5n 5n 50n 100n)VA1 A1 GND PULSE (0 5 0 5n 5n 100n 200n)VA2 A2 GND PULSE (0 5 0 5n 5n 150n 300n)VA3 A3 GND PULSE (0 5 0 5n 5n 120n 240n)VB0 B0 GND PULSE (0 5 0 5n 5n 50n 100n)VB1 B1 GND PULSE (0 5 0 5n 5n 100n 200n)VB2 B2

6、 GND PULSE (0 5 0 5n 5n 150n 300n)VB3 B3 GND PULSE (0 5 0 5n 5n 120n 240n)VCi Ci GND PULSE (0 5 0 5n 5n 50n 100n).param l=0.5u.tran/op 1n 400n method=bdf.print tran v(A0) v(A1) v(A2) v(A3) v(B0) v(B1) v(B2) v(B3) v(Ci) v(S0) v(S1) v(S2) v(S3) v(C)(由于步骤相同,以此为例,后面网表添加均简写)仿真结果:(四位全加器仿真图)3、2、4十六位全加器的设计十

7、六位全加器可由四个四位全加器组成,十六位全加器电路图如下:十六位全加器符号图如下:网表输入:仿真图如下:3、2、5 六十四位全加器的设计六十四全加器可由四个十六位全加器组成,六十四位全加器电路图如下:六十四位全加器符号图如下:网表添加如:六十四位全加器仿真图:六十四位全加器生成版图:1、加压焊块将设计好的六十四位全加器的电路图例化进新的module中,然后引用PAD模块和端口。六十四位加法器电路的每一个输入输出端都要加上输入输出压焊块,在库模块文件(d:icedaTannerPro9Sedit8.1tutorialschematiclights.tdb )中已经有绘制好的压焊块模块,主要包括P

8、adGnd、PadVdd、IPAD、OPAD。 加好压焊块后如图;2、输出tpr文件。3、Ledit参数重置。4、输出版图:六十四位全加器的版图四、第二种方法实现六十四位全加器设计思路和第一种方法类似,只不过是用VHDL语言实现。主要程序代码如下;4、1或门程序library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity huomen is Port ( a : in std_logic; b : in std_logic; c : out

9、 std_logic);end huomen;architecture Behavioral of huomen isbegin c=a or b;end Behavioral;或门电路图4、2半加器程序;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity banjia is Port ( a : in std_logic; b : in std_logic; s : out std_logic; c : out std_logi

10、c);end banjia;architecture Behavioral of banjia isbegin c=a and b; sa,b=b,c=D,s=E);u2:banjia port map (a=ci,b=E,c=F,s=s1);u3:huomen port map (a=F,b=D,c=c1);end Behavioral;一位全加器电路图:一位全加器电路图:(四位与十六位加法器程序类似,此处略去。)4、4四位全加器程序;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.

11、STD_LOGIC_UNSIGNED.ALL;entity quanjia_4 is Port ( a4 : in std_logic_vector(3 downto 0); b4 : in std_logic_vector(3 downto 0); ci4 : in std_logic; c4 : out std_logic; s4 : out std_logic_vector(3 downto 0);end quanjia_4;architecture Behavioral of quanjia_4 iscomponent quanjia_1 Port ( a : in std_logic

12、; b : in std_logic; ci : in std_logic; c1 : out std_logic; s1 : out std_logic);end component;signal D,E,F:std_logic;beginu1:quanjia_1 port map (a=a4(0),b=b4(0),ci=ci4,s1=s4(0),c1=D);u2:quanjia_1 port map (a=a4(1),b=b4(1),ci=D,s1=s4(1),c1=E);u3:quanjia_1 port map (a=a4(2),b=b4(2),ci=E,s1=s4(2),c1=F);

13、u4:quanjia_1 port map (a=a4(3),b=b4(3),ci=F,s1=s4(3),c1=c4);end Behavioral;四位全加器电路图:4、5十六位全加器程序:library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity quanjia_16 is Port ( a16 : in std_logic_vector(15 downto 0); b16 : in std_logic_vector(15 downt

14、o 0); ci16 : in std_logic; c16 : out std_logic; s16 : out std_logic_vector(15 downto 0);end quanjia_16;architecture Behavioral of quanjia_16 iscomponent quanjia_4 Port ( a4 : in std_logic_vector(3 downto 0); b4 : in std_logic_vector(3 downto 0); ci4 : in std_logic; c4 : out std_logic; s4 : out std_l

15、ogic_vector(3 downto 0);end component;signal D,E,F:std_logic;beginu1:quanjia_4 port map (a4(3 downto 0)=a16(3 downto 0),b4(3 downto 0)=b16(3 downto 0),s4(3 downto 0)=s16(3 downto 0),ci4=ci16,c4=D);u2:quanjia_4 port map (a4(3 downto 0)=a16(7 downto 4),b4(3 downto 0)=b16(7 downto 4),s4(3 downto 0)=s16

16、(7 downto 4),ci4=D,c4=E);u3:quanjia_4 port map (a4(3 downto 0)=a16(11 downto 8),b4(3 downto 0)=b16(11 downto 8),s4(3 downto 0)=s16(11 downto 8),ci4=E,c4=F);u4:quanjia_4 port map (a4(3 downto 0)=a16(15 downto 12),b4(3 downto 0)=b16(15 downto 12),s4(3 downto 0)=s16(15 downto 12),ci4=F,c4=c16);end Beha

17、vioral;十六位全加器电路图:4、6六十四为加法器程序;library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity quanjia_64 is Port ( a64 : in std_logic_vector(63 downto 0); b64 : in std_logic_vector(63 downto 0); ci64 : in std_logic; c64 : out std_logic; s64 : out std_logi

18、c_vector(63 downto 0);end quanjia_64;architecture Behavioral of quanjia_64 iscomponent quanjia_16Port ( a16 : in std_logic_vector(15 downto 0); b16 : in std_logic_vector(15 downto 0); ci16 : in std_logic; c16 : out std_logic; s16 : out std_logic_vector(15 downto 0);end component;signal D,E,F:std_log

19、ic;beginu1:quanjia_16 port map (a16(15 downto 0)=a64(15 downto 0),b16(15 downto 0)=b64(15 downto 0),s16(15 downto 0)=s64(15 downto 0),ci16=ci64,c16=D);u2:quanjia_16 port map (a16(15 downto 0)=a64(31 downto 16),b16(15 downto 0)=b64(31 downto 16),s16(15 downto 0)=s64(31 downto 16),ci16=D,c16=E);u3:qua

20、njia_16 port map (a16(15 downto 0)=a64(47 downto 32),b16(15 downto 0)=b64(47 downto 32),s16(15 downto 0)=s64(47 downto 32),ci16=E,c16=F);u4:quanjia_16 port map (a16(15 downto 0)=a64(63 downto 48),b16(15 downto 0)=b64(63 downto 48),s16(15 downto 0)=s64(63 downto 48),ci16=F,c16=c64);end Behavioral;仿真结果:符号图如下:生成六十四位全加电路图;

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

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