Formality:Bug記錄

相關閱讀

Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm=1001.2014.3001.5482


? ? ? ? 本文記錄博主在使用Synopsys的形式驗證工具Formality中遇到的一個Bug。

Bug復現

情況一

// 例1
module dff (input clk,    input d_in,      output d_out    
);reg q1, q2;  always @(posedge clk) beginq1 <= d_in;  q2 <= q1;       endassign d_out = q2;
endmodule

? ? ? ? 首先以例1的RTL代碼作為參考設計和實現設計,然后在setup模式使用以下set_constant命令使得q1、q2觸發器變成不可讀觸發器。

set_constant -type net r:/WORK/dff_chain/d_out 1
set_constant -type net i:/WORK/dff_chain/d_out 1

????????關于不可讀的更詳細信息,可以參考下面的博客。

Formality:不可讀(unread)的概念https://chenzhang.blog.csdn.net/article/details/145242304

????????隨后在fm_shell中使用match命令進行匹配,或在GUI界面點擊Run Matching,此時fm_shell中顯示的匹配結果與GUI界面顯示的匹配結果出現了差別,如下所示。

// fm_shell的匹配結果
*********************************** Matching Results ***********************************1 Compare points matched by name0 Compare points matched by signature analysis0 Compare points matched by topology0 Matched primary inputs, black-box outputs0(0) Unmatched reference(implementation) compare points0(0) Unmatched reference(implementation) primary inputs, black-box outputs
****************************************************************************************
// GUI界面的匹配結果
3 points matched by name
0 points matched by signature analysis
0 points matched by topology
0 points matched by user
0 unmatched reference points
0 unmatched implementation points

? ? ? ? 結果顯示fm_shell沒有考慮兩對匹配的不可讀觸發器,而GUI界面考慮了,更嚴重的是,此時輸入/輸出端口沒有顯示在任何匹配報告中。

????????這對最后的驗證結果沒有影響,不可讀觸發器在默認情況下會被歸為Not Compared類而不進行驗證(可通過verification_verify_unread_compare_points變量改變),如下所示。

********************************* Verification Results *********************************
Verification SUCCEEDED
----------------------Reference design: r:/WORK/dff_chainImplementation design: i:/WORK/dff_chain1 Passing 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
Not ComparedUnread                       0       0       0       0       0       2       0       2
****************************************************************************************

情況二

? ? ? ? 以例2的RTL代碼的作為實現設計,而使用例1的RTL代碼作為參考設計,匹配結果如下所示。

// 例2
module dff (input clk,    input d_in,      output d_out    
);reg q1, q2, q3;  always @(posedge clk) beginq1 <= d_in;  q3 <= d_in; q2 <= q1;       endassign d_out = q2;
endmodule
// fm_shell的匹配結果
*********************************** Matching Results ***********************************3 Compare points matched by name0 Compare points matched by signature analysis0 Compare points matched by topology2 Matched primary inputs, black-box outputs0(0) Unmatched reference(implementation) compare points0(0) Unmatched reference(implementation) primary inputs, black-box outputs1(0) Unmatched reference(implementation) unread points
****************************************************************************************
// GUI界面的匹配結果
5 points matched by name
0 points matched by signature analysis
0 points matched by topology
0 points matched by user
0 unmatched reference points
0 unmatched implementation points

? ? ? ? 結果顯示fm_shell的匹配結果中列出了這個未匹配的不可讀觸發器,而輸入/輸出端口顯示在了匹配報告中。

情況三

? ? ? ? 以例2的RTL代碼作為參考設計和實現設計,匹配結果如下所示。

// fm_shell的匹配結果
*********************************** Matching Results ***********************************3 Compare points matched by name0 Compare points matched by signature analysis0 Compare points matched by topology2 Matched primary inputs, black-box outputs0(0) Unmatched reference(implementation) compare points0(0) Unmatched reference(implementation) primary inputs, black-box outputs
****************************************************************************************
// GUI界面的匹配結果
6 points matched by name
0 points matched by signature analysis
0 points matched by topology
0 points matched by user
0 unmatched reference points
0 unmatched implementation points

????????結果顯示fm_shell沒有考慮這對匹配的不可讀觸發器,而GUI界面考慮了,而輸入/輸出端口顯示在了匹配報告中。

Bug總結

