大规模集成电路实验报告.doc
文本预览下载声明
计算机科学与工程学院
实验报告 课程名称:大规模集成电路原理与设计
学 院:计算机科学与工程学院
专 业:计算机科学与技术
学生姓名:林怡
学 号: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;
显示全部