实验项目Verilog组合逻辑设计 实验指导书_第1页
实验项目Verilog组合逻辑设计 实验指导书_第2页
实验项目Verilog组合逻辑设计 实验指导书_第3页
实验项目Verilog组合逻辑设计 实验指导书_第4页
实验项目Verilog组合逻辑设计 实验指导书_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、电子科技大学 计算机科学与工程学院实验指导书实验名称 Verilog组合逻辑设计 电子科技大学教务处制表一、概述本实验使用Xilinx ISE软件和Verilog语言进行组合逻辑的设计与实现。实验内容包括13-8译码器的设计和实现。24位并行进位加法器的设计和实现。3两输入4位多路选择器的设计和实现。实验要求如下:1采用Verilog语言设计,则使用门级方式进行描述。2编写仿真测试代码。3编写约束文件,使输入、输出信号与开发板的引脚对应。4下载到FPGA开发板,拨动输入开关,观察Led灯的显示是否符合真值表。二、实验原理:174x138译码器是输出低有效的3-8译码器。表1所示为74x138译

2、码器的真值表。表1 74x138译码器的真值表输入输出G1G2A_LG2B_LCBAY7_LY6_LY5_LY4_LY3_LY2_LY1_LY0_L0xxxxx11111111x1xxxx11111111xx1xxx111111111000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111根据3-8译码器的真值表,可得输出的函数表达式为根据上述函数表达式,可画出逻辑电路图为。图1 3-8译码器的逻辑电路图2. 数据选择器的逻辑功能

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

4、图2. 1位全加器的真值表如下表3 1位全加器的真值表输入变量输出变量ABCiCi+1S000000010101001011101000110110110101111101110根据真值表,输出表达式为:对于4位并行加法器,可以按入下公式进行设计图3所示为4位并行进位加法器框图,本实验中用Verilog语句来描述。图3 4位并行进位加法器三、设计实现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 ,

5、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 ; wire 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 )

6、 ; 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 ) ; nand ( 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

7、 , G ) ; nand ( Y7_L , C_H , B_H , A_H , G ) ; endmodule 2仿真测试代码/ Add stimulus hereG1 = 0 ;G2A_L = 1'bx ;G2B_L = 1'bx ;C = 1'bx ;B = 1'bx ;A = 1'bx ;#100 ;G1 = 1'bx ;G2A_L = 1 ;G2B_L = 1'bx ;C = 1'bx ;B = 1'bx ;A = 1'bx ;#100 ;G1 = 1'bx ;G2A_L = 1'bx ;

8、G2B_L = 1 ;C = 1'bx ;B = 1'bx ;A = 1'bx ;#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 = 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

9、 = 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 ;G2B_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;

10、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=U15;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

11、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 ; 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

12、 ( p2_L , A2 , B2 ) ; nand ( g1_L , A1 , B1 ) ; nor ( p1_L , A1 , B1 ) ; nand ( g0_L , A0 , B0 ) ; nor ( p0_L , 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

13、, g0_L , c0_L ) ; and ( C4 , w1 , w2 , w3 , w4 , w5 ) ; and ( hs3 , g3_L , p3_L ) ; not ( w6 , p2_L ) ; nand ( 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 ( w

14、10 , p1_L ) ; nand ( w11 , p0_L , g1_L ) ; nand ( w12 , g1_L , g0_L , c0_L ) ; and ( c2 , w10 , w11 , w12 ) ; 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 ,

15、c0_L ) ; xor ( S0 , hs0 , c0 ) ; endmodule5加法器的仿真测试代码#100 ;C0 = 1;#100 ;C0 = 0;B3 = 1 ;B2 = 1 ;B1 = 1 ;B0 = 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 A

16、0 LOC= N8; #SW4NET A1 LOC= U8; #SW5NET A2 LOC= V8; #SW6NET A3 LOC= T5; #SW7#LedNET S0 LOC=U16; #LD0NET 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

17、, w2 , w3 , w4 , w5 , w6 , w7 , w8 , w9 ; wire S_L ; not ( S_L , S ) ; nor ( w0 , EN_L , S ) ; nor ( 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 ,

18、D14 , w1 ) ; or ( Y1 , w2 , w3 ) ; or ( Y2 , w4 , w5 ) ; or ( Y3 , w6 , w7 ) ; or ( Y4 , w8 , w9 ) ; endmodule8. 数据选择器的仿真测试代码/ Add stimulus here EN_L = 1 ;S = 1'bx ;#100 ;EN_L = 0 ;S = 0 ;D0 = 4'b0101 ;#100 ;EN_L = 0 ;S = 1 ;D1 = 4'b1010 ;仿真结果如下图所示。图6 数据选择器的仿真结果9数据选择器在Nexys3开发板上的约束文件#SwitchNET D01 LOC= T10; #SW0NE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论