Verilog简单的组合逻辑设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深圳大学实验报告课程名称:数字系统设计

实验项目名称:练习一简单的组合逻辑设计学院:信息工程学院

专业:电子信息工程

指导教师:

报告人:学号:班级:

实验时间:2012-10-09

实验报告提交时间:2012-10-23

教务部制

实验目的与要求:

1、掌握基本组合逻辑电路的实现方法;

2、初步了解两种基本组合逻辑电路的生成方法;

3、学习测试模块的编写;

4、通过综合和布局布线了解不同层析仿真的物理意义。

实验内容:

练习题 1设计一个字节(8位)的比较器

要求:比较两个字节的大小,如a[7:0]大于b[7:0],则输出高电平,否则输出低电平;并改写测试模型,使其能进行比较全面的测试。观测RTL级仿真、综合后门级仿真和布线后仿真有什么不同,并说明这些不同的原因。从文件系统中查阅自动生成的compare.vm,compare.vo文件和compare.v做比较,说出它们的不同点和相同点。

I、

源代码如下:

module Compare(equal,a,b);

input[7:0] a,b;

output equal;

assign equal=(a>b)?1:0;

endmodule

II、

RTL级仿真(顶层):

RTL级仿真(底层):

III、

综合后门级仿真:

IV、

仿真代码一:

module Test_Compare;

// Inputs

reg [7:0] a;

reg [7:0] b;

// Outputs

wire equal;

// Instantiate the Unit Under Test (UUT) Compare uut (

.equal(equal),

.a(a),

.b(b)

);

initial begin

// Initialize Inputs

a = 0;

b = 0;

#100 a=0000_0000;b=0000_0000;

#100 a=0001_0000;b=0000_0000;

#100 a=0001_0000;b=1000_0000;

#100 a=1111_0000;b=0000_1111;

#100 a=0000_0000;b=0000_0000;

#100 a=0101_0000;b=1000_0000;

#100 a=0001_0100;b=1000_1000;

#100 a=1111_0010;b=1000_1111;

#100 $stop;

end

endmodule

V、

仿真结果一如下:

仿真代码二:

module Test_Compare;

// Inputs

reg [7:0] a;

reg [7:0] b;

Reg clock;

// Outputs

wire equal;

// Instantiate the Unit Under Test (UUT) Compare uut (

.equal(equal),

.a(a),

.b(b)

);

initial begin

// Initialize Inputs

a = 0;

b = 0;

Clock=0;

end

always #50 clock=~clock;

always@(posedge clock)

begin

a=($random%256);

b=($eandom%256);

end

initial

begin #100000 $stop;end

endmodule

仿真结果二如下:

注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。

2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。

相关文档
最新文档