芯片交易网IC交易网-亿配芯城-FPGA设计之Verilog中clk为什么要用posedge而不用negedge?
你的位置:芯片交易网IC交易网-亿配芯城 > 芯片资讯 > FPGA设计之Verilog中clk为什么要用posedge而不用negedge?
FPGA设计之Verilog中clk为什么要用posedge而不用negedge?
发布日期:2023-12-31 07:21     点击次数:90

Verilog是一种硬件描述语言,用于描述数字电路的行为和特性。在Verilog中,时钟信号(clk)和线路是非常重要的,它用于同步电路中的各个模块,确保它们在同一时刻执行。

在Verilog中,时钟信号可以使用posedge和negedge两种方式来触发。posedge表示时钟信号的上升沿(电平从低到高跳变),而negedge表示时钟信号的下降沿(电平从高到低跳变)。在实际应用中,大多数设计都使用posedge触发方式。

这是因为在数字电路中,时钟信号的上升沿是同步电路中的关键时间点,它可以确保各个模块在同一时刻执行。同时,posedge触发方式还可以避免由于时钟信号的下降沿带来的抖动和噪声等问题,从而提高电路的稳定性和可靠性。

另外,一般情况下,系统中统一用posedge,避免用negedge,降低设计的复杂度, ATMEGA系列ATMEL芯片COM可以减少出错, 电子元器件PDF资料大全由于Verilog是一种硬件描述语言, EEPROM带电可擦可编程存储器芯片大全它的设计目的是为了生成硬件电路,CMOS图像传感器集成电路芯片而不是软件程序。

因此, 芯片交易网IC交易网在Verilog中,使用posedge触发方式可以更好地反映硬件电路的实际运行方式,提高设计的准确性和可靠性。

对于典型的counter逻辑

always @(posedge sys_clk or negedge sys_rst_n) begin
  if(!sys_rst_n)
    counter 24'd0;  //十进制0
  else if(counter begin
    flag_counter = 1'b0;
    counter 1'b1;
  end
  else begin
    counter 24'd0;
    flag_counter = 1'b1;
  end
end

在ModelSim仿真中,时钟是很严格,芯片交易网IC交易网但是在真实的晶振所产生的clock却是不严格的,比如高电平和低电平的时间跨度不一样,甚至非周期性的微小波动。如果只使用posedge,则整个系统的节拍都按照clock上升沿对齐,如果用到了negedge,则系统的节拍没有统一到一个点上。上升沿到上升沿肯定是一个时钟周期,但是上升沿到下降沿却很可能不是半个周期。这都会出现问题。

FPGA中特有的Global CLK是指FPGA芯片内部的全局时钟信号,它可以用于同步各种时序逻辑,确保电路的正确性和可靠性。Global CLK是FPGA芯片内部的一个特殊信号,它可以被所有时序逻辑模块使用,从而实现全局同步。

FPGA内部专有的CLK"线"是指FPGA芯片内部的时钟信号线路,它可以用于连接各种时序逻辑模块,实现电路的同步,和一般的逻辑门线路走法不一样,目的是为了保证整个FPGA片内的时钟一致。时钟信号线路应该具有以下特点:

时钟信号线路应该是低时延、低抖动的。时钟信号线路应该具有良好的信号完整性,避免信号失真或干扰。时钟信号线路应该能够满足电路的时序要求,确保电路的正确性和可靠性。

在FPGA设计中,应该注意时钟信号的设计和布局,以确保电路的正确性和可靠性。

图片

总结

Verilog中的时钟信号使用posedge触发方式可以确保同步电路中各个模块在同一时刻执行,提高电路的稳定性和可靠性。同时,posedge触发方式也更好地反映了硬件电路的实际运行方式,提高了设计的准确性和可靠性。