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

北航verilog上机实验报告

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

Verilog上机实验报告

repeat(50) begin

#100 a={$random}%6; b={$random}%6; c={$random}%6; d={$random}%6; end

#100 $stop; end

sort m(.a(a),.b(b),.c(c),.d(d),.ra(ra),.rb(rb),.rc(rc),.rd(rd));

endmodule

------------------------------方法一----------文件名 sort_ex_tb.v----------------------------------- `timescale 1ns/100ps `define clk_cycle 50

module t_ex; reg [7:0] a;

wire [7:0] ra,rb,rc,rd; reg clk,reset;

always #`clk_cycle clk= ~clk;

initial begin a=0; clk=0; reset =1;

#10 reset=0; #110 reset=1;

repeat(50) begin

#100 a={$random}%6; end

#100 $stop; end

sort_ex sort_ex(clk,reset,ra,rb,rc,rd,a);

endmodule

33

Verilog上机实验报告

六、 仿真波形

方法一:

方法二:

七、 总结及对波形的说明

1. 方法一实验结论

从波形中可以看出,每次输入一组a,b,c,d,都会输出一组ra,rb,rc,rd。并且有ra

2. 方法二实验结论

从波形中可以看出,每次比较完成需要四个时钟周期来把四个数据都输入。在每个时钟周期中都进行了一次比较,每次都把最大的数移到rd的位置上。在四个时钟周期完成后,有ra

3. 实验总结

本次实验是Verilog上机的第七个实验,分别完成了对并行输入数据和串行输入数据的冒泡排序以及并行输出。从效率上来说方法一的效率比较高,因为只需要进行一次比较,需要时间短。但是方法二完成了串行转并行的数据变换工作,比方法一的功能更强。

34

Verilog上机实验报告

实验八 利用有限状态机进行时序逻辑的设计

一、 实验目的

1. 掌握利用有限状态机实现一般时序逻辑分析的方法;

2. 掌握用Verilog编写可综合的有限状态机的标准模板; 3. 掌握用Verilog编写状态机模块的测试文件的一般方法

二、 实验内容

设计一个串行数据检测器。要求是:连续4个或以上为1时输出为1,其他输入情况下为0.编写测试模块对设计的模块进行各种层次的仿真,并观察波形,编写实验报告。

三、 对任务的理解

本题要求实现一个串行数据检测器。也就是利用一个有限状态机,每连续出现一个1状态跳转一次。当连续4个或4个以上1时,锁定在某个状态,并且输出1.

四、 实现思路

用有限状态机完成这个任务,其流程图如下

in=1&rst=1IDLE in=1&rst=1Ain=1&rst=1Bin=1&rst=1Cin=1&rst=1D 35

Verilog上机实验报告

五、 代码

4. 主程序

---------------------------------------文件名 check.v--------------------------------------------

module seqdet(in,z,clk,rst); input in,clk,rst; output z;

reg[2:0] state; wire z;

parameter IDLE='d0, A='d1, B='d2, C='d3;

assign z=((state==C)&&(in==1))? 1:0;

always @ (posedge clk) if(!rst) begin

state<=IDLE; end else

casex(state) IDLE: if(in==1) begin

state<=A; end A: if(in==1) begin

state<=B; end else

begin

state<=IDLE; end B: if(in==1) begin

state<=C; end else

begin

state<=IDLE; end C: if(in==1) begin

36

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