《数字电路与逻辑设计》实验报告
学生姓名: 学号: 所在班级:
第[ ]页 共[ ]页
数字逻辑实验报告(4)
团队成员:
姓名
班级
学号
贡献百分比
实验部分:实验完成结果、时间
(亮点、完成、基本完成、未完成)
总分
(实验部分70% +报告30%)
第一个实验
第二个实验
第三个实验
检查结果
检查时间
检查老师
报告人 :
实验指导教师:
报告批阅教师:
计算机科学与技术学院
20 年 月 日
实验内容
基于FPGA应用的逻辑电路设计
实验目的
1.学习FPGA的设计方法;
2.掌握利用Verilog HDL设计逻辑电路的能力。
实验所用组件
Basys2开发板(芯片为XC3S100E,封装为CP132) 1套。
实验要求
4位二进制计数器(必选)
设计一个能清零、置数和进位/借位输出的增1/减1的4位二进制计数器,其结构框图如图1所示。电路输入为计数脉冲CP、工作模式选择M、预制初值D,C,B,A(其中D为高位,A为低位)和预制控制,清零端;输出为计数值QD,QC,QB,QA(QD为高位,QA为低位)和进位/借位输出。当为0时,电路输出清零;预制控制=0时,将D、C、B、A的输入值送到计数器中,并立即在QD,QC,QB,QA中输出。模式选择端M=1时加1计数,当M=0时减1计数。当CP端输入一个上升沿信号时进行一次计数,计数有进位/借位时端输出一个负脉冲。
图1 4位二进制加法/减法计数器
具体要求:
(1)用Verilog HDL实现该计数器,将之下载到Basys2开发板中,并进行验证;
(2)借助该4位二进制计数器,用Verilog HDL实现一个初值为2的模8计数器,将之下载到Basys2开发板中,并进行验证 1。
两位二进制数值比较器(必选)
设计一个二位二进制数值比较器。当A>B时,F1=1,F2=F3=0;当A=B时,F2=1,F1=F3=0;当A
具体要求:
(1)用Verilog HDL设计一个一位二进制数值比较器(行为级描述);
(2)利用所设计的一位二进制数值比较器,用Verilog HDL设计一个二位二进制数值比较器(结构级描述);
将所设计的电路下载到Basys2开发板上,并进行验证。
单脉冲发生器(可选)
用与非门设计一个单脉冲发生器,电路如图2所示。
图2 单脉冲发生器电路图
典型输入、输出时间图见图3
图3. 典型输入、输出时间图
具体要求:
(1)用Verilog DHL描述所设计的电路图(采用行为级描述),将之下载到Basys2开发板中,并进行验证。
五、实验方案设计
4位二进制计数器的设计方案
[要求:给出详细的设计过程,包括源程序、仿真程序、引脚约束(绑定)代码和注释等,可续页]
(1)4位2进制计数器
源程序:
module led_1(in,CP,CLR,Ld,M,out,Qcc);
input[3:0] in;
input CP,CLR,Ld,M;
output[3:0] out;
output Qcc;
reg[3:0] out;
reg Qcc;
initial out=4'b0000;
initial Qcc=1;
always@(posedge CP or negedge Ld or negedge CLR)
begin
if(~CLR)
begin
out<=4'b0000;
Qcc<=1;
end
else if(~Ld)
begin
out<=in;
Qcc<=1;
end
else if(M)
begin
out<=out+4'b0001;
Qcc<=1;
end
else if(~M)
begin
out<=out-4'b0001;
Qcc<=1;
end
else if((out==4'b1111)&&M)
begin
out<=4'b0000;
Qcc<=0;
end
else if((out==4'b0000)&&M)
begin
out<=4'b0000;
Qcc<=1;
end
end
endmodule
仿真程序:
module test_1;
// Inputs
reg [3:0] in;
reg CP;
reg CLR;
reg Ld;
reg M;
// Outputs
wire [3:0] out;
wire Qcc;
// Instantiate the Unit U