• lec formality inconclusive举例


    情况1:output port连接常量电平(形成loop)

    设计

    module sub( input a,b,c,output d,e );
    assign d = a ^ b | c;
    assign e = a ^ b ^ c;
    endmodule

    module rtl_out_fixed1( input in1,
    input in2,
    output reg out1,
    input clk,
    input rstn);
    wire d;
    always@(posedge clk or negedge rstn)
    if(!rstn)
    out1 <= #1 1’b0;
    else
    out1 <= #1 d;
    sub u_sub(.a(in1),.b(in2),.c(1’b1),.d(d),.e**(1’b1)**);
    endmodule

    综合结果

    module sub_0 ( a, b, c, d, e );
    input a, b, c;
    output d, e;
    wire n1;
    wand e;

    AOI21B1X1AS9 U3 ( .A1(n1), .A2©, .B1B(d), .O(e) );
    AOI22B2X1AS9 U1 ( .A1(a), .A2(b), .B1B(a), .B2B(b), .O(n1) );
    OR2X1AS9 U2 ( .I1©, .I2(n1), .O(d) );
    endmodule

    module rtl_out_fixed1 ( in1, in2, out1, clk, rstn );
    input in1, in2, clk, rstn;
    output out1;
    wire d, n5;

    sub_0 u_sub ( .a(in1), .b(in2), .c(n5), .d(d), .e(n5) );
    DFFRBQX1AS9 out1_reg ( .D(d), .CK(clk), .RB(rstn), .Q(out1) );
    endmodule

    现象

    ********************************* Verification Results *********************************
    Verification INCONCLUSIVE
    (Equivalence checking aborted due to complexity)
    Reference design: r:/WORK/rtl_out_fixed1
    Implementation design: i:/WORK/rtl_out_fixed1
    1 Passing compare points
    1 Aborted compare points
    0 Unverified compare points
    Matched Compare Points BBPin Loop BBNet Cut Port DFF LAT TOTAL
    Passing (equivalent) 0 0 0 0 1 0 0 1
    Failing (not equivalent) 0 0 0 0 0 0 0 0
    Aborted
    Loop (cycle-driven) 0 0 0 0 0 1 0 1


    fm>analyze_points -failing
    Error: No matched compare points to diagnose or analyze (FM-213)
    fm> diagnose
    Error: Diagnosis and analysis can only be performed after an unsucessful verification (FM-006)

    根据报告中的Loop问题,
    fm> report_loops
    There is(are) 1 loop(s) found in the implementation design :
    Loop 1 :
    (Pin) i:/WORK/rtl_out_fixed1/u_sub/U2/O
    ==> (Net) i:/WORK/rtl_out_fixed1/u_sub/d
    (Net) i:/WORK/rtl_out_fixed1/u_sub/d
    ==> (Pin) i:/WORK/rtl_out_fixed1/u_sub/U3/B1B
    (Pin) i:/WORK/rtl_out_fixed1/u_sub/U3/O
    ==> (Net) i:/WORK/rtl_out_fixed1/u_sub/e
    (Net) i:/WORK/rtl_out_fixed1/u_sub/e
    ==> (Pin) i:/WORK/rtl_out_fixed1/u_sub/e
    (Pin) i:/WORK/rtl_out_fixed1/u_sub/e
    ==> (Net) i:/WORK/rtl_out_fixed1/n5
    (Net) i:/WORK/rtl_out_fixed1/n5
    ==> (Pin) i:/WORK/rtl_out_fixed1/u_sub/c
    (Pin) i:/WORK/rtl_out_fixed1/u_sub/c
    ==> (Net) i:/WORK/rtl_out_fixed1/u_sub/c
    (Net) i:/WORK/rtl_out_fixed1/u_sub/c
    ==> (Pin) i:/WORK/rtl_out_fixed1/u_sub/U2/I1
    ==> (Pin) i:/WORK/rtl_out_fixed1/u_sub/U3/A2

    实际上不存在loops,但是工具会把 n5连接回去,形成loop。

    改正

    sub u_sub(.a(in1),.b(in2),.c(1'b1),.d(d),.e());
    
    • 1

    ********************************* Verification Results *********************************
    Verification SUCCEEDED
    Reference design: r:/WORK/rtl_out_fixed1
    Implementation design: i:/WORK/rtl_out_fixed1
    2 Passing compare points

    Matched Compare Points BBPin Loop BBNet Cut Port DFF LAT TOTAL

    Passing (equivalent) 0 0 0 0 1 1 0 2
    Failing (not equivalent) 0 0 0 0 0 0 0 0


  • 相关阅读:
    【汇编】内存中字的存储、用DS和[address]实现字的传送、DS与数据段
    计算机网络概述(接入网和物理媒体)
    2023-06-13:统计高并发网站每个网页每天的 UV 数据,结合Redis你会如何实现?
    【文末送书】Python数据分析
    Unity VR开发教程 OpenXR+XR Interaction Toolkit 2.1.1(七)射线抓取
    04-对原生app应用中的元素进行定位
    PHP 员工工资管理系统mysql数据库web结构apache计算机软件工程网页wamp
    锂电池储能系统建模发展现状及其数据驱动建模初步探讨
    前端构建工具 代码优化压缩 模块管理 依赖管理 资源处理转换 自动化任务 流程优化 高级特性 Webpack Parcel Rollup Gulp 静态资源
    Flink Data Sink
  • 原文地址:https://blog.csdn.net/zt5169/article/details/126659850