文档详情

大规模集成电路实验报告.doc

发布:2016-03-28约4.07千字共11页下载文档
文本预览下载声明
计算机科学与工程学院 实验报告 课程名称:大规模集成电路原理与设计 学  院:计算机科学与工程学院 专  业:计算机科学与技术 学生姓名:林怡 学  号:2012060020023 指导教师:蔡世民 日  期:   2014年10月30日 电 子 科 技 大 学 实 验 报 告 实验一???????????????? 一、实验名称:? (1)4—2编码器? (2)2—4译码器 ?(3)2位比较器? 二、实验学时:4学时? 三、实验内容和目的 内容: (1)设计一个4-2编码器模块,将输入的每一个高低电平信号编成一个对应的二进制代码。? (2)设计一个2-4译码器模块,其功能是编码器的反操作。? (3)设计一个2位二进制比较器模块,实现两个2位二进制数的比较操作并在相应输出端口输出高电平。? 目的: (1)认识并学习使用Xilinx软件;? (2)能够灵活利用Verilog语言编程实现一些基本的功能块,如:编码器,译码器等。? 四、实验原理:? (1)由4-2编码器和2-4译码器的输入输出逻辑框图,注意到对应于每一个二进制编 码的输入,有且仅有一个唯一的二进制编码的输出,因此考虑采用case语句来实现此功能;? (2)根据输入输出变量之间的逻辑关系来编写相应的程序;? (3)通过给定一组输入的高、低电平信号进行行为级仿真,观察最终产生的波形图来检验编写程序的正确性。? (4)Verilog编程语言的语法及其相应的功能。? 五、实验器材(设备、元器件): ?Windows平台下的xilinx软件 六、实验步骤:? ??4-2编码器:? (1)构建一个名为encode42的工程,根据实验要求进行模块代码的编写;? (2)实验要求将输入的每一个高低电平信号(对应于每一个4位二进制编码), 编成一个对应的2位二进制代码输出,故考虑采用case语句来实现对应于不同输入得到对应输出的功能,对于默认输入状态采用高阻态输出; 其代码如下:? module encode42(I3,I2,I1,I0,Y1,Y0); input I3,I2,I1,I0; output Y1,Y0; reg Y1,Y0; always @(I3,I2,I1,I0) begin case({I3,I2,I1,I0}) 4b0001:{Y1,Y0}=2b00; 4b0010:{Y1,Y0}=2b01; 4b0100:{Y1,Y0}=2b10; 4b1000:{Y1,Y0}=2b11; default: {Y1,Y0}=2bz; endcase end endmodule (3)进行编译,编译成功后,给定一组高低电平的输入信号,进行行为级仿真,观察最终生成的波形图来检验模块是否实现了对应的功能。? ??2-4译码器:? (1)构建一个名为decode2_4的工程,根据实验要求进行模块代码的编写;? (2)实验要求将输入的每一个高低电平信号(对应于每一个2位二进制编码),编成一个对应的4位二进制代码输出,故考虑采用case语句来实现此功能;? 其代码如下: module decode2_4(Y3,Y2,Y1,Y0,I1,I0); input I1,I0; output Y3,Y2,Y1,Y0; reg Y3,Y2,Y1,Y0; always @(I1,I0) begin case({I1,I0}) 2b00:{Y3,Y2,Y1,Y0}=4b0001; 2b01:{Y3,Y2,Y1,Y0}=4b0010; 2b10:{Y3,Y2,Y1,Y0}=4b0100; 2b11:{Y3,Y2,Y1,Y0}=4b1000; default:{Y3,Y2,Y1,Y0}=4bz; endcase end endmodule (3)进行编译,编译成功后,给定一组高低电平的输入信号,进行行为级仿真,观察最终生成的波形图来检验模块是否实现了对应的功能。??? 2位比较器:? (1)构建一个名为compare的工程,根据实验要求进行模块代码的编写;? (2) bigger,smaller,equal为对应的三个输出端口,分别代表ab,ab,a=b。输入端a和b考虑将两个2位二进制数定义为两个2位寄存器变量,并采用if,else语句实现对应的功能; ?其代码如下: module compare(a,b,bigger,smaller,equal); input[1:0] a,b; output bigger,smaller,equal; reg bigger,smaller,equal; always@(a or b) begin if(a==b) begin equal = 1; bigger = 0; smaller = 0;
显示全部
相似文档