Verilog想写一个锁存器,可以通过综合的

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Verilog想写一个锁存器,可以通过综合的相关的知识,希望对你有一定的参考价值。

,比如判断一个计数器计数到2,我要一个信号ce,初始ce=0,计数器器计数到2,ce=1,之后一直持续不变。下面这个写法怎么modelsim的ce信号拉不起来,Isim可以,这是什么情况?
//写一个锁存器
reg [1:0] cnt4 ;
always @(posedge clk_2MHz or negedge reset)
begin
if(!reset)
begin
cnt4 = 0;
end
else
cnt4 = cnt4 + 1 ;
end
always @(posedge clk_2MHz or negedge reset)
begin
begin
if(!reset)
ce = 0;
else
if (cnt4 == 2)
ce = 1;
end
end

首先,你既然用到到边沿时序,就应用非阻塞赋值。否则会出现大量warnings或出错。即使如此,modelsim也是可以仿真的,如下及图所示:
module ww(clk_2MHz,reset,ce);
input clk_2MHz,reset;
output reg ce;
reg [1:0] cnt4 ;
always @(posedge clk_2MHz or negedge reset)
begin
if(!reset)
begin
cnt4 = 0;
end
else
cnt4 = cnt4 + 1 ;
end
always @(posedge clk_2MHz or negedge reset)
begin
begin
if(!reset)
ce = 0;
else
if (cnt4 == 2)
ce = 1;
end
end
endmodule
参考技术A 语法有错误!
将“=”改成非阻塞赋值符 “<=” 试试看

verilog hdl常用的数据类型中,可综合的有_______,不可以综合的有_______。

参考技术A 可综合的有reg,wire,tri等等数据类型,不可以综合的有real,time等等数据类型。

以上是关于Verilog想写一个锁存器,可以通过综合的的主要内容,如果未能解决你的问题,请参考以下文章

Verilog里面如何初始化数组才能被Quartus II综合?

问个verilog二维寄存器初始化的问题

请问一下各位verilog当中最多支持多少位的寄存器?这根具体芯片相关还是和verilog语言本身相关?

verilog乘法器的设计

verilog 寄存器初始化

verilog语法,有关case语句