? ? ? ? ?1、當使用set_constant命令導致不可讀觸發器時,fm_shell和GUI界面的匹配結果不一致,輸入輸出端口不會出現在任何匹配報告中,而匹配的不可讀觸發器不出現在fm_shell中(對最終驗證沒有影響)。

? ? ? ? 2、即使不使用set_constant命令,fm_shell和GUI界面的匹配結果也不一致,匹配的不可讀觸發器不出現在fm_shell中(對最終驗證沒有影響)。

Bug反饋

? ? ? ? 目前已在Solvnet上向Synopsys提出反饋,如下圖所示。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/77279.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/77279.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/77279.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

通信算法之267 : DJI無人機 云哨 DroneID 640ms

DJI 無人機 與DroneID 轉 *** 載 0x01 摘要 消費級無人機可以用于高級航拍、物流和人道主義救援等等。但是其廣泛使用給安全、安保和隱私帶來了許多風險。例如&#xff0c;攻擊方可能會使用無人機進行監視、運輸非法物品&#xff0c;或通過侵入機場上方的封閉空域造成經濟損…

論壇測試報告

作者前言 &#x1f382; ??????&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f367;&#x1f382; ?&#x1f382; 作者介紹&#xff1a; &#x1f382;&#x1f382; &#x1f382; &#x1f389;&#x1f389;&#x1f389…

npx 的作用以及延伸知識(.bin目錄,npm run xx 執行)

文章目錄 前言原理解析1. npx 的作用2. 為什么會有 node_modules/.bin/lerna3. npx 的查找順序4. 執行流程總結1&#xff1a; 1. .bin 機制什么是 node_modules/.bin&#xff1f;例子 2. npx 的底層實現npx 是如何工作的&#xff1f;為什么推薦用 npx&#xff1f;npx 的特殊能力…

【c語言】深入理解指針3——回調函數

一、回調函數 回調函數&#xff1a;通過函數指針調用的函數. 當把一個函數的地址傳遞給另一個函數&#xff0c;通過該地址去調用其指向的函數&#xff0c;那么這個被調用的函數就是回調函數. 示例&#xff1a; 在【深入理解指針2】中結尾寫了用函數指針實現計算器的功能&#…

HTTP 核心概念

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/literature?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;…

VidBot:從野外 2D 人體視頻中學習可泛化的 3D 動作,實現零樣本機器人操控

25年3月來自慕尼黑工大、瑞士 ETH 和微軟的論文“VidBot: Learning Generalizable 3D Actions from In-the-Wild 2D Human Videos for Zero-Shot Robotic Manipulation”。 未來的機器人被設想為能夠執行各種家務的多功能系統。最大的問題仍然是&#xff0c;如何在盡量減少機器…

Linux 日常運維命令大全

Linux 作為一種開源操作系統&#xff0c;在服務器運維中扮演著重要角色。掌握常用的 Linux 命令對于運維人員而言至關重要。本文將整理一份 Linux 服務器運維常用命令大全&#xff0c;幫助你在日常工作中提高效率和準確性。 1. 基礎命令 基礎命令是Linux操作的起點&#xff0…

編程規范之枚舉

編程規范之枚舉 1.1 初始化枚舉項 枚舉平時用的也沒有很頻繁&#xff0c;今天看代碼規范提到枚舉類型初始化枚舉項。并對初始化枚舉項進行了歸納。包括下面三個 不進行顯示初始化&#xff0c;交由編譯器完成。 對第一個枚舉項的顯式初始化&#xff0c;這樣可以強制整數值的…

《軟件設計師》復習筆記(12.1)——范圍管理、進度管理

目錄 一、范圍管理 1. 核心概念 2. 范圍管理過程 WBS&#xff08;工作分解結構&#xff09;示例 真題示例&#xff1a; 二、進度管理 1. 核心過程 2. 關鍵工具與技術 真題示例&#xff1a; 一、范圍管理 1. 核心概念 項目范圍&#xff1a;為交付產品必須完成的工作…

過去十年前端框架演變與技術驅動因素剖析

一、技術演進脈絡&#xff08;2013-2023&#xff09; 2013-2015&#xff1a;結構化需求催生框架雛形 早期的jQuery雖然解決了跨瀏覽器兼容性問題&#xff08;如IE8兼容性處理&#xff09;&#xff0c;但其松散的代碼組織方式難以支撐復雜應用開發。Backbone.js的出現首次引入M…

