色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IC設計錯誤案例分析

我快閉嘴 ? 來源:CSDN技術社區 ? 作者:IC小鴿 ? 2022-09-26 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

IC設計錯誤案例:信號取反導致的錯誤

1、取反操作

如下所示,信號a取反賦值給信號b,底層邏輯是,如果a位寬少于b位寬,則a先高位補0,再進行取反,最后賦值給b。

wire [4:0] a;wire [5:0] b;assign b=~a ; 等價于 assign b= ~{1’b0,a[4:0]}; wire [4:0] a;wire [6:0] b;assign b=~a ; 等價于 assign b= ~{1’b0,1’b0,a[4:0]};

2、取反位寬不匹配錯誤案例

如果賦值語句或者條件判斷中用到了取反操作,一定需要先將取反值賦值相同的位寬 或者 與取反值做運算的信號一定要與原值位寬相同。

wire [2:0] mty_in  ;//invalid byte  in total 8 bytewire [3:0] vld_byte ;//valid byte in total 8 byte if( (~mty_in) <= 4’d5 )        data_updata_vld =1else        data_updata_vld =0;

在上面的代碼中,data_updata_vld永遠為0,因為(~mty_in) <= 4’d5比較時,會默認(~mty_in) 是4bit信號,因此(~mty_in)本質上是~{1’b0,a[2:0]},[3]bit為1 永遠大于4’d5.

3、如何檢查

此類問題

采用vcs仿真可以看出仿真結果不符合預期

采用是spyglass,會報warning/err,說明運算符作為位寬不匹配

IC設計錯誤案例:加法溢出導致的錯誤

1、加法溢出導致的功能錯誤

如下圖所示錯誤代碼中,當byte_add+byte_save等于256的時候,我們期望的的信號more_than_64應該為1,而實際上在錯誤代碼中(byte_add+byte_save)與8’d64比較,(byte_add+byte_save)可能會被理解為8’d0,即被理解成8bit信號,more_than_64等于0,功能錯誤。在芯片設計中,有可能因為EDA工具之間差異導致對(byte_add+byte_save)>8’d64的理解不一樣,導致VCS等工具RTL級仿真正確,而DC綜合后功能錯誤。例如:VCS將(byte_add+byte_save)理解為9bit的位寬,而綜合理解為8bit位寬。一旦綜合理解為8bit位寬,則會導致網表與我們預期功能不一致,而且網表仿真比較慢,一般很慢遍歷所有RTL級仿真用例,因此此類問題不容易發現。

2、如何避免加法溢出導致的功能錯誤

如下圖所示正確代碼中,將賦值給9bit的add_byte_total,并且將add_byte_total與9’d64比較,而不是8’d64比較,這樣就不會發生溢出截斷比較的情況。

//----------------------Error code begin-------------------------//wire         more_than_64 ;reg  [7:0]   byte_add  ;reg  [7:0]   byte_save ;reg  [7:0]  byte_update; assign more_than_64 = ( (byte_add+byte_save)  > 8'd64); always@(*)  if(more_than_64)    byte_update = (byte_add + byte_save ) - 8'd64 ;  else     byte_update = 8'd0;    //----------------------Error code end-------------------------//    //----------------------right and recommended code begin----------------------//wire         more_than_64 ;reg  [7:0]   byte_add  ;reg  [7:0]   byte_save ;reg  [7:0]   byte_update; wire [8:0]   add_byte_total ; assign     add_byte_total=(byte_add+byte_save); assign more_than_64 = ( add_byte_total  > 9'd64); always@(*)  if(more_than_64)    byte_update = (byte_add + byte_save ) - 8'd64 ;  else     byte_update = 8'd0;     //----------------------right and recommended code end----------------------//

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IC設計
    +關注

    關注

    38

    文章

    1360

    瀏覽量

    105855
  • VCS
    VCS
    +關注

    關注

    0

    文章

    80

    瀏覽量

    9949

原文標題:IC設計錯誤案例:信號取反、加法溢出導致的錯誤

