fpga复位电平与资源消耗对比测试

对fpga开发中使用低电平复位高电平复位消耗的资源情况进行对比测试。

测试代码

c 复制代码
module reg_test(
    input  wire       clk   ,
    input  wire       rst_n ,

    input  wire [3:0] in    ,
    input  wire [1:0] load  ,

    output wire [3:0] out
);

gnrl_dfflr  #(1) u_gnrl_dfflr (load[0],in[0],out[0],clk,rst_n);
gnrl_dfflrs #(1) u_gnrl_dfflrs(load[1],in[1],out[1],clk,rst_n);
gnrl_dffr   #(1) u_gnrl_dffr  (in[2],out[2],clk,rst_n);
gnrl_dffrs  #(1) u_gnrl_dffrs (in[3],out[3],clk,rst_n);

endmodule

gnrl_dff * 寄存器模块来自蜂鸟e203项目,gnrl_dfflrs.v如下:

verilog 复制代码
 module gnrl_dfflrs # (
    parameter DW = 32
  ) (
  
    input               lden, 
    input      [DW-1:0] dnxt,
    output     [DW-1:0] qout,
  
    input               clk,
    input               rst_n
  );
  
  reg [DW-1:0] qout_r;
  
//  always @(posedge clk or negedge rst_n) begin : DFFLRS_PROC
always @(posedge clk )  begin
//    if (rst_n == 1'b0) // 低电平复位
if (rst_n == 1'b1)       // 高电平复位
      qout_r <= {DW{1'b1}};
    else if (lden == 1'b1)
      qout_r <= dnxt;
  end
  
  assign qout = qout_r;
  
endmodule

资源消耗

低电平复位

高电平复位

相关推荐
ALINX技术博客20 小时前
AMD MoP 封装策略解读 | HBM 大热,为何 AMD Versal 系列反选 LPDDR5X?
fpga开发·fpga·amd·versal
zlinear数据采集卡1 天前
从万用表的6步调零到硅片级微秒自校准:硬核拆解LHAMP188的宽压轨到轨与零漂移实战
arm开发·stm32·单片机·嵌入式硬件·fpga开发
Rambo.xia1 天前
AXI-Stream反压与背靠背传输——TREADY反压丢帧、TDEST路由错误、反压死锁,流式数据一反压就出事
fpga开发
传感器与混合集成电路1 天前
128路模拟通道轮询切换技术解析:模拟开关配置机制与精度影响抑制策略
嵌入式硬件·fpga开发
国科安芯1 天前
ASC8T245S 8通道电平转换设计实战:从系统架构到QFN24 Layout再到量产测试
网络·单片机·物联网·安全·fpga开发·系统架构
传感器与混合集成电路2 天前
基于FPGA与ADC协同架构的高密度数据采集模块设计原理与应用场景分析
fpga开发·架构
Rambo.xia2 天前
10Gbps实时图像重采样:一个FPGA项目的完整交付复盘
fpga开发
zlinear数据采集卡2 天前
2mV纹波的代价:硬核拆解ZLinear模拟前端放大器与正负可调电源设计
arm开发·单片机·嵌入式硬件·fpga开发·架构·开源
小麦嵌入式2 天前
FPGA入门(八):一篇讲透跑马灯、闪烁灯、呼吸灯的原理与模拟波形分析
fpga开发
Rambo.xia2 天前
AXI4-Full突发传输掉数据——突发长度算错、WRAP边界、窄传输字节错位,调试一周才发现是协议理解错了
fpga开发