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

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

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

3天內不再提示

一個連環無敵面試題--計數器

HOkf_real_farme ? 來源:未知 ? 作者:胡薇 ? 2018-05-16 15:16 ? 次閱讀

筆者多年來反復用一道面試題來考察IC求職人員的水平和能力。這道面試題看似平淡無奇,大部分求職者卻只知其一不知其二,知其然而不知其所以然。這是一道怎樣的奇葩題目呢:

請設計一個異步復位的計數器:“從0到20的無限循環計數,每次計數到20便清0從頭開始計數。”

看到這里有沒有心想“Are you kidding me? So simple?”?其實不然,對于初學者而言,這其實是一個連環無敵面試題。欲知詳情,請見本文一一拆解

問題1:如何用Verilog實現這個計數器?

針對上述功能的計數器,應該如何用Verilog實現?

一般而言,大多數學過Verilog語言的人,這一個問題都能回答清楚,初步的解題思路如下:

模塊有2個輸入:時鐘clk,復位rst_n(此處用下降沿有效的復位為例)

模塊有1個輸出:每次計數到20時,輸出信號cnt_timeout拉起一拍

完整的Verilog代碼如下:

問題2:此計數器代表的實際電路是什么?

在面試的學生回答出如何用Verilog實現計數器后,第二個問題筆者就會問:

用Verilog實現的這個計數器背后的實際電路是什么?如果給你提供多個D觸發器,多個比較器,多個加法器,多個多路選擇器,你怎么組合出這個電路?

經過筆者的實驗統計,這個問題大概有30%的人能不假思索的回答出來,剩下的大概20%在經過引導后也能說出自己的思路和答案,而經過引導也沒有思路的50%則存在著“只知語法不知電路”的問題,需要進一步學習提高。

完整電路如下:

問題3:此計數器的關鍵路徑是哪一條?

初學者如果能夠回答出上一個問題,那么說明對于電路的理解已經相當的不錯,那么接下來的問題便是 :“以上電路的關鍵路徑在哪里”?

絕大多數的面試學生對于這個問題是難以回答的,主要原因是,不理解關鍵路徑的含義,或者找不出關鍵路徑。

正確答案如下:關鍵路徑應該是從“寄存器的Q端”->加法器(ADD)->多路選擇器(MUX)->“寄存器的D端”。

有關關鍵路徑(Critical Path)的概念需要初學者自行查閱學習。

如果能夠回答出上述問題,那么可以繼續反問面試學生:為什么關鍵路徑不是從“寄存器的Q端”->比較器(CMP)->多路選擇器(MUX)->“寄存器的D端”。即:比較器(CMP)和加法器(ADD)哪個更關鍵,有關此問題,請參見后續問題。

問題4:“cnt == 20”對應的電路是什么?

上述電路中的比較器其實是“cnt == 20”,那么這段比較器代碼對應的電路是什么呢?此問題非常簡單,但是絕大多數初學者是回答不出來的。

正確答案:20的2進制表示為5’b10100,那么“等于”20的電路邏輯如下圖所示,即對應0的位取反,對應1的位不取反,將其與在一起。此乃大二數電的基本知識。

注意:只有“等于”常數才能得到如此簡潔的電路,如果是兩個變量的“等于”比較則必須使用“同或”電路來實現,“同或”電路是什么邏輯?查一查大二數電的基本知識。

問題5:使用“cnt > 19”和“cnt == 20”一樣嗎?

針對上述電路中的比較器,接下來的問題是 :“用cnt > 19來代替cnt == 20行嗎? 為什么”?

一個對電路有深刻理解的人應該不僅僅能回答出行不行,還能說出為什么。

正確答案如下:功能上是可行,但從電路優化的角度看,是不行的。

因為“cnt == 20”如上文所述,實現相對簡單,用少量的非門及與門即可實現。但“cnt > 19” 的電路邏輯更為復雜。

具體的“cnt > 19”的電路是怎樣的呢?對于這個5bit的“cnt > 19”, cnt可能的范圍取值為[20:31],綜合工具會將電路優化成幾個等于相與:“cnt == 20 && cnt == 21 && …… && cnt == 31”。顯然“cnt > 19”的電路實現比“cnt == 20”復雜許多。所以此處用“cnt > 19”是不合適的,會帶來額外的硬件開銷。

上述5 bit的大于的比較電路,因為cnt的可能的取值范圍是[20:31],綜合工具能將電路優化成幾個等于相與,但假設cnt是32 bit的,那“cnt > 19”所代表的cnt的可能的取值范圍太大,此時對于32bit的“cnt > 19”,則相當于“cnt – 19 > 0”,此比較器映射的電路將引入一個加法器。

問題6:加法器的電路是什么?

加法器的電路比較復雜,以后的系列會專門講加法器:“登堂設計案例之:加法器真的就是寫個+號這么簡單嗎?”。

但有一點是可以肯定的:如采用“cnt==20”的比較器,上述計數器中的加法器的延時肯定是大于比較器的。

所以,關鍵路徑是上面所述的“寄存器的Q端”->加法器(ADD)->多路選擇器(MUX)->“寄存器的D端”。

附加問題:如何驗證這個計數器?

如果學生是面試IC驗證工程師崗位的,此時不妨加上一些驗證相關的問題:

如何驗證這個計數器?

你的TB的組成是怎樣的?

列舉一下針對這個計數器功能描述提取的測試點?由于此系列以Verilog設計為主要講解主題,所以驗證的問題在此不深入展開討論。

基于這個簡單的計數器,您還能想出什么衍生問題可以加入這一系列的面試題呢?

結語

