国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個(gè)連環(huán)無(wú)敵面試題--計(jì)數(shù)器

HOkf_real_farme ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-05-16 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

請(qǐng)?jiān)O(shè)計(jì)一個(gè)異步復(fù)位的計(jì)數(shù)器:“從0到20的無(wú)限循環(huán)計(jì)數(shù),每次計(jì)數(shù)到20便清0從頭開(kāi)始計(jì)數(shù)。”

看到這里有沒(méi)有心想“Are you kidding me? So simple?”?其實(shí)不然,對(duì)于初學(xué)者而言,這其實(shí)是一個(gè)連環(huán)無(wú)敵面試題。欲知詳情,請(qǐng)見(jiàn)本文一一拆解

問(wèn)題1:如何用Verilog實(shí)現(xiàn)這個(gè)計(jì)數(shù)器?

針對(duì)上述功能的計(jì)數(shù)器,應(yīng)該如何用Verilog實(shí)現(xiàn)?

一般而言,大多數(shù)學(xué)過(guò)Verilog語(yǔ)言的人,這一個(gè)問(wèn)題都能回答清楚,初步的解題思路如下:

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

模塊有1個(gè)輸出:每次計(jì)數(shù)到20時(shí),輸出信號(hào)cnt_timeout拉起一拍

完整的Verilog代碼如下:

問(wèn)題2:此計(jì)數(shù)器代表的實(shí)際電路是什么?

在面試的學(xué)生回答出如何用Verilog實(shí)現(xiàn)計(jì)數(shù)器后,第二個(gè)問(wèn)題筆者就會(huì)問(wèn):

用Verilog實(shí)現(xiàn)的這個(gè)計(jì)數(shù)器背后的實(shí)際電路是什么?如果給你提供多個(gè)D觸發(fā)器,多個(gè)比較器,多個(gè)加法器,多個(gè)多路選擇器,你怎么組合出這個(gè)電路?

經(jīng)過(guò)筆者的實(shí)驗(yàn)統(tǒng)計(jì),這個(gè)問(wèn)題大概有30%的人能不假思索的回答出來(lái),剩下的大概20%在經(jīng)過(guò)引導(dǎo)后也能說(shuō)出自己的思路和答案,而經(jīng)過(guò)引導(dǎo)也沒(méi)有思路的50%則存在著“只知語(yǔ)法不知電路”的問(wèn)題,需要進(jìn)一步學(xué)習(xí)提高。

完整電路如下:

問(wèn)題3:此計(jì)數(shù)器的關(guān)鍵路徑是哪一條?

初學(xué)者如果能夠回答出上一個(gè)問(wèn)題,那么說(shuō)明對(duì)于電路的理解已經(jīng)相當(dāng)?shù)牟诲e(cuò),那么接下來(lái)的問(wèn)題便是 :“以上電路的關(guān)鍵路徑在哪里”?

絕大多數(shù)的面試學(xué)生對(duì)于這個(gè)問(wèn)題是難以回答的,主要原因是,不理解關(guān)鍵路徑的含義,或者找不出關(guān)鍵路徑。

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

有關(guān)關(guān)鍵路徑(Critical Path)的概念需要初學(xué)者自行查閱學(xué)習(xí)。

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

問(wèn)題4:“cnt == 20”對(duì)應(yīng)的電路是什么?

上述電路中的比較器其實(shí)是“cnt == 20”,那么這段比較器代碼對(duì)應(yīng)的電路是什么呢?此問(wèn)題非常簡(jiǎn)單,但是絕大多數(shù)初學(xué)者是回答不出來(lái)的。

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

注意:只有“等于”常數(shù)才能得到如此簡(jiǎn)潔的電路,如果是兩個(gè)變量的“等于”比較則必須使用“同或”電路來(lái)實(shí)現(xiàn),“同或”電路是什么邏輯?查一查大二數(shù)電的基本知識(shí)。

問(wèn)題5:使用“cnt > 19”和“cnt == 20”一樣嗎?

針對(duì)上述電路中的比較器,接下來(lái)的問(wèn)題是 :“用cnt > 19來(lái)代替cnt == 20行嗎? 為什么”?

一個(gè)對(duì)電路有深刻理解的人應(yīng)該不僅僅能回答出行不行,還能說(shuō)出為什么。

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

因?yàn)椤癱nt == 20”如上文所述,實(shí)現(xiàn)相對(duì)簡(jiǎn)單,用少量的非門(mén)及與門(mén)即可實(shí)現(xiàn)。但“cnt > 19” 的電路邏輯更為復(fù)雜。

具體的“cnt > 19”的電路是怎樣的呢?對(duì)于這個(gè)5bit的“cnt > 19”, cnt可能的范圍取值為[20:31],綜合工具會(huì)將電路優(yōu)化成幾個(gè)等于相與:“cnt == 20 && cnt == 21 && …… && cnt == 31”。顯然“cnt > 19”的電路實(shí)現(xiàn)比“cnt == 20”復(fù)雜許多。所以此處用“cnt > 19”是不合適的,會(huì)帶來(lái)額外的硬件開(kāi)銷(xiāo)。

上述5 bit的大于的比較電路,因?yàn)閏nt的可能的取值范圍是[20:31],綜合工具能將電路優(yōu)化成幾個(gè)等于相與,但假設(shè)cnt是32 bit的,那“cnt > 19”所代表的cnt的可能的取值范圍太大,此時(shí)對(duì)于32bit的“cnt > 19”,則相當(dāng)于“cnt – 19 > 0”,此比較器映射的電路將引入一個(gè)加法器。

