当前位置: 首页 > news >正文

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());

********************************* 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


相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 2022极端高温!人工智能如何预测森林火灾?| 万物AI
  • redis五大数据类型+redis6 新类型(详解+指令)
  • 【云原生 | 从零开始学Kubernetes】十七、Kubernetes核心技术Service
  • 传述最详细的干货,让简历面试不再成为你找工作的绊脚石
  • 【云原生丨Kubernetes系列⑥】集群的WEB UI管理⼯具:Dashboard 插件
  • 开学季征文|一个爱立Flag 的大冤种
  • 《MySQL实战45讲》——学习笔记04-05 “深入浅出索引、最左前缀原则、索引下推优化“
  • 翻译: Transformer一种用于语言理解的新型神经网络架构 Google AI
  • 两种方法,计算带地形起伏的地表面积
  • 全景分割(Panoptic Segmentation)(CVPR 2019)
  • 【云原生】基于Kubernetes开发的阿里云ACK之可观测监控
  • 软考高项——47个过程的输入、输出、工具技术汇总
  • Flink / Scala - Metrics 使用与详解
  • 日常开发中比较实用的命令行
  • 阿里云AliGenie开发天猫语音功能-入门篇
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 78. Subsets
  • Android系统模拟器绘制实现概述
  • JS函数式编程 数组部分风格 ES6版
  • Less 日常用法
  • MQ框架的比较
  • Node + FFmpeg 实现Canvas动画导出视频
  • PHP 7 修改了什么呢 -- 2
  • PHP变量
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • springMvc学习笔记(2)
  • SQL 难点解决:记录的引用
  • Vue官网教程学习过程中值得记录的一些事情
  • 互联网大裁员:Java程序员失工作,焉知不能进ali?
  • 快速构建spring-cloud+sleuth+rabbit+ zipkin+es+kibana+grafana日志跟踪平台
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 一个JAVA程序员成长之路分享
  • 原生Ajax
  • 自动记录MySQL慢查询快照脚本
  • ​【已解决】npm install​卡主不动的情况
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • ######## golang各章节终篇索引 ########
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • $.ajax中的eval及dataType
  • (~_~)
  • (1)(1.13) SiK无线电高级配置(六)
  • (6)STL算法之转换
  • (9)STL算法之逆转旋转
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot教学评价 毕业设计 641310
  • (转)setTimeout 和 setInterval 的区别
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .Net Core中Quartz的使用方法
  • .NET/C# 的字符串暂存池
  • .NET运行机制
  • :not(:first-child)和:not(:last-child)的用法