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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    文章

    1295

    瀏覽量

    103918
  • VCS
    VCS
    +關注

    關注

    0

    文章

    79

    瀏覽量

    9600

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

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

收藏 人收藏

    評論

    相關推薦

    模擬IC與數字IC對比分析

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

    IC分析工具

    本內容提供了 IC卡 的分析工具,現簡單演示如下
    發表于 07-11 15:31 ?316次下載
    <b class='flag-5'>IC</b>卡<b class='flag-5'>分析</b>工具

    硬件設計中的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 ?7248次閱讀
    CAN總線局部<b class='flag-5'>錯誤</b>及全局通知<b class='flag-5'>分析</b>

    英特爾視頻專業分析器確保錯誤恢復能力并進行全流分析

    英特爾?VPA的主要功能之一包括流錯誤分析流程,可以發現錯誤并允許您進行全流分析。 看看這個!
    的頭像 發表于 11-01 06:35 ?2610次閱讀

    西門子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 ?1650次閱讀

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

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

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

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

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

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

    你一定要懂的CDC錯誤

    本文描述的跨時鐘錯誤在特定場景下,有些是允許的,甚至有些是正常設計。因此IC設計者想要確認跨時鐘錯誤需要分析應用場景。
    的頭像 發表于 07-24 17:00 ?3497次閱讀
    你一定要懂的CDC<b class='flag-5'>錯誤</b>
    主站蜘蛛池模板: 91羞羞视频| 色老板影视| 福利片午夜| 亚洲成人综合在线| 久久欧洲视频| 草莓视频在线看免费高清观看| 午夜日韩久久影院| 久久综合伊人| 二级毛片免费观看全程| 亚洲精品永久免费| 第九色区av天堂| 亚洲国产在线综合018| 麻豆人妻换人妻X99| 国产69精品久久久久无码麻豆 | 国精产品一区一区三区有| 亚洲国产成人在线| 久9青青cao精品视频在线| 又黄又猛又爽大片免费| 久久中文电影| 99热久久视频只有精品6国产| 秋秋影视午夜福利高清| 高H高肉强J短篇NP| 美国色吧影院| 国产精品亚洲视频在线观看| 最新无码国产在线视频2020| 四虎永久在线精品国产| 快播电影频道| 国产精品7777人妻精品冫| 最近韩国日本免费观看mv免费版| 涩涩电影网| 午夜福利免费0948视频| 露露的性战k8经典| 国产精品色欲AV亚洲三区软件| 最近的2019中文字幕国语版| 天堂tv免费tv在线tv香蕉| 六度影院最新| 国产九色在线| www.色片| 在线观看精品视频看看播放| 台湾佬综合娱乐网| 嗯啊插的好深啊使劲抽视频|