問(wèn)題6:加法器的電路是什么?

加法器的電路比較復(fù)雜,以后的系列會(huì)專(zhuān)門(mén)講加法器:“登堂設(shè)計(jì)案例之:加法器真的就是寫(xiě)個(gè)+號(hào)這么簡(jiǎn)單嗎?”。

但有一點(diǎn)是可以肯定的:如采用“cnt==20”的比較器,上述計(jì)數(shù)器中的加法器的延時(shí)肯定是大于比較器的。

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

附加問(wèn)題:如何驗(yàn)證這個(gè)計(jì)數(shù)器?

如果學(xué)生是面試IC驗(yàn)證工程師崗位的,此時(shí)不妨加上一些驗(yàn)證相關(guān)的問(wèn)題:

如何驗(yàn)證這個(gè)計(jì)數(shù)器?

你的TB的組成是怎樣的?

列舉一下針對(duì)這個(gè)計(jì)數(shù)器功能描述提取的測(cè)試點(diǎn)?由于此系列以Verilog設(shè)計(jì)為主要講解主題,所以驗(yàn)證的問(wèn)題在此不深入展開(kāi)討論。

基于這個(gè)簡(jiǎn)單的計(jì)數(shù)器,您還能想出什么衍生問(wèn)題可以加入這一系列的面試題呢?

結(jié)語(yǔ)

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Verilog
    +關(guān)注

    關(guān)注

    30

    文章

    1374

    瀏覽量

    114522
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2315

    瀏覽量

    98172

原文標(biāo)題:入門(mén)設(shè)計(jì)基礎(chǔ)之:無(wú)敵的面試題--計(jì)數(shù)器

文章出處:【微信號(hào):real_farmer,微信公眾號(hào):硅農(nóng)亞歷山大】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    常見(jiàn)的嵌入式C語(yǔ)言面試題

    數(shù)組是最基本的數(shù)據(jù)結(jié)構(gòu),關(guān)于數(shù)組的面試題也屢見(jiàn)不鮮,本文羅列了些常見(jiàn)的面試題,僅供參考。目前有以下18道題目。
    發(fā)表于 07-18 10:46 ?1273次閱讀

    java基礎(chǔ)練習(xí)、面試題

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

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

    本帖最后由 海同iotek 于 2014-12-11 14:27 編輯 這樣的面試題 ,你敢回答嗎?海同網(wǎng)校面試時(shí),有個(gè)面試題大致是這樣的:你和
    發(fā)表于 11-27 17:16

    java經(jīng)典面試題深度解析

    免費(fèi)視頻教程:java經(jīng)典面試題深度解析對(duì)于很多初學(xué)者來(lái)說(shuō),學(xué)好java在后期面試的階段都沒(méi)什么經(jīng)驗(yàn),為了讓大家更好的了解面試相關(guān)知識(shí),今天在這里給大家分享了
    發(fā)表于 06-20 15:16

    c語(yǔ)言面試題,c++面試題下載

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

    c語(yǔ)言面試題

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

    c語(yǔ)言面試題

    c語(yǔ)言面試題
    發(fā)表于 11-05 16:48 ?0次下載

    C語(yǔ)言經(jīng)典面試題

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

    C語(yǔ)言經(jīng)典面試題

    C語(yǔ)言 經(jīng)典面試題
    發(fā)表于 01-05 11:27 ?0次下載

    經(jīng)典硬件面試題精選及解答

    經(jīng)典硬件面試題精選及解答
    發(fā)表于 11-29 18:02 ?0次下載

    Java的經(jīng)典面試題和答案詳細(xì)說(shuō)明

    發(fā)現(xiàn)網(wǎng)上很多Java面試題都沒(méi)有答案,所以花了很長(zhǎng)時(shí)間搜集整理出來(lái)了這套Java面試題大全,希望對(duì)大家有幫助哈~ 博主已將以下這些面試題整理成了個(gè)
    發(fā)表于 09-07 08:00 ?0次下載
    Java的經(jīng)典<b class='flag-5'>面試題</b>和答案詳細(xì)說(shuō)明

    常見(jiàn)的MySQL高頻面試題

    在各類(lèi)技術(shù)崗位面試中,似乎 MySQL 相關(guān)問(wèn)題經(jīng)常被問(wèn)到。無(wú)論你面試開(kāi)發(fā)崗位或運(yùn)維崗位,總會(huì)問(wèn)幾道數(shù)據(jù)庫(kù)問(wèn)題。經(jīng)常有小伙伴私信我,詢(xún)問(wèn)如何應(yīng)對(duì) MySQL 面試題。其實(shí)很多面試題都是
    的頭像 發(fā)表于 02-08 16:05 ?3133次閱讀

    操作系統(tǒng)的四十多道題面試題

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

    142道linux面試題,值得收藏

    142道linux面試題,值得收藏
    發(fā)表于 06-16 14:42 ?5次下載

    關(guān)于數(shù)組常見(jiàn)的面試題

    數(shù)組是最基本的數(shù)據(jù)結(jié)構(gòu),關(guān)于數(shù)組的面試題也屢見(jiàn)不鮮,本文羅列了些常見(jiàn)的面試題,僅供參考。目前有以下18道題目。
    的頭像 發(fā)表于 08-17 09:25 ?2549次閱讀