Verilog学习之触发器与modelsim仿真
创始人
2025-05-31 16:32:19

目录

一、前言

二、触发器介绍

三、测试文件代码


一、前言

    ​    ​本文将学习常见类型触发的verilog编写,结合仿真结果来熟悉。

二、触发器介绍

    ​    ​触发器在verilog中的作用主要是具有存储作用,由时钟信号来触发改变存储内容,较常见的触发从同步,异步角度来区分,可分为同步清零,同步置位,异步清零,异步置位。

具体实现与仿真如下

//同步清零

always@(posedge clk ,posedge rst )

begin

if(rst)

out_syn_clear<=1'b0;

else 

if (cls)

out_syn_clear<=1'b0;

else

out_syn_clear<=d;

end

波形如下,只有rst和cls信号都为0时,输出信号为输入信号,其余情况输出为0

同步清零

//同步置位

always@(posedge clk,posedge cls)

if(rst)

out_syn_set<=1'b1;

else if (cls)

out_syn_set<=1'b0;

else

out_syn_set<=d;

波形如下,只有rst和cls信号都为0时,输出信号为输入信号,其余情况输出为0,置位信号rst为1时输出为1。

同步置位

//异步清零

always@(posedge clk or posedge cls)

begin

if(cls)

out_asyn_clear<=1'b0;

else 

out_asyn_clear<=d;

end

波形如下,cls信号为0时,输出信号为输入信号,为1时进行清零操作,输出0。

异步清零

//异步置位

always@(posedge clk or posedge rst)

begin

if(rst)

out_asyn_set<=1'b1;

else 

out_asyn_set<=d;

波形如下,置位rst信号为0时,输出信号为输入信号,为1时进行置位操作,输出1。

异步置位

三、测试文件代码

module FF_SIM();

reg  d;

reg clk,rst,cls;

wire out_asyn_clear,out_asyn_set,out_syn_set,out_syn_clear;

initial

begin

clk=1'b0;

d=1'b0;

rst=1'b0;

cls=1'b0;

#150;

cls=1'b1;

rst=1'b1;

#150;

cls=1'b0;

rst=1'b1;

#150;

cls=1'b1;

rst=1'b0;

#150;

cls=1'b0;

rst=1'b0;

end

always

#2 clk=~clk;

always 

#10 d=~d;

FF FF_sim(.d(d),.clk(clk),.rst(rst),.cls(cls),.out_asyn_clear(out_asyn_clear),.out_asyn_set(out_asyn_set),.out_syn_set(out_syn_set),.out_syn_clear(out_syn_clear));

endmodule

相关内容

热门资讯

我来教您「新版九哥」有挂吗!原... 我来教您「新版九哥」有挂吗!原来真的有挂您好:新版九哥这款游戏可以开挂,确实是有挂的,需要了解加客服...
玩家必看“新猴王斗牛能开透视挂... 您好:新猴王斗牛这款游戏可以开挂,确实是有挂的,需要软件加微信【6355786】,很多玩家在新猴王斗...
经验传递“新蜜瓜大厅有没有挂可... 您好:这款游戏可以开挂,确实是有挂的,需要了解加客服微信【2278274】很多玩家在这款游戏中打牌都...
盘点一款“八闽掌上麻将确实是有... 您好:八闽掌上麻将这款游戏可以开挂,确实是有挂的,需要软件加微信【4830828】很多玩家在这款游戏...
今日重大通报“欢乐龙城3确实是... 亲:欢乐龙城3这款游戏是可以开挂的,确实是有挂的,添加客服【8487422】很多玩家在这款游戏中怀疑...