中華傳承-醫山命相卜-梅花易數

梅花易數 靈活起卦&#xff08;如數字、聲音、外應等&#xff09;和象數結合&#xff0c;準確率可達96.8%。其起卦方式擺脫傳統龜殼、蓍草的繁瑣&#xff0c;強調直覺與靈活性。 個人決策、事件預測等 尤其在短期、具體問題上表現突出。

如何用Brower Use WebUI實現網頁數據智能抓取與分析?

作者&#xff1a;算力魔方創始人/英特爾創新大使劉力 Browser-use是一款能讓AI智能體像人類一樣操作網頁的創新工具&#xff0c;與傳統網絡爬蟲技術相比&#xff0c;Browser-use能模擬人瀏覽并操作網頁&#xff0c;在采集網站數據時&#xff0c;不會被網站反爬機制識別和封禁&…

LIMS引領綜合質檢中心數字化變革,賦能質量強國戰略

在質量強國戰略的深入推進下&#xff0c;我國綜合質檢機構迎來了前所未有的發展機遇&#xff0c;同時也面臨著諸多嚴峻挑戰。隨著檢測領域從傳統的食品藥品監督向環境監測、新材料檢測等新興領域不斷拓展&#xff0c;跨領域協同管理的復雜度呈指數級增長。作為提升產品質量的關…

簡單好用的在線工具

用AI寫了一些在線工具&#xff0c;簡介好用&#xff0c;推薦給大家&#xff0c;歡迎大家使用并提議意見。 網址&#xff1a;https://www.bittygarden.com/ 目前已有以下功能&#xff1a; MD5SM3SHAUnicode 編碼Unicode 解碼Base32 編碼Base32 解碼Base64 編碼Base64 解碼URL …

阿里云服務器搭建開源版禪道

一&#xff0c;下載地址&#xff1a;禪道11.5版本發布&#xff0c;主要完善細節&#xff0c;修復bug&#xff0c;新增動態過濾機制 - 禪道下載 - 禪道項目管理軟件 下載地址二&#xff1a; 禪道21.6.stable 實現舊編輯器撰寫的文檔無感升級至新版編輯器 - 禪道下載 - 禪道項目…

leetcode 309. Best Time to Buy and Sell Stock with Cooldown

目錄 題目描述 第一步&#xff0c;明確并理解dp數組及下標的含義 第二步&#xff0c;分析并理解遞推公式 1.求dp[i][0] 2.求dp[i][1] 3.求dp[i][2] 第三步&#xff0c;理解dp數組如何初始化 第四步&#xff0c;理解遍歷順序 代碼 題目描述 這道題與第122題的區別就是賣…

嵌入式硬件常用總線接口知識體系總結和對比

0.前言 在嵌入式工程實現中,多多少少我們都使用過總線,各種各樣的總線應用于不同場合,不同場景有不同的優勢,但是我們在作為工程師過程中在如何選擇項目合適的總線,根據什么來選?需要我們對項目全局和總線特征有所了解,本文目的就是對比多種總線的關鍵特征 我們在聊到…

數據分析處理庫Pandas常用方法匯總

目錄 一、基礎操作 1.1 創建df對象 1.1.1 讀入表格數據 1.1.2 手動創建df 1.2 .info() 1.3 df.index 1.4 df.columns 1.5 df.dtypes 1.6 df.values 1.7 .set_index() 1.8 df[xxx] 1.9 .describe() 1.10 .isin() 1.12 .where() 1.13 .query() 1.14 Series類型運算…

智慧大屏系統

延凡智慧大屏系統旨在打破數據壁壘&#xff0c;將海量、復雜的數據轉化為直觀易懂的可視化圖形和信息&#xff0c;廣泛應用于城市管理、企業運營、交通指揮、能源監控等多個領域&#xff0c;為管理者、決策者提供全面、實時、精準的信息展示和分析工具&#xff0c;助力高效決策…

樹莓派超全系列教程文檔--(32)config.txt常用音頻配置

config.txt常用音頻配置 板載模擬音頻&#xff08;3.5mm耳機插孔&#xff09;audio_pwm_modedisable_audio_ditherenable_audio_ditherpwm_sample_bits HDMI音頻 文章來源&#xff1a; http://raspberry.dns8844.cn/documentation 原文網址 板載模擬音頻&#xff08;3.5mm耳機…