微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > ASIC设计中寄存器的复位问题

ASIC设计中寄存器的复位问题

时间:10-02 整理:3721RD 点击:
用always写的组合逻辑中定义的reg综合后是dff吗,怎么对这个reg进行复位呢?怎么对下面代码中的re_dout_fft4_st1_neg 进行复位呢?
reg     [DATAWIDTH-1:0]       re_dout_fft4_st1_neg;
always @(re_dout_fft4_st1)
begin
  if(re_dout_fft4_st1 == {1'b1, {(DATAWIDTH-1){1'b0}}})
    re_dout_fft4_st1_neg = {1'b0, {(DATAWIDTH-1){1'b1}}};
  else
    re_dout_fft4_st1_neg = ~re_dout_fft4_st1 + 1'b1;
end


你这是组合逻辑



    组合逻辑是不是都不会综合成dff

DFF 都是带有时钟端口的 你的写法里面没有时钟信号, 综合结果自然也就不是DFF了



    另外实际的寄存器单元都有复位端和置位端,你只要在时序逻辑的always的敏感列表里面加上复位信号,并且写出复位的分支,一般来说就会综合成DFF的,只不过你现在的代码没有时钟端,只能被工具理解为组合逻辑了。


触发器是边沿触发。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top