微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC后端设计交流 > 在线求助, eco后formality不过

在线求助, eco后formality不过

时间:10-02 整理:3721RD 点击:
跪侯各位老大:
现在做ECO想把寄存器rf_clkpol的默认值从0改为1;
rf_clkpol的作用是配置系统时钟clk是否取反,即rf_clkpol为1为上升沿采样,
rf_clkpol为0为下降沿采样。verilog代码如下:
always @ (posedge spi_ck or negedge rstn)
if(~rstn)rf_clkpol <= #1 1'b0;
else if(spi_we && spi_adr)rf_clkpol <= spi_din;
eco 方案为在此dff的D端前和Q端后分别加一个反相器。
修改后的verilog代码如下:
always @ (posedge spi_ck or negedge rstn)
if(~rstn)rf_clkpol_tmp <= #1 1'b0;
else if(spi_we && spi_adr)rf_clkpol_tmp <= ~spi_din;
assign rf_clkpol = ~rf_clkpol_tmp;
按eco方案修改netlist后,formality有几个不匹配的dff,但该dff没问题。
有问题的dff的共同点是:都是用配置后的clk做时钟用。
我查了逻辑锥,上下功能完全一样,为什么报错啊?是不是初始值不一样?
求助!

网表改错了。还有这种改法明显不对,找个RDN寄存器换成SDN寄存器就可以了。

多谢回复,已经解决了.
是工具的问题,换了个版本就好了,
指定了不能用SDN类型的DFF.
谢谢!

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

网站地图

Top