第一范文网 - 专业文章范例文档资料分享平台

北航verilog上机实验报告

来源:用户分享 时间:2025/7/9 10:59:45 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

Verilog上机实验报告

六、 仿真波形

七、 总结及对波形的说明

1. 实验结论

从波形中可以看出

在第一个时钟周期中crtl=100=4,此时out=in4=1101。 在第二个时钟周期中ctrl=101=5,此时out=in5=0110。

在第三个时钟周期中ctrl不变,但in5发生了变化,此时out=in5=1000。 可见,随着ctrl和输入的变化,out都发生了相应的变化,满足题目的要求。

2. 实验总结

本次实验是Verilog上机的第五个实验,是一个较为复杂的组合逻辑电路。在实现这样的电路的时候,一般考虑条件分支语句(如if..else或者case等)来实现相应的功能。

25

Verilog上机实验报告

实验六 在Verilog HDL中使用函数

一、 实验目的

1. 了解函数的定义和在模块设计中的使用;

2. 了解函数的可综合性问题;

3. 了解许多综合器不能综合复杂的算术运算。

二、 实验内容

设计一个带控制端的逻辑运算电路,分别完成正整数的平方、立方和最大数为5的阶乘的运算,要求可综合。编写测试模块,并给出各种层次的仿真波形,比较它们的不同。

三、 对任务的理解

本题要求完成一个带控制端的逻辑运算电路。当控制端的控制信号不同的时候,输出与输入之间的函数关系不同,分别为平方、立方和阶乘。

四、 实现思路

1. 首先这个逻辑运算电路应当有3个对外的端口,分别是:一个数据输入端口;

一个2位的功能控制端口;一个结果的输出端口。

2. 由于阶乘的最大数为5,因此输入最大数据为5,输出最大数据为5!=120设输

入数据为3位,输出数据为8位。

3. 通过条件分置于句来选择不同的函数功能。而每个函数功能分别编写来提高程

序的可读性和可移植性。

4. 测试模块产生随机的输入数据以及控制信号,因此利用系统任务$random来实

现。通过一个时钟信号,每隔一段时间产生新的随机数。

五、 代码

1. 主程序

---------------------------------------文件名 func.v--------------------------------------------

module func(in,out,s);

26

Verilog上机实验报告

input [2:0] in; output [7:0] out; input [1:0] s;

reg [7:0] out;

always @ (*) begin case (s)

2'b00: out<=square(in); 2'b01: out<=cube(in); 2'b10: out<=factorial(in); default: out<=out; endcase end

function [7:0] square; input [2:0] a;

assign square=a*a; endfunction

function [7:0] cube; input [2:0] b;

assign cube=b*b*b; endfunction

function [7:0] factorial; input [2:0] c; reg [2:0] index; begin

factorial=c?1:0;

for(index =2;index<=c;index=index+1) factorial=index*factorial; end

endfunction

endmodule

2. 测试模块

----------------------------------------文件名 func_tb.v----------------------------------- `timescale 1ns/1ns

27

Verilog上机实验报告

module t; reg [2:0] in; reg [1:0] s; wire[7:0] out;

reg clk;

initial begin in=0; s=0; clk=0;

#10000 $stop; end

always #50 clk=~clk; always @ (posedge clk) begin

in<={$random}%8; s<={$random}%4; end

func m (in,out,s);

endmodule

六、 仿真波形

七、 总结及对波形的说明

1. 实验结论

从波形中可以看出

当s=00时,in=101=5时,out=00011001=25。即完成了平方的功能。out与前一个

28

搜索更多关于: 北航verilog上机实验报告 的文档
北航verilog上机实验报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c3c8u77ukmx036ax5ujy4_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top