最后,我們總結下核心要義:Verilog只是一種硬件描述語言,IC設計的本質是對于電路的設計,雖然現在Verilog Coding采用RTL級別的抽象描述,但是必須清楚所描述的代碼能夠映射出的電路結構,對其面積和時序的影響都了然于胸,只有如此才能夠成為一名優秀的IC設計工程師。

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

    關注

    28

    文章

    1351

    瀏覽量

    110258
  • 計數器
    +關注

    關注

    32

    文章

    2261

    瀏覽量

    94871

原文標題:入門設計基礎之:無敵的面試題--計數器

文章出處:【微信號:real_farmer,微信公眾號:硅農亞歷山大】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    常見的嵌入式C語言面試題

    數組是最基本的數據結構,關于數組的面試題也屢見不鮮,本文羅列了些常見的面試題,僅供參考。目前有以下18道題目。
    發表于 07-18 10:46 ?835次閱讀

    java基礎練習、面試題

    java基礎練習、面試題整理了java私塾教材的課后作業,基礎部分,面試中也常常遇到的基礎問題,趕緊下載了。下載: [hide][/hide]
    發表于 07-16 14:02

    這樣的面試題 ,你敢回答嗎?

    本帖最后由 海同iotek 于 2014-12-11 14:27 編輯 這樣的面試題 ,你敢回答嗎?海同網校面試時,有面試題大致是這樣的:你和
    發表于 11-27 17:16

    java經典面試題深度解析

    免費視頻教程:java經典面試題深度解析對于很多初學者來說,學好java在后期面試的階段都沒什么經驗,為了讓大家更好的了解面試相關知識,今天在這里給大家分享了
    發表于 06-20 15:16

    c語言面試題,c++面試題下載

    c語言面試題,c++面試題1. static有什么用途?(請至少說明兩種) 1) 限制變量的作用域 2) 設置變量的存儲域 2. 引用與指針有什么區別?  1) 引用必須被初
    發表于 10-22 11:19 ?5次下載

    c語言面試題

    c語言面試題集(單片機)C language problem(20151125084232)
    發表于 12-18 14:05 ?9次下載

    c語言面試題

    c語言面試題
    發表于 11-05 16:48 ?0次下載

    C語言經典面試題

    面試題
    發表于 12-20 22:41 ?0次下載

    C語言經典面試題

    C語言 經典面試題
    發表于 01-05 11:27 ?0次下載

    經典硬件面試題精選及解答

    經典硬件面試題精選及解答
    發表于 11-29 18:02 ?0次下載

    Java的經典面試題和答案詳細說明

    發現網上很多Java面試題都沒有答案,所以花了很長時間搜集整理出來了這套Java面試題大全,希望對大家有幫助哈~ 博主已將以下這些面試題整理成了
    發表于 09-07 08:00 ?0次下載
    Java的經典<b class='flag-5'>面試題</b>和答案詳細說明

    常見的MySQL高頻面試題

    在各類技術崗位面試中,似乎 MySQL 相關問題經常被問到。無論你面試開發崗位或運維崗位,總會問幾道數據庫問題。經常有小伙伴私信我,詢問如何應對 MySQL 面試題。其實很多面試題都是
    的頭像 發表于 02-08 16:05 ?2433次閱讀

    操作系統的四十多道題面試題

    ? 我之前匯總了下關于操作系統的面試題,最近又重新翻閱了下發現不是很全,現在也到了面試季了,所以我又花了周的時間修訂整理了
    的頭像 發表于 03-10 10:17 ?3291次閱讀
    操作系統的四十多道題<b class='flag-5'>面試題</b>

    關于數組常見的面試題

    數組是最基本的數據結構,關于數組的面試題也屢見不鮮,本文羅列了些常見的面試題,僅供參考。目前有以下18道題目。
    的頭像 發表于 08-17 09:25 ?1681次閱讀

    硬件工程師經典面試題詳解

    硬件工程師經典面試題詳解
    的頭像 發表于 11-20 15:08 ?1503次閱讀
    硬件工程師經典<b class='flag-5'>面試題</b>詳解
    主站蜘蛛池模板: 亚洲人成人毛片无遮挡 | 一区二区三区福利视频 | 国产婷婷色一区二区三区在线 | 亚洲黄色高清视频 | 成人免费观看国产高清 | 精品国产原创在线观看视频 | 国产精品免费久久久久影院 | 夜夜骑夜夜欢 | 亚洲AV福利天堂一区二区三 | 免费。色婬网站 | 亚洲AV久久无码精品热九九 | 欧洲vs美洲完整视频 | 看电影就来5566先锋av | 九九热只有精品 | 亚洲精品动漫免费二区 | 成熟YIN荡美妞A片视频麻豆 | 国产在线播放精品视频 | 妻子的秘密HD观看 | 良家人妻无码专区九色颜射 | 亚洲手机在线人成视频 | 国精一区二区AV在线观看网站 | 欧美日韩亚洲一区二区三区在线观看 | 19十主播福利视频 | 久久精品人人做人人爽97 | 色偷偷超碰97人人澡人人 | 超碰在线观看 | 99精品在线 | 日韩人妻双飞无码精品久久 | 一本到高清视频在线观看三区 | 国产一区二区无码蜜芽精品 | 九九色精品国偷自产视频 | 99久久久国产精品免费蜜臀 | 多男同时插一个女人8p | 免费 高清 中文在线观看 | 性夜夜春夜夜爽AA片A | 精品欧美小视频在线观看 | 久久久久久久伊人电影 | 精品国产一区二区三区久久影院 | 亚洲m男在线中文字幕 | 久久伊人天堂视频网 | 伊人成综合网伊人222 |