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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(电子科大计算机学院数字逻辑实验报告 Verilog组合逻辑设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

电子科大计算机学院数字逻辑实验报告 Verilog组合逻辑设计.docx

1、电子科大计算机学院数字逻辑实验报告 Verilog组合逻辑设计电 子 科 技 大 学实 验 报 告学生姓名:郫县阿基王 学 号:26 指导教师:唐明一、实验项目名称: Verilog组合逻辑设计二、实验目的:使用ISE软件和Verilog语言进行组合逻辑的设计与实现。三、实验内容:13-8译码器的设计和实现。24位并行进位加法器的设计和实现。3两输入4位多路选择器的设计和实现。实验要求如下:1采用Verilog语言设计,使用门级方式进行描述。2编写仿真测试代码。3编写约束文件,使输入、输出信号与开发板的引脚对应。4下载到FPGA开发板,拨动输入开关,观察Led灯的显示是否符合真值表。四、实验原

2、理:174x138译码器是输出低有效的3-8译码器。表1所示为74x138译码器的真值表。表1 74x138译码器的真值表输入输出G1G2A_LG2B_LCBAY7_LY6_LY5_LY4_LY3_LY2_LY1_LY0_L0xxxxx11111111x1xxxx11111111xx1xxx111111111000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111根据3-8译码器的真值表,可得输出的函数表达式为根据上述函数表达式,

3、可画出逻辑电路图为。图1 3-8译码器的逻辑电路图2. 数据选择器的逻辑功能是根据地址选择端的控制,从多路输入数据中选择一路数据输出。因此,它可实现时分多路传输电路中发送端电子开关的功能,故又称为复用器(Multiplexer),并用MUX来表示。表2 2输入1位多路选择器的真值表数据输入选择控制S输出YD0D100000100100111010010011110101111 2选1数据选择器的真值表如表1所示,其中,D0、D1是2路数据输入,S为选择控制端,Y为数据选择器的输出,根据真值表可写出它的输出函数表达式为: 如果输入再加上低有效的输入使能端,则输出的表达式变为根据上述函数表达式,可

4、画出2输入4位多路选择器的逻辑电路图为。图2 2输入4位多路选择器的逻辑电路图2. 1位全加器的真值表如下表3 1位全加器的真值表输入变量输出变量ABCiCi+1S000000010101001011101000110110110101111101110根据真值表,输出表达式为:对于4位并行加法器,可以按入下公式进行设计图3所示为4位并行进位加法器框图,本实验中用Verilog语句来描述。图3 4位并行进位加法器五、实验器材(设备、元器件): PC机、Windows XP、Anvyl或Nexys3开发板、Xilinx ISE 14.7开发工具、Digilent Adept下载工具。六、实验步骤

5、:实验步骤包括:建立新工程、原理图或代码输入、设计仿真、输入输出引脚设置、生成流代码与下载调试。七、关键源代码:1在ISE设计中可以直接输入如下3-8译码器的代码module decoder_74x138( G1, G2A_L, G2B_L, C, B, A, Y7_L , Y6_L , Y5_L , Y4_L , Y3_L , Y2_L , Y1_L , Y0_L ); input G1, G2A_L, G2B_L; input C,B,A; output Y7_L , Y6_L , Y5_L , Y4_L , Y3_L , Y2_L , Y1_L , Y0_L; wire G1_L ; w

6、ire G ; wire A_L , B_L , C_L ; wire A_H , B_H , C_H ; not ( G1_L , G1 ) ; nor ( G , G1_L , G2A_L , G2B_L ) ; not ( A_L , A ) ; not ( B_L , B ) ; not ( C_L , C ) ; not ( A_H , A_L ) ; not ( B_H , B_L ) ; not ( C_H , C_L ) ; nand ( Y0_L , C_L , B_L , A_L , G ) ; nand ( Y1_L , C_L , B_L , A_H , G ) ; n

7、and ( Y2_L , C_L , B_H , A_L , G ) ; nand ( Y3_L , C_L , B_H , A_H , G ) ; nand ( Y4_L , C_H , B_L , A_L , G ) ; nand ( Y5_L , C_H , B_L , A_H , G ) ; nand ( Y6_L , C_H , B_H , A_L , G ) ; nand ( Y7_L , C_H , B_H , A_H , G ) ; endmodule 23-8译码器的仿真测试代码 / Add stimulus here G1 = 0 ; G2A_L = 1bx ; G2B_L

8、 = 1bx ; C = 1bx ; B = 1bx ; A = 1bx ; #100 ; G1 = 1bx ; G2A_L = 1 ; G2B_L = 1bx ; C = 1bx ; B = 1bx ; A = 1bx ; #100 ; G1 = 1bx ; G2A_L = 1bx ; G2B_L = 1 ; C = 1bx ; B = 1bx ; A = 1bx ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 0 ; B = 0 ; A = 0 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 0 ; B

9、 = 0 ; A = 1 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 0 ; B = 1 ; A = 0 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 0 ; B = 1 ; A = 1 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 1 ; B = 0 ; A = 0 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 1 ; B = 0 ; A = 1 ; #100 ; G1 = 1 ; G2A_L = 0 ; G

10、2B_L = 0 ; C = 1 ; B = 1 ; A = 0 ; #100 ; G1 = 1 ; G2A_L = 0 ; G2B_L = 0 ; C = 1 ; B = 1 ; A = 1 ; 仿真结果如下图所示。 图4 译码器的仿真结果3译码器在Nexys3开发板上的约束文件#SwitchNET A LOC= T10;NET B LOC= T9;NET C LOC= V9;NET G2B_L LOC = M8 ;NET G2A_L LOC = N8 ;NET G1 LOC = U8 ;#LedNET Y0_L LOC=U16;NET Y1_L LOC=V16;NET Y2_L LOC=U

11、15;NET Y3_L LOC=V15;NET Y4_L LOC=M11;NET Y5_L LOC=N11;NET Y6_L LOC=R11;NET Y7_L LOC=T11;44位并行加法器的代码module Adder_4Bit(A3,A2,A1,A0, B3,B2,B1,B0, C0, C4,S3,S2,S1,S0 ); Input A3,A2,A1,A0 ; input B3,B2,B1,B0 ; input C0 ; output C4,S3,S2,S1,S0 ; wire g3_L , p3_L , g2_L , p2_L , g1_L , p1_L , go_L , p0_L ;

12、 wire c0_L ; wire w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12,w13,w14 ; wire hs3, c3 , hs2, c2 , hs1, c1, hs0, c0 ; nand ( g3_L , A3 , B3 ) ; nor ( p3_L , A3 , B3 ) ; nand ( g2_L , A2 , B2 ) ; nor ( p2_L , A2 , B2 ) ; nand ( g1_L , A1 , B1 ) ; nor ( p1_L , A1 , B1 ) ; nand ( g0_L , A0 , B0 ) ; nor ( p0_L

13、 , A0 , B0 ) ; not ( c0_L , C0 ) ; not ( w1 , p3_L ) ; nand ( w2 , p2_L , g3_L ) ; nand ( w3 , p1_L , g3_L , g2_L ) ; nand ( w4 , p0_L , g3_L , g2_L , g1_L ) ; nand ( w5 , g3_L , g2_L , g1_L , g0_L , c0_L ) ; and ( C4 , w1 , w2 , w3 , w4 , w5 ) ; and ( hs3 , g3_L , p3_L ) ; not ( w6 , p2_L ) ; nand

14、( w7 , p1_L , g2_L ) ; nand ( w8 , p0_L , g2_L , g1_L ) ; nand ( w9 , g2_L , g1_L , g0_L , c0_L ) ; and ( c3 , w6 , w7 , w8 , w9 ); xor ( S3 , hs3 , c3 ) ; and ( hs2 , g2_L , p2_L ) ; not ( w10 , p1_L ) ;nand ( w11 , p0_L , g1_L ) ; nand ( w12 , g1_L , g0_L , c0_L ) ; and ( c2 , w10 , w11 , w12 ) ;

15、xor ( S2 , hs2 , c2 ) ;and ( hs1 , g1_L , p1_L ) ; not ( w13 , p0_L ) ; nand ( w14 , g0_L , c0_L ) ; and ( c1 , w13 , w14 ) ; xor ( S1 , hs1 , c1 ) ; and ( hs0 , g0_L , p0_L ) ; not ( c0 , c0_L ) ; xor ( S0 , hs0 , c0 ) ; endmodule5加法器的仿真测试代码#100 ; C0 = 1; #100 ; C0 = 0; B3 = 1 ; B2 = 1 ; B1 = 1 ; B

16、0 = 1 ; #100 ; A3 = 1 ; A2 = 1 ; A1 = 1 ; A0 = 1 ; #100 ; C0 = 1 ; 仿真结果如下图所示图5 加法器的仿真结果6加法器在Nexys3开发板上的约束文件#SwitchNET B0 LOC= T10; #SW0NET B1 LOC= T9; #SW1NET B2 LOC= V9; #SW2NET B3 LOC= M8; #SW3NET A0 LOC= N8; #SW4NET A1 LOC= U8; #SW5NET A2 LOC= V8; #SW6NET A3 LOC= T5; #SW7#LedNET S0 LOC=U16; #LD0N

17、ET S1 LOC=V16; #LD1NET S2 LOC=U15; #LD2NET S3 LOC=V15; #LD3NET C4 LOC=M11; #LD4#ButtonNet C0 Loc= B8; #BTN07数据选择器的代码 module mux_2in4bit( input EN_L , S , input4:1 D0 , D1 , output4:1 Y ); wire w0 , w1 , w2 , w3 , w4 , w5 , w6 , w7 , w8 , w9 ; wire S_L ; not ( S_L , S ) ; nor ( w0 , EN_L , S ) ; nor

18、( w1 , EN_L , S_L ) ; and ( w2 , D01 , w0 ) ; and ( w3 , D11 , w1 ) ; and ( w4 , D02 , w0 ) ; and ( w5 , D12 , w1 ) ; and ( w6 , D03 , w0 ) ; and ( w7 , D13 , w1 ) ; and ( w8 , D04 , w0 ) ; and ( w9 , D14 , w1 ) ; or ( Y1 , w2 , w3 ) ; or ( Y2 , w4 , w5 ) ; or ( Y3 , w6 , w7 ) ; or ( Y4 , w8 , w9 )

19、; endmodule8. 数据选择器的仿真测试代码 / Add stimulus here EN_L = 1 ; S = 1bx ; #100 ; EN_L = 0 ; S = 0 ; D0 = 4b0101 ; #100 ; EN_L = 0 ; S = 1 ; D1 = 4b1010 ;仿真结果如下图所示。图6 数据选择器的仿真结果9数据选择器在Nexys3开发板上的约束文件 #SwitchNET D01 LOC= T10; #SW0NET D02 LOC= T9; #SW1NET D03 LOC= V9; #SW2NET D04 LOC= M8; #SW3NET D11 LOC= N8

20、; #SW4NET D12 LOC= U8; #SW5NET D13 LOC= V8; #SW6NET D14 LOC= T5; #SW7#LedNET Y1 LOC=U16; #LED0 NET Y2 LOC=V16; #LED1NET Y3 LOC=U15; #LED2NET Y4 LOC=V15; #LED3 #ButtonNet S Loc= B8; #BTN0Net EN_L Loc= C4; #BTNL八、实验结论:1、3-8译码器输入0:2、3-8译码器输入1:3、3-8译码器输入4:4、4位并行进位加法器实现1+1:5、4位并行进位加法器实现4+4:6、4位并行进位加法器实现7

21、+8:7、两输入4位多路选择器实现选择线路1输入1011:8、两输入4位多路选择器实现选择线路2输入0110:九、总结及心得体会:通过本次实验,我对Verilog HDL语言有了更加深刻的理解:在使用各种门级电路时要注意输入和输出的位置;在电路板上实现功能时,约束文件所起的重要作用,如果缺少约束文件,我们将不知道每一个开关所对应的功能。同时,通过实验,我认识到了任何的小问题都将会影响我们最终的输出结果,所以也培养了我的细心、仔细和耐心,有助于我养成锱铢必较的好习惯。十、对本实验过程及方法、手段的改进建议:1、最终实验结果只能以自己拍照的方式呈现,不够方便;2、对于两输入4位多路选择器实验的开关不足,要实现线路选择时,必须长按另一开关,对于输出实验结果造成麻烦。 报告评分: 指导教师签字:

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

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