Verilog数字电路设计
实验名称
Verilog数字电路设计
班级
130324
姓名
张先炳13031205
同组者
廖瑞13031191
自动化与电气工程学院
2016年 4月25 日
目录
目录 2
实验一简单组合逻辑设计 1
1 实验目的 1
2 实验设备 1
3 实验内容 1
4 实验代码 1
5 仿真结果 2
选作一:设计一个字节的比较器 3
1 实验要求 3
2 模块代码 3
3 测试代码 3
4 仿真结果 4
实验二简单分频时序逻辑电路的设计 4
1 实验目的 4
2 实验设备 4
3 实验内容 5
4 实验代码 5
5 仿真结果 6
选作二:七段数码管译码电路 6
1 实验要求 6
2 模块代码 7
3 测试代码 8
4 仿真结果 8
实验三:利用条件语句实现计数分频时序电路 9
1 实验目的 9
2 实验设备 9
3 实验内容 9
4 实验代码 9
5 仿真结果 11
6 实验分析 11
选作三:设计一个单周期形状的周期波形。 11
1 实验要求 11
2 模块代码 11
3 测试代码 12
4 仿真结果 13
实验四:用always块实现较复杂的组合逻辑 13
1 实验目的 13
2 实验设备 13
3 实验内容 14
4 实验代码 14
5 仿真结果 16
选作四:运用always块设计一个8路数据选择器。 16
1 实验要求 16
2 模块代码 16
3 测试代码 17
4 仿真结果 18
实验五:在 Verilog HDL中使用函数 19
1 实验目的 19
2 实验设备 19
3 实验内容 19
4 实验代码 19
5 仿真结果 21
选作五:设计一个带控制端的逻辑运算电路 22
1 实验要求 22
2 模块代码 22
3 测试代码 23
4 仿真结果 25
实验六:在Verilog HDL中使用任务(task) 25
1 实验目的 25
2 实验设备 25
3 实验内容 25
4 实验代码 25
5 仿真结果 28
选作六:冒泡法排序 28
1 实验要求 28
2 模块代码 28
3 测试代码 29
4 仿真结果 30
选作七:串行输入排序 31
1 实验要求 31
2 模块代码 31
3 测试代码 33
4 仿真结果 34
5 实验分析 34
实验七:利用有限状态机进行时序逻辑的设计 35
1 实验目的 35
2 实验设备 35
3 实验内容 35
4 实验代码 35
5 仿真结果 37
6 实验分析 37
选作八:楼梯灯 38
1 实验要求 38
2 模块代码 38
3 测试代码 45
4 仿真结果 47
5 实验分析 47
附:分工明细 49
实验一简单组合逻辑设计
1 实验目的
1、掌握基本组合逻辑电路的实现方法。
2、初步了解两种基本组合逻辑电路的生成方法。
3、学习测试模块的编写。
4、通过综合和布局布线了解不同层次仿真的物理意义。
2 实验设备
安装Modelsim-。
3 实验内容
描述一个可综合的数据比较器,比较数据a 、b的大小,若相同,则给出结果1,否则给出结果0。
4 实验代码
模块源代码:
pare(equal,a,b);
input a,b;
output equal;
assign equal=(a==b)?1:0;
endmodule
测试代码:
`timescale 1ns/1ns;
`include ""
pare_tb;
reg a,b;
wire equal;
initial
begin
a=0;
b=0;
#100 a=0;b=1;
#100 a=1;b=1;
#100 a=1;b=0;
#100 a=0;b=0;
#100 $stop;
#100 a=0;b=1;
end
compare m(.equal(equal),.a(a),.b(b));
endmodule
5 仿真结果
选作一:设计一个字节的比较器
1 实验要求
比较两个字节的大小,如a[7:0]大于b[7:0],则输出高电平,否则输出低电平;并改写测试模型,使其能进行比较全面的测试。
2 模块代码
pare_8bit(result,a,b);
input [7:0]a,b;
output result;
assign result = (a>b)?1:0;
endmodule
3 测试
北航 verilog实验报告 来自淘豆网m.daumloan.com转载请标明出处.