2021-06-25期末作业

一、实验要求:用Modlsim进行ModelSim软件的仿真
二.Modelsim的工程仿真流程图如下:

三、实验内容:
参考老师发的视频的代码,然后用Modelsim进行Modelsim的工程仿真

四、实验工具:Modlsim软件、
五、实验截图:
第一个实验
在这里插入图片描述
第二个实验
在这里插入图片描述
第三个实验
在这里插入图片描述

七、实验视频:

第一个实验

第二个实验

第三个实验

八、实验代码:

第一个实验:
module comparator(X,Y,V,N,Z);
input [3:0]X,Y;
output V,N,Z;
wire [3:0]S;
wire [4:1]C;

fulladd stage0 (1’b1,X[0],~Y[0],S[0],C[1]);
fulladd stage1 (C[1],X[1],~Y[1],S[1],C[2]);
fulladd stage2 (C[2],X[2],~Y[2],S[2],C[3]);
fulladd stage3 (C[3],X[3],~Y[3],S[3],C[4]);
assign V=C[4]^C[3];
assign N=S[3];
assign Z=!S;
endmodule
module fulladd (Cin,x,y,s,Cout);
input Cin,x,y;
output s,Cout;
assign s=xyCin;
assign Cout=(x&y)|(x&Cin)|(y&Cin);
endmodule
第二个实验:
module s4;
reg [3:0] a,b;
reg [2:0] select;
reg [3:0] result_f, result_t;
integer seed1,seed2;
initial
begin
select=0;
seed1=40;
seed2=9;
end
always
begin
a={KaTeX parse error: Expected 'EOF', got '}' at position 18: …ndom (seed1)/16}̲; b={random (seed2)/16};
#20 select=select+1;
end
endmodule
第三个实验:
module Majority #(parameter size=8,max=3,majority=5)(
input [size-1:0] Data,
output reg Y
);
reg [max-1:0] count;
integer k;
always@(Data)begin
count=0;
for(k=0;k<size;k=k+1)begin
if(Data[k]==1)count=count+1;
end
Y=(count>=majority);
end
endmodule
测试代码:
`timescale 1 ps/ 1 ps
module tb_Majority();
reg [7:0] data;
wire y;
Majority i1 (.Data(data),.Y(y));
initial
begin
data[7:0]=8’b00000000;
#5 data[7:0]=8’b11010011;
#5 data[7:0]=8’b11010100;
#5 data[7:0]=8’b11010101;
#5 data[7:0]=8’b11010110;
#5 data[7:0]=8’b11010111;
#5 data[7:0]=8’b11011000;
#5 data[7:0]=8’b11011001;
#5 data[7:0]=8’b11011010;
#5 data[7:0]=8’b11011011;
#5 data[7:0]=8’b11011100;
#5 data[7:0]=8’b11011101;
#5 data[7:0]=8’b11011110;
#5 data[7:0]=8’b11011111;
#5 data[7:0]=8’b11100000;
#20 $stop;
end
endmodule

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值