2021-06-29

1.实验目的:
使用Quartur ii软件和modelsim并进行Modelsim工程仿真流程,掌握有限状态机的写法,理解三段式与两段式的写法和区别

2.实验内容:
参照教程中的代码,然后用quartus ii和modlsim并进行Modelsim工程仿真流程,再验证波形图是否正确

3.实验原理:书写和运行代码,完成联合仿真操作

module s7 (x,z,clk,reset) ;
input x,clk,reset;
output z;
reg z;
reg [2: 0] state,nstate;
parameter s0='d0,s1='d1,s2='d2,s3='d3,s4='d4,s5='d5;
always @ (posedge clk or posedge reset)
begin
if (reset)
state <=s0;
else
state <=nstate;
end
always@ (state or x)
begin
casex (state)
s0:begin
if (x==1)
nstate=s1;
else
nstate=s0;
end
s1:begin
if (x==0)
nstate=s2;
else
nstate=s1;
end
s2:begin
if (x==0)
nstate=s3;
else
nstate=s1;
end
s3:begin
if (x==0)
nstate=s0;
else
nstate=s4;
end
s4:begin
if (x==0)
nstate=s5;
else
nstate=s1;
end
s5:begin
if (x==0)
nstate=s0;
else
nstate=s1;
end
default:nstate=s0;
endcase
end
always@ (posedge clk)
begin
casex (nstate)
s0:z <=0;
s1:z <=0;
s2:z <=0;
s3:z <=0;
s4:z <=0;
s5:z <=1;
default:z <=0;
endcase
end
endmodule

module tbs7;
reg x,clk,reset;
wire z;
integer seed=9;
initial clk=0;
always #5 clk=~clk;
initial
begin
  reset=0;
  #15 reset=1;
  #15 reset=0;
end

always
  #10  x={$random(seed)}%2;   
s7  mys7(x,z,clk,reset);

endmodule

4实验工具:
pc机和Quartur ii软件和modlsim软件。

5.实验截图:

设计实验与前面的步骤相同,不同的是测试模块

(1)同样的先建一个文件夹,在文件夹里面再建一个文本文档,文件扩展名改成v,名字都改成与代码中相同的s7 ,再把代码复制进去

(2)前面选择新建的文件夹和改工程名之后,就不用再管其他的,之家点击ok到这一步,选择modelsim

(3)再点击new新建一个Verilog文件夹

(4)然后把设计代码复制进来,记得保存,再运行看看代码有没有错误

(5)点击processing-start-倒数第三个,再点击文件选择这个simulation-modelsim,然后点击all files,找到里面的vt文件

(6)点击vt文件,删除里面的全部代码,再把测试代码复制进来保存一下,再把工程名改成与测试代码一致的名字,就可以开始运行

(7)改频率得出波形图

6.实验视频:
请下载抖音打开此网址:https://v.douyin.com/e4UsT6n/         https://v.douyin.com/e4wQ8s9/

版权声明:本文为CSDN博主「c99LYF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://mp.csdn.net/mp_blog/creation/editor

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值