FPGA|CPLD|ASIC论坛
直播中

yousin

3年用户 7经验值
擅长:可编程逻辑
私信 关注
[问答]

quartus中rtl viewer和technology map viewer中dffe原语的逻辑改变



rtl viewer中dffe的输入为clk端口及pre端口,d输入端口为0

而technology map中dffe的输入变成clk端口和clrn端口了,并且d输入端口变成了1。
这是代码
module ro(
    enable,
    ro_out
    )/*synthesis noprune*/;
    input enable/* synthesis keep */;
    output ro_out/* synthesis keep */;
    wire w/*synthesis keep*/;
         wire w1/*synthesis keep*/;
         wire w2/*synthesis keep*/;
         wire w3/*synthesis keep*/;
        assign w3=enable&w;
        assign w1=-w3;
         assign w2=-w1;
         assign w = ro_out;
         dffe dffe (.d(0), .clk(w2),.clrn(1), .prn(w1), .ena(1),.q(ro_out));
endmodule
求大神解答

已退回5积分

回帖(2)

卿小小_9e6

2022-1-16 13:20:56
具体原因不懂,不过rtl_viewer和代码逻辑是对应的。
而technology_map_viewer是quartus根据实际硬件资源状况做的物理布局设置,整个模块最终的逻辑和代码是匹配的。个别的内部资源和你的代码逻辑看起来可能不一致。
//------
/*synthesis keep*/去掉之后更适合上述分析。
举报

sjb2013

2022-1-23 18:24:06
留着备用   留着备用   留着备用   留着备用   留着备用   留着备用   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分