文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    模擬IC與數字IC對比分析

    模擬IC與數字IC對比分析     處理連續性的光、聲音、速度、溫度等自然模擬信號的IC被稱為模擬IC
    發表于 11-27 09:27 ?1478次閱讀

    硬件設計中的30個錯誤想法和原因分析

    硬件設計中的30個錯誤想法和原因分析
    發表于 12-15 18:25 ?97次下載

    iOS之友盟錯誤分析及解決辦法

    修復.jpg 前提 應用集成了友盟的bug收集功能。 友盟的錯誤分析、錯誤列表里面有數據。 正題 錯誤詳情.png 錯誤列表 點擊進去基本上
    發表于 09-25 09:58 ?0次下載
    iOS之友盟<b class='flag-5'>錯誤</b><b class='flag-5'>分析</b>及解決辦法

    實測案例分析CAN總線局部錯誤及全局通知

    局部錯誤,全局通知是CAN總線錯誤類型中較為典型的一種,如何通過錯誤報文及波形快速定位錯誤原因呢?本文結合現場實測案例簡要分析。 一、CAN
    發表于 11-08 10:48 ?3次下載
    實測案例<b class='flag-5'>分析</b>CAN總線局部<b class='flag-5'>錯誤</b>及全局通知

    CAN總線局部錯誤及全局通知分析

    局部錯誤,全局通知是CAN總線錯誤類型中較為典型的一種,如何通過錯誤報文及波形快速定位錯誤原因呢?本文結合現場實測案例簡要分析。
    的頭像 發表于 02-16 07:57 ?7512次閱讀
    CAN總線局部<b class='flag-5'>錯誤</b>及全局通知<b class='flag-5'>分析</b>

    西門子SETP7常見錯誤分析

    西門子STEP7編程常見錯誤分析解答。
    發表于 04-30 11:15 ?56次下載

    華秋PCB專業分析工具-獨家BOM錯誤分析

    華秋DFM-專業PCB設計分析軟件,20萬+工程師都在使用 1. 一鍵導入,自動出報價 2.一鍵分析23+項常見設計問題,解決設計隱患 3.智能拼版,節約單板采購成本 4.智能阻抗計算和反算 5. BOM智能分析,不再
    發表于 07-30 16:49 ?0次下載

    PCB專業分析工具-獨家BOM錯誤分析

    華秋DFM-專業PCB設計分析軟件,20萬+工程師都在使用 1. 一鍵導入,自動出報價 2.一鍵分析23+項常見設計問題,解決設計隱患 3.智能拼版,節約單板采購成本 4.智能阻抗計算和反算 5. BOM智能分析,不再
    發表于 08-09 16:52 ?0次下載

    Bash編程常見錯誤范例及原因分析

    Bash Pitfalls[1] 文章介紹了 40 多條日常 Bash 編程中,老手和新手都容易忽略的錯誤編程習慣。每條作者在給出錯誤的范例上,詳細分析與解釋錯誤的原因,同時給出正確
    的頭像 發表于 06-12 16:48 ?1959次閱讀

    使用靜態分析查找并發錯誤

      多線程為嵌入式開發人員必須考慮的潛在錯誤添加了全新的類別,使得查找各種錯誤變得更加困難。最新一代的靜態分析工具可以幫助解決這兩個問題。
    的頭像 發表于 06-19 10:00 ?1399次閱讀
    使用靜態<b class='flag-5'>分析</b>查找并發<b class='flag-5'>錯誤</b>

    使用靜態分析查找并發錯誤

      多線程為嵌入式開發人員必須考慮的潛在錯誤添加了全新的類別,使得查找各種錯誤變得更加困難。最新一代的靜態分析工具可以幫助解決這兩個問題。
    的頭像 發表于 07-09 07:10 ?1161次閱讀
    使用靜態<b class='flag-5'>分析</b>查找并發<b class='flag-5'>錯誤</b>

    基于IC741構建的簡單有線間諜錯誤電路

    間諜蟲電路是當我們需要在不被注意的情況下收聽對話或簡單地監視一個人時使用的東西。通常,間諜錯誤電路是使用麥克風,放大器和揚聲器構建的。介質可以是有線的,也可以是無線的,具體取決于我們將要使用的應用。本文解釋了圍繞運算放大器IC741構建的簡單有線間諜
    的頭像 發表于 06-29 15:52 ?840次閱讀
    基于<b class='flag-5'>IC</b>741構建的簡單有線間諜<b class='flag-5'>錯誤</b>電路

    你一定要懂的CDC錯誤

    本文描述的跨時鐘錯誤在特定場景下,有些是允許的,甚至有些是正常設計。因此IC設計者想要確認跨時鐘錯誤需要分析應用場景。
    的頭像 發表于 07-24 17:00 ?4635次閱讀
    你一定要懂的CDC<b class='flag-5'>錯誤</b>

    電橋電路的常見錯誤分析

    電橋電路的常見錯誤分析主要包括以下幾個方面: 一、電阻值不準確 電阻值不準確是電橋電路常見的錯誤之一。這可能是由于電阻本身的誤差,如電阻的標稱值與實際值存在偏差,或者電阻老化、溫度變化等因素導致
    的頭像 發表于 01-09 10:08 ?1148次閱讀

    基于Vector工具進行CAN協議錯誤幀的分析實踐

    廣播發送的短幀結構,還體現在其錯誤檢測機制上。通過總線數據以及總線波形來分析總線故障時,CAN協議錯誤檢測機制中豐富的錯誤幀類型能讓定位問題的效率更高。
    的頭像 發表于 01-15 10:03 ?614次閱讀
    基于Vector工具進行CAN協議<b class='flag-5'>錯誤</b>幀的<b class='flag-5'>分析</b>實踐
    主站蜘蛛池模板: 男同志china免费视频 | 九九免费的视频 | 噼里啪啦免费观看视频大全 | 两性午夜刺激爽爽视频 | 久久机热免费视频 | 伊人色综合久久天天网 | 69精品国产人妻蜜桃国产毛片 | 久久精品熟一区二区三区 | 色老99九久精品偷偷鲁 | 中文字幕福利视频在线一区 | 久久爽狠狠添AV激情五月 | 秋霞鲁丝片Av无码 | 爽爽影院免费观看 | 国产视频精品在线偷拍 | 色综合99久久久国产AV | 92午夜免费福利757 | 亚洲色欲色欲综合网站 | 十分钟免费看完整视频 | 大相蕉伊人狼人久草av | 国产亚洲精品久久久999密臂 | 国产超嫩一线天在线播放 | 大香伊人久久精品一区二区 | 欧美美女性生活 | 韩国电影久久 | 国产精品爽爽久久久久久蜜桃网站 | FREE性丰满HD毛多多 | 秋葵app秋葵官网18在线观看 | 色多多深夜福利免费观看 | 日日噜噜夜夜狠狠扒开双腿 | 肉动漫无修3D在线观看 | 亚洲国产成人精品无码区APP | 午夜视频在线观看国产 | 亚洲视频无码中字在线 | 久久天堂视频 | 日韩在线 无码 精品 | 乱码AV午夜噜噜噜噜 | 日本视频久久 | 暖暖 免费 高清 日本视频5 | 色欲AV精品人妻一二三区 | 憋尿调教绝望之岛 | 中文字幕爆乳JULIA女教师 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品