當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 嵌入式微處理器
[導(dǎo)讀]本文已獲取「知乎」作者授權(quán),請(qǐng)勿二次轉(zhuǎn)載,請(qǐng)獲取作者授權(quán)。 聲明:本公眾號(hào)授權(quán)轉(zhuǎn)載本文僅傳播相關(guān)知識(shí),無(wú)任何盈利和商業(yè)行為,部分內(nèi)容有刪改。 原文地址:https://zhuanlan.zhihu.com/p/137481604 作者:王yifei ▍導(dǎo)言 最近邏輯組任務(wù)較多,人力不足,

本文已獲取「知乎」作者授權(quán),請(qǐng)勿二次轉(zhuǎn)載,請(qǐng)獲取作者授權(quán)。

聲明:本公眾號(hào)授權(quán)轉(zhuǎn)載本文僅傳播相關(guān)知識(shí),無(wú)任何盈利和商業(yè)行為,部分內(nèi)容有刪改。

原文地址:https://zhuanlan.zhihu.com/p/137481604

作者:王yifei


▍導(dǎo)言


最近邏輯組任務(wù)較多,人力不足,因此招了一些新員工。最近一段時(shí)間,也面試了很多人,各個(gè)行業(yè)和公司的都有,形形色色的人面試多了,也有一些感觸,另外,年近而立,也需要總結(jié)一下。在此記錄下來(lái),與君共勉。

▍關(guān)于行業(yè)和公司規(guī)模


關(guān)于行業(yè)


面試了幾個(gè)月,收到了幾百份簡(jiǎn)歷,面試的人也有好幾十。回想一下,投簡(jiǎn)歷的大概有以下幾類(lèi):

1、完全不懂邏輯的,比如,有網(wǎng)吧的網(wǎng)管,也投簡(jiǎn)歷做邏輯驗(yàn)證工程師
2、應(yīng)屆生
3、做視頻、安防相關(guān)行業(yè)的
4、做芯片的
5、通信行業(yè)的小公司
6、通信行業(yè)的大公司
7、超聲行業(yè)

其中,第1,2兩類(lèi), 肯定是完全不考慮的。

第3類(lèi),
做視頻和安防的,面試過(guò)幾個(gè),一般這種公司,邏輯的人員規(guī)模都比較小,經(jīng)常有人做個(gè)2-3年,就做到邏輯組長(zhǎng)了,但是他們一般水平都不高,基本的時(shí)序約束都不做,仿真也不做,一般邏輯規(guī)模都比較小,直接上板用signaltap調(diào)試,對(duì)整個(gè)邏輯研發(fā)的流程也不熟悉。

第4類(lèi),
asic工程師,這類(lèi)工程師,一般代碼水平和仿真水平都還可以,整個(gè)設(shè)計(jì)流程也比較嚴(yán)謹(jǐn),但是純粹的asic工程師,如果沒(méi)做過(guò)fpga,并不適合我們公司,對(duì)fpga內(nèi)部器件不了解,對(duì)時(shí)序約束的經(jīng)驗(yàn)也不多,而且asic的工期很長(zhǎng),幾年下來(lái),做不了幾個(gè)項(xiàng)目。一般純粹做asic的,都難以通過(guò)第一面,有一部分做過(guò)asic的fpga驗(yàn)證的,或者中途轉(zhuǎn)行,既做過(guò)asic,也做過(guò)fpga的,水平還可以,其中有幾個(gè)進(jìn)入了二面。總體而言,asic工程師并不太適合轉(zhuǎn)作fpga。

第5類(lèi),
通信行業(yè)的小公司,也面試過(guò)一些。一般通信行業(yè)的小公司,里面都有一些人,之前是在華為、中興做過(guò)的,整個(gè)公司的邏輯水平,還比較好,因此,這一類(lèi)的求職者,水平也還可以,不過(guò)主要是看個(gè)人,有一些知識(shí)較全面,也有一些懂得并不多

第6類(lèi),
這一類(lèi),一般就是華為、中興,最近這兩家公司離職的人也較多,面試的有一半以上,都有華為、中興的工作經(jīng)歷。這一類(lèi),一般工作年限3年以上的,水平都比較好,知識(shí)面比較全,整個(gè)流程也比較清楚,而且流程和文檔做的比我們公司要好。但是缺點(diǎn)就是很多人做的比較窄,基本上只做一個(gè)點(diǎn),雖然知識(shí)面還好,基本都懂一些,但是很多方向都沒(méi)有自己動(dòng)手,有一些部門(mén),寫(xiě)代碼一撥人,編譯工程一撥人,仿真驗(yàn)證一撥人,查bug又一撥人,導(dǎo)致對(duì)整個(gè)全局把握較少,另外,這些人原本待遇就比較高,尤其是華為,很多人比我工資都高好多。

第7類(lèi),
超聲行業(yè),這一類(lèi)是比較對(duì)口的,但是人很少,只面過(guò)幾個(gè),對(duì)超聲有一些了解,但是邏輯水平確實(shí)比M公司要差一些。

關(guān)于公司規(guī)模


好多人在一開(kāi)始找工作的時(shí)候,往往面臨一個(gè)選擇,
是去一個(gè)大公司,還是去一個(gè)小公司。 大公司比較正規(guī),可以學(xué)到很多知識(shí),小公司機(jī)會(huì)比較多,說(shuō)不定過(guò)幾年就成領(lǐng)導(dǎo)了。

以上兩種說(shuō)法都有道理,但是都不全面。

1、大公司

大公司比較正規(guī),流程等也比較正式、全面,技術(shù)積累也比較好,
確實(shí)可以學(xué)到很多,而且都是正規(guī)套路,比如華為,有非常正式的流程,從方案到設(shè)計(jì)文檔,每個(gè)時(shí)間段都有嚴(yán)格規(guī)定,等到寫(xiě)代碼的時(shí)候,基本已經(jīng)成竹在胸了。比如中興,新人做一個(gè)設(shè)計(jì),基本上都有非常全面的文檔來(lái)告訴你,怎么做,以前出過(guò)哪些問(wèn)題,基本上一個(gè)智商正常的人都可以順利完成。

但是大公司也有一些缺點(diǎn)。
首先,分工太細(xì),不僅僅是設(shè)計(jì)上,也在流程上。比如之前面的一個(gè)人,做了5年,一直在做接口,而且是同一個(gè)接口,這個(gè)地方可能已經(jīng)做的很好了,甚至可以說(shuō)水平在國(guó)內(nèi)都是比較高的了,但是知識(shí)面太窄,其他的不了解。還有一些人,只做代碼,連工程都不需要編譯,這樣,就對(duì)代碼的器件實(shí)現(xiàn)了解不多,實(shí)際工程經(jīng)驗(yàn)也很少。之前面試過(guò)一個(gè)中興的,主做信號(hào)處理,做了3年,基本上完全不知道fpga是啥,只懂信號(hào)處理的verilog代碼實(shí)現(xiàn),連邏輯基本單元由查找表和寄存器組成都不清楚。

另外,大公司一般項(xiàng)目進(jìn)度都比較嚴(yán)謹(jǐn),在多年的經(jīng)驗(yàn)積累中,項(xiàng)目進(jìn)度一般都定的比較準(zhǔn)確,這就意味著你必須每天都在做項(xiàng)目,跟進(jìn)度,很少能留出時(shí)間來(lái)自己學(xué)習(xí),更不用說(shuō)拿幾個(gè)星期出來(lái),改改邏輯架構(gòu),做些自己有興趣的事。不利于個(gè)人的提升。

2、小公司

對(duì)小公司而言,要自由的多,能夠接觸到的也要多一些。 我面試的一些小公司的人,一般都能從頭到尾都接觸到,包括方案,代碼,仿真,調(diào)試,debug。也有一些2-3年就成為邏輯組長(zhǎng)的。

不過(guò),小公司的缺點(diǎn)也是很明顯的。
除非小公司有技術(shù)很牛的人,否則,一般都難以有很完善的流程,技術(shù)上也很難做到比較精深。很多小公司的,連仿真都不做的,而且只做時(shí)鐘頻率約束,管腳的輸出輸出時(shí)序約束都完全不做。所以,小公司出來(lái)的,一般都不那么正規(guī),而且水平也很難做高。

面試過(guò)許多人后,再回想一下,應(yīng)該說(shuō),M公司還是提供了一個(gè)很好的平臺(tái)的。

雖然M公司有種種缺點(diǎn),比如,流程很簡(jiǎn)陋,對(duì)文檔的要求比較低,基本上文檔就自己寫(xiě)寫(xiě),然后評(píng)審一下,文檔寫(xiě)的不正規(guī),而且過(guò)一段時(shí)間,代碼跟文檔都對(duì)不上。整個(gè)邏輯的配置管理也比較亂,很多項(xiàng)目都說(shuō)不清楚邏輯是復(fù)用了哪個(gè)的,又改了些啥。
對(duì)代碼的要求也很低,或者說(shuō),有要求,但是沒(méi)執(zhí)行。每個(gè)人都按照自己的習(xí)慣來(lái),以至于我不用看說(shuō)明,隨便從代碼中找出一段看看,就知道這段代碼出自誰(shuí)手。

積累和培訓(xùn)做的不好?;旧希以贛公司被培訓(xùn)到的邏輯知識(shí)比較少,有過(guò)一些培訓(xùn),但是效果并不好,大部分都是在項(xiàng)目實(shí)踐當(dāng)中學(xué)到的。基本就沒(méi)有一個(gè)培訓(xùn)體系,全靠自己悟,自己?jiǎn)枴?/span>

但是M公司還是一個(gè)比較好的起點(diǎn)。首先,邏輯規(guī)模足夠大、足夠多樣、足夠復(fù)雜、更改足夠多。規(guī)模大,就會(huì)有機(jī)會(huì)使用比較大,比較高級(jí)的芯片,而且,規(guī)模大,對(duì)人的掌控能力也有很高的要求。足夠多樣,知識(shí)面就會(huì)比較廣,當(dāng)前的邏輯有各種接口,包括transceiver,pcie,spi,uart,i2c,ddr,lvds,ssram,ccir656,rgb等等各種接口。以及相應(yīng)的各種邏輯。既包括信號(hào)處理相關(guān),也包括各種復(fù)雜控制,還有視頻相關(guān)等。足夠復(fù)雜,對(duì)于提高邏輯水平有很大幫助,當(dāng)前有很多邏輯設(shè)計(jì)都是比較復(fù)雜的,比如數(shù)據(jù)緩存,pcie上傳,xx控制等。更改足夠多,就意味著有很多新東西可以做,而且需求的多樣性更改,才能催生一系列的設(shè)計(jì)思想。軟件就是因?yàn)橐幚砀鞣N復(fù)雜、多變的需求,才衍生出了各種思想,如面向?qū)ο?、設(shè)計(jì)模式等。

每個(gè)人負(fù)責(zé)的邏輯設(shè)計(jì),流程上可以走完整。包括老項(xiàng)目的維護(hù),在研項(xiàng)目的需求、方案、設(shè)計(jì)、仿真、調(diào)試、debug,以及新項(xiàng)目的預(yù)研,都可以全程參與,對(duì)邏輯的整個(gè)流程會(huì)有比較深刻的認(rèn)識(shí)。而且,不僅僅是寫(xiě)代碼,包括設(shè)計(jì)的編譯,調(diào)試,debug等工作,可以對(duì)負(fù)責(zé)的邏輯設(shè)計(jì),有更加深入的認(rèn)識(shí),對(duì)邏輯的可閱讀性、可復(fù)用性、可調(diào)試行等原則有所感觸。

得益于邏輯組一定的流動(dòng)性,可以將邏輯的各個(gè)模塊都做一遍,而不是只能一年一年的只能做同一個(gè)設(shè)計(jì)。我來(lái)公司幾年,做過(guò)的設(shè)計(jì)包括 視頻、電源管理、按鍵板、XX、XX管理、newC、pcie上傳、XX、數(shù)據(jù)緩存、信號(hào)處理、XX控制,基本上,超聲相關(guān)的邏輯,除了xx,其它的,或深或淺的都做過(guò),即使xx,我也曾自己花了2個(gè)星期的時(shí)間企圖重構(gòu)過(guò),對(duì)其設(shè)計(jì)也有一定的理解。這在大公司,是不可能的。

由于我們公司的超聲還沒(méi)到世界領(lǐng)先水平,以及系統(tǒng)組同事無(wú)窮無(wú)盡的新想法,每個(gè)邏輯設(shè)計(jì)的方案,都在不同的項(xiàng)目之中變來(lái)變?nèi)ィ也煌谕ㄐ蓬I(lǐng)域的固定處理方式,我們公司的邏輯基本上是沒(méi)有參考的,完全由做邏輯的人來(lái)確定,有非常大的發(fā)揮空間。

由于我們公司還比較低級(jí)的項(xiàng)目管理水平,項(xiàng)目進(jìn)度的安排并不怎么合理,有些項(xiàng)目中,是有時(shí)間可以做一些事情的,當(dāng)然,最近一兩年幾乎沒(méi)有了。但是前幾年,我曾經(jīng)有幾次,可以抽出幾個(gè)星期的時(shí)間,并行的做一些我感興趣的事情,比如邏輯重構(gòu)。

綜上所述,在職場(chǎng)的起點(diǎn),選擇一家好的公司,是非常重要的。

▍一個(gè)邏輯工程師的成長(zhǎng)之路


面試了很多人,有些水平高,有些水平低,有一些公司有嚴(yán)格的職級(jí),比如華為,完全可以根據(jù)其職級(jí)來(lái)得知其邏輯水平,而且華為的業(yè)務(wù)職級(jí)和技術(shù)職級(jí)還是分開(kāi)的。我們公司也有職級(jí),但是,不同的公司之間,或者說(shuō),邏輯工程師,沒(méi)有一個(gè)比較普遍、統(tǒng)一的標(biāo)準(zhǔn)來(lái)衡量其水平。

我一直比較困惑于這個(gè)問(wèn)題,原因來(lái)自于從小受到的教育和長(zhǎng)大后經(jīng)??吹男≌f(shuō)。小時(shí)候的學(xué)習(xí)成績(jī),是非常容易識(shí)別和量化的,分高分低,一比就知。成年以后,看過(guò)各種小說(shuō),武力高低,也是有非常明確的量化的,一個(gè)人完全可以非常清楚的知道,自己的級(jí)別。比如xxxx,用魂力來(lái)表征水平,從1-100,每10個(gè)級(jí)別為一個(gè)大的等級(jí),雖然這不能代表真正實(shí)力,但是至少讓讀者可以看到主角的逐步成長(zhǎng)。不過(guò),這也只是小說(shuō),現(xiàn)實(shí)生活中,是沒(méi)有這個(gè)東西的。

鑒于這些困惑,在本章,按照我自己的簡(jiǎn)單的經(jīng)歷和粗淺的認(rèn)識(shí),對(duì)邏輯工程師的水平做一下初步的劃分。

第一階段:能用

階段特點(diǎn):這個(gè)階段,基本上處于剛剛接觸到verilog代碼一段時(shí)間,知道大概的語(yǔ)法,能夠把一個(gè)需求用代碼實(shí)現(xiàn)出來(lái),并且能夠調(diào)試出來(lái)??傮w而言,處于一個(gè)能用的位置,可以實(shí)現(xiàn),但是并不清楚代碼與實(shí)際器件實(shí)現(xiàn)的關(guān)系,對(duì)邏輯的硬件思維基本沒(méi)有。

階段評(píng)價(jià):此時(shí),尚且不算一個(gè)邏輯工程師,因?yàn)橹粫?huì)寫(xiě)代碼,沒(méi)有邏輯思維

提高途徑:如果有審美,有需求,自己有內(nèi)部推動(dòng)力,將開(kāi)始進(jìn)入到第二階段(我有見(jiàn)過(guò)中興的3年的算法工程師,做了3年只懂算法實(shí)現(xiàn),完全沒(méi)有邏輯硬件思維,因此,時(shí)間長(zhǎng)短跟水平并沒(méi)有直接關(guān)系)

第二階段:可用

階段特點(diǎn):這個(gè)階段,開(kāi)始關(guān)注代碼風(fēng)格,開(kāi)始把自己的代碼寫(xiě)的風(fēng)格統(tǒng)一,并且開(kāi)始關(guān)注代碼的硬件實(shí)現(xiàn),突出標(biāo)志就是開(kāi)始關(guān)注rtl視圖,可能還不怎么關(guān)注器件視圖。但是基本知道器件的大概結(jié)構(gòu),知道fpga里面有l(wèi)e,ram,dsp,全局等等。比較能明確的區(qū)分可綜合語(yǔ)句與仿真語(yǔ)句的區(qū)別。

階段評(píng)價(jià):這個(gè)階段,基本可以稱(chēng)為是一個(gè)邏輯工程師了。能夠完成設(shè)計(jì)實(shí)現(xiàn),仿真,調(diào)試,能夠做出邏輯設(shè)計(jì)說(shuō)明。

提高途徑:
此時(shí),一般開(kāi)始負(fù)責(zé)一個(gè)模塊,如果該模塊在其他項(xiàng)目上復(fù)用,并且略有更改,有的人會(huì)直接修改,而有些人開(kāi)始有更多的考慮,由此進(jìn)入第三階段

第三階段:好用

階段特點(diǎn):這個(gè)階段,由于上一個(gè)階段已經(jīng)可以實(shí)現(xiàn)設(shè)計(jì),在這個(gè)階段,開(kāi)始考慮設(shè)計(jì)的復(fù)用,開(kāi)始考慮模塊的劃分,注重模塊接口,平臺(tái)化等等。
并且,此時(shí)對(duì)模塊內(nèi)部的代碼書(shū)寫(xiě)有了更加深刻的認(rèn)識(shí),模塊內(nèi)部的寫(xiě)法開(kāi)始更加統(tǒng)一,基本上,模塊內(nèi)部的代碼可以直接生成rtl視圖。
并且,此時(shí)開(kāi)始關(guān)注器件結(jié)構(gòu),了解fpga的內(nèi)部架構(gòu),時(shí)鐘網(wǎng)絡(luò),route,對(duì)時(shí)序約束有了基本的了解

階段評(píng)價(jià):
這個(gè)階段,可以認(rèn)為是一個(gè)基本成熟的邏輯工程師了,邏輯所需要掌握的知識(shí)方向,基本都有所了解,而且,不僅能夠完成設(shè)計(jì),還能在設(shè)計(jì)之前做出方案,而且做出的設(shè)計(jì),模塊的劃分比較合理了。

提高途徑:
此時(shí),一般會(huì)開(kāi)始接手一些比較大的前人的設(shè)計(jì),有的人會(huì)盡量復(fù)用,有些人會(huì)有更多的考慮,由此進(jìn)入第四階段。

第四階段:易用

階段特點(diǎn):這個(gè)階段,會(huì)接手一些比較大的設(shè)計(jì),開(kāi)始有架構(gòu)的考慮,對(duì)于模塊的劃分,模塊接口,模塊職責(zé),整體方案的實(shí)現(xiàn),開(kāi)始有更多的考慮,此時(shí),可以做出比較好的,合理的方案,而且對(duì)邏輯的各個(gè)方向的知識(shí),都有了比較全面而深入的了解,比如仿真,器件結(jié)構(gòu),時(shí)序約束,模塊劃分等等

階段評(píng)價(jià):這個(gè)階段,可以認(rèn)為是一個(gè)比較優(yōu)秀的邏輯工程師了。能夠在項(xiàng)目之初給出比較好的邏輯方案,并且能夠快速而高效的完成設(shè)計(jì),仿真和驗(yàn)證。對(duì)應(yīng)可能發(fā)生的時(shí)序,等等問(wèn)題,也有比較好的考慮

提高途徑:此時(shí),如果有機(jī)會(huì)可以帶領(lǐng)一個(gè)團(tuán)隊(duì),會(huì)進(jìn)入一個(gè)不同的領(lǐng)域,能夠接觸到更多的東西,

第五階段:邏輯架構(gòu)師

階段特點(diǎn):這個(gè)階段,會(huì)負(fù)責(zé)一個(gè)團(tuán)隊(duì),或者一個(gè)項(xiàng)目的邏輯設(shè)計(jì)。開(kāi)始對(duì)整體的邏輯架構(gòu)有所考慮,并且開(kāi)始準(zhǔn)確的劃分邏輯架構(gòu),并分配不同的工作任務(wù),由于需要團(tuán)隊(duì)協(xié)作,因此要求對(duì)邏輯方案,邏輯進(jìn)度,邏輯技術(shù),有非常深刻的認(rèn)識(shí),

階段評(píng)價(jià):
可以給團(tuán)隊(duì)制定邏輯代碼規(guī)范,邏輯設(shè)計(jì)流程
可以輕松的完成邏輯整體方案的設(shè)計(jì),并且準(zhǔn)確識(shí)別風(fēng)險(xiǎn)點(diǎn)
可以準(zhǔn)確的劃分邏輯架構(gòu),模塊接口,功能劃分,工作職責(zé)
可以準(zhǔn)確的預(yù)估項(xiàng)目的風(fēng)險(xiǎn),進(jìn)度
可以準(zhǔn)確的做出邏輯的整體方案,仿真方案,調(diào)試方案,對(duì)于整體的業(yè)務(wù)流有全面而深刻的認(rèn)識(shí)
對(duì)于邏輯的各個(gè)知識(shí)方向有非常深刻的認(rèn)識(shí),
熟知各個(gè)廠家的各種邏輯器件的內(nèi)部結(jié)構(gòu),基本邏輯單元結(jié)構(gòu),以及由此帶來(lái)的代碼風(fēng)格的相應(yīng)的改變
熟知時(shí)序約束,并且能夠采取各種手段,解決各種時(shí)序問(wèn)題
對(duì)于邏輯的布局,數(shù)據(jù)流走向有深刻的認(rèn)識(shí),
對(duì)仿真有深刻的認(rèn)識(shí),熟知仿真器原理,并且開(kāi)始搭建可重用,復(fù)用性好合效率高的仿真平臺(tái),或者使用高級(jí)仿真
此時(shí),基本有10萬(wàn)代碼量

提高途徑:由于本人仍在此階段掙扎,因此,尚不知如何提升。也許可以關(guān)注一下板卡,向硬件系統(tǒng)方向發(fā)展,或者補(bǔ)充驗(yàn)證方法學(xué),向數(shù)字部門(mén)方向發(fā)展,或者整合邏輯、軟件、系統(tǒng),向系統(tǒng)方向發(fā)展。在此階段,邏輯本身相關(guān)的技術(shù),也許已經(jīng)到達(dá)一個(gè)瓶頸了。

由以上各個(gè)階段的發(fā)展可知,一個(gè)好的邏輯工程師,一是要有好的環(huán)境,可以學(xué)到東西,二是要有機(jī)遇,可以遇到不同的情景。但是最重要的還是,對(duì)自己有要求,有追求,自己內(nèi)部有不斷的推動(dòng)力,可以使自己不斷的學(xué)習(xí)進(jìn)步

▍一個(gè)邏輯工程師的成長(zhǎng)之路-實(shí)例篇


上一章的模型,其實(shí)就是我自己的經(jīng)歷,大概套一下吧。

第一階段(2008-2009):能用


在我剛進(jìn)公司時(shí),勉強(qiáng)算是第一階段,嚴(yán)格來(lái)講,我雖然學(xué)過(guò)數(shù)字電路設(shè)計(jì),但是當(dāng)時(shí)用的教材很老,并沒(méi)有講述跟fpga相關(guān)。后來(lái)在實(shí)驗(yàn)室,買(mǎi)了一塊開(kāi)發(fā)板,才慢慢開(kāi)始學(xué)習(xí)fpga。

剛進(jìn)公司的時(shí)候,完全沒(méi)有硬件時(shí)鐘的概念,沒(méi)有時(shí)序約束的概念,剛剛處于能用verilog代碼完成需求的階段。

不過(guò)機(jī)會(huì)很好,當(dāng)時(shí)就趕上了M1項(xiàng)目,負(fù)責(zé)了電源管理和視頻。比較適合新人的兩個(gè)設(shè)計(jì)。

比較順利的完成了代碼和仿真,調(diào)試的時(shí)候,也還比較順利,開(kāi)關(guān)機(jī),屏幕顯示,都按時(shí)完成了。

不過(guò),此時(shí)并不太明確verilog代碼與fpga器件實(shí)現(xiàn)之間的關(guān)系,寫(xiě)代碼時(shí),不是考慮fpga能否實(shí)現(xiàn),而是考慮是否符合verilog代碼的語(yǔ)法。

此時(shí)大概是2008年下半年和2009年初。

這個(gè)階段,寫(xiě)的代碼其實(shí)是比較差的,不管從代碼風(fēng)格,還是從代碼設(shè)計(jì),模塊劃分等。不過(guò)鑒于本人良好的重構(gòu)習(xí)慣和對(duì)代碼風(fēng)格的極致追求,這段時(shí)期寫(xiě)的代碼,基本上都看不到了。

后來(lái)做完M1之后,在做M2(2010)之前,大概有1年的時(shí)間,這段時(shí)間內(nèi),項(xiàng)目進(jìn)度沒(méi)有那么緊,有一些時(shí)間可以學(xué)習(xí),開(kāi)始進(jìn)入第二階段。

第二階段(2009):可用


2009年這段時(shí)間,做了xx的一塊板子,M3的鍵盤(pán)板,svideo,萬(wàn)能按鍵板等3個(gè)項(xiàng)目。

時(shí)間比較充足,加之本人的習(xí)慣,喜歡對(duì)一個(gè)事情追根究底,希望可以弄明白,想清楚。

這段時(shí)間,學(xué)習(xí)了很多關(guān)于綜合,關(guān)于器件結(jié)構(gòu)等的知識(shí),在網(wǎng)上也搜了很多資料,自己也研究了altera的cyclone3的器件。還曾經(jīng)想寫(xiě)一個(gè)ppt,把邏輯中常用的代碼,對(duì)應(yīng)的綜合結(jié)構(gòu)和布局布線結(jié)構(gòu)都搞清楚,后來(lái)做的時(shí)候才發(fā)現(xiàn),跟理論值不一致,才作罷。這個(gè)階段也看了很多關(guān)于時(shí)序約束的內(nèi)容,不過(guò)此時(shí)對(duì)時(shí)序約束的理解還不深入
而且隨著做的項(xiàng)目的增加,debug經(jīng)驗(yàn)的豐富,水平開(kāi)始逐步提高,能算得上是一個(gè)合格的邏輯工程師了。

2010年,開(kāi)始做M2項(xiàng)目和M4項(xiàng)目。涉及到了xx邏輯的重構(gòu)和svideo視頻的重構(gòu),開(kāi)始進(jìn)入第三階段。

第三階段(2010-2011):好用


2010年主要做了兩個(gè)設(shè)計(jì),一個(gè)是M2的發(fā)射邏輯,一個(gè)是M4的視頻邏輯。

發(fā)射邏輯是一個(gè)比較典型的例子,當(dāng)時(shí)對(duì)邏輯設(shè)計(jì)有了一定的認(rèn)識(shí),也有了一定的想法。M2的發(fā)射邏輯是基于M1的發(fā)射邏輯的,但是被我完全重構(gòu)了,此時(shí)開(kāi)始考慮邏輯的模塊劃分,接口時(shí)序。

而且由于發(fā)射邏輯扇出較多,開(kāi)始考慮代碼的布局布線與時(shí)序收斂。

同時(shí),對(duì)代碼的書(shū)寫(xiě)開(kāi)始有要求,這個(gè)階段的代碼,應(yīng)該說(shuō)開(kāi)始有了自己的風(fēng)格,而且寫(xiě)的比較好。這部分的代碼,后來(lái)未再修改,還可以在svn上看到。

M2的發(fā)射邏輯是做的比較順利的,在板卡回來(lái)之前1個(gè)月,基本上設(shè)計(jì)和仿真就全部完成了,也有一些時(shí)間來(lái)學(xué)習(xí),后來(lái)調(diào)試也非常順利,發(fā)射幾乎沒(méi)出bug。

下半年做視頻邏輯。

由于在M1做了視頻邏輯,M2的視頻由其他人負(fù)責(zé),在做M4的視頻邏輯時(shí),水平有了一定的提高,而且時(shí)間也比較充足,興趣也比較強(qiáng)烈。在M4的視頻邏輯上,做了很多重構(gòu)的工作。

其中,lpc總線模塊,就重構(gòu)過(guò)2次,對(duì)于狀態(tài)機(jī)的寫(xiě)法進(jìn)行了深入研究,svn上可以看到M4的lpc代碼和M1的代碼是不一樣的。

svideo部分的代碼,起初是09年xx寫(xiě)的,后來(lái)我接手后,曾經(jīng)重構(gòu)過(guò)一次,把代碼全部整理了一遍,并徹底搞懂。由于M4的視頻需求更改,由一路svideo變成兩路:svideo和dvr,所以又將這部分代碼再次做了顛覆性的重構(gòu)。

這個(gè)階段,可以說(shuō)對(duì)邏輯的架構(gòu),已經(jīng)有了初步的認(rèn)識(shí)和一定的經(jīng)驗(yàn)。而且視頻大多跟外設(shè)打交道,此時(shí)對(duì)時(shí)序約束已經(jīng)比較清楚了,有些時(shí)序上的問(wèn)題,已經(jīng)可以比較容易的解決了。

此時(shí)寫(xiě)的代碼,不管是代碼風(fēng)格,模塊劃分,接口,邏輯架構(gòu),都已經(jīng)比較好了。

不過(guò),此時(shí)多是在折騰自己的代碼,比較熟悉的代碼。(svideo算是一個(gè)中小的,別人寫(xiě)的代碼)。真正考驗(yàn)邏輯架構(gòu)能力的,是對(duì)別人留下的一個(gè)中等的、復(fù)雜的、功能正常的邏輯做重構(gòu),變成一個(gè)架構(gòu)合理、簡(jiǎn)單易用的邏輯,而且整個(gè)過(guò)程還要盡量少出bug。

等待的時(shí)間不算太久,10年底到11年初,還做了一個(gè)M4的newc,完全是一個(gè)全新的邏輯,也算是初步了解了信號(hào)處理,而且全部從新的設(shè)計(jì),也增加了架構(gòu)經(jīng)驗(yàn)。11年中,做了任意波的方案,雖然只做了方案,沒(méi)做具體設(shè)計(jì),但是此時(shí)對(duì)于邏輯方案,架構(gòu),已經(jīng)有駕輕就熟的感覺(jué)了。

很快,機(jī)會(huì)就來(lái)到了。

2011年下半年,開(kāi)始做M5的pcie上傳邏輯。

這個(gè)設(shè)計(jì),完全滿足一個(gè)架構(gòu)能力進(jìn)階的要求。

第四階段(2011-2012):易用


從2011年下半年的M5,到2012年的M6,是屬于第四階段的。

上傳邏輯是一個(gè)別人留下的一個(gè)中等的、復(fù)雜的、功能正常的邏輯,對(duì)此做重構(gòu),挑戰(zhàn)還是非常大的。之前對(duì)此完全沒(méi)有了解。不過(guò)svideo的重構(gòu)也為此打好了一定的基礎(chǔ)。
這段時(shí)間是進(jìn)公司以來(lái)積極性比較高的階段,不停的在學(xué)習(xí),幾乎將整本《PCIE系統(tǒng)體系結(jié)構(gòu)標(biāo)準(zhǔn)教材》全部翻完。而且每天都在消化,修改代碼。由于這段時(shí)間白天很多雜事,經(jīng)常晚上工作到半夜。

上傳邏輯的重構(gòu),應(yīng)該說(shuō)是做的比較好的,短時(shí)間內(nèi)將一個(gè)復(fù)雜的設(shè)計(jì)重構(gòu),而且設(shè)計(jì)上僅出了1個(gè)bug。后來(lái)該設(shè)計(jì)復(fù)用到后續(xù)所有的項(xiàng)目,M6,M7,M8,M9。

M5的聯(lián)調(diào),也僅用了2個(gè)星期,非常順利。然后各種模式的聯(lián)調(diào),也都非常順利的出了。

上傳相關(guān)的總結(jié),已經(jīng)放在《pcie協(xié)議介紹,ip介紹,上傳邏輯介紹,上傳設(shè)計(jì)經(jīng)驗(yàn)分享.ppt》

2012年.開(kāi)始做M6項(xiàng)目。

這個(gè)項(xiàng)目,是將全部的超聲邏輯,都放入到了一片fpga當(dāng)中,所接觸到的、所能修改的架構(gòu),變得更大。也是一個(gè)非常好的可以提高水平的設(shè)計(jì)。

對(duì)于其中的xx、xx、數(shù)據(jù)緩存、pcie上傳都做了修改。

不過(guò),之前的重構(gòu)之路一直很順利,終于在M6上栽了跟頭。重構(gòu)失敗,最終又退回到老版本。

其中種種,已經(jīng)放在《xx項(xiàng)目總結(jié)-邏輯方向.ppt》

經(jīng)過(guò)兩個(gè)項(xiàng)目的洗禮,對(duì)于邏輯設(shè)計(jì),器件,時(shí)序,架構(gòu)等等的認(rèn)識(shí),更加深入了。

此時(shí),對(duì)于xx控制邏輯的重構(gòu),也有濃厚的興趣。M5做完,M6開(kāi)始之前,還曾花了3周看xx代碼,只是當(dāng)時(shí)已近年關(guān),效率較低,年后即投入M6,xx重構(gòu)未在進(jìn)行下去。不過(guò)xx控制的重構(gòu)后來(lái)倒是做了。

此時(shí),應(yīng)該算是一個(gè)比較優(yōu)秀的邏輯工程師了。
對(duì)于器件和時(shí)序的認(rèn)識(shí),比較深刻。例如給出了《FPGA的管腳分配指南-時(shí)序相關(guān).doc》

2012年中,成為邏輯leader,不過(guò)由于M6事物繁忙,直到大概9,10月份,才開(kāi)始著手管理團(tuán)隊(duì)。

第五階段(2013-):邏輯架構(gòu)師


之所以認(rèn)為,要進(jìn)入第五階段,必須要成為邏輯相關(guān)管理人員,是因?yàn)榇藭r(shí)需要操作的代碼和設(shè)計(jì)是非常多和復(fù)雜的,所以需要一個(gè)團(tuán)隊(duì)來(lái)共同完成。而且,開(kāi)始更多的從整體開(kāi)始考慮。

這個(gè)階段,主要主導(dǎo)完成了M7項(xiàng)目和M8項(xiàng)目。

開(kāi)始對(duì)整體的邏輯架構(gòu)有所考慮,并分配不同的工作任務(wù)。

對(duì)于整個(gè)項(xiàng)目的邏輯設(shè)計(jì)開(kāi)始負(fù)責(zé),完成整體方案,識(shí)別風(fēng)險(xiǎn)點(diǎn),保證時(shí)間節(jié)點(diǎn),并且熟悉整個(gè)業(yè)務(wù)流。

由于這2個(gè)項(xiàng)目換用了全新的fpga,因此再次加深了對(duì)器件和時(shí)序的認(rèn)識(shí)。例如M8的管腳時(shí)序約束的風(fēng)險(xiǎn)解決。

并且開(kāi)始搭建可重用,復(fù)用性好合效率高的仿真平臺(tái)。

M7項(xiàng)目7周出圖,但是基本相同的工作量和參與人員,M8只用了2周出圖。對(duì)于項(xiàng)目整體的把握,有了提高。

此時(shí),已經(jīng)寫(xiě)過(guò)11萬(wàn)代碼。

目前,仍處于本階段之中。

邏輯工程師水平的V模型


第3章講述了一個(gè)邏輯工程師是如何發(fā)展的,并且給出了各個(gè)階段的特征,但是,仍然沒(méi)給出清晰的量化,本章,嘗試對(duì)這個(gè)問(wèn)題給出一個(gè)解決方案。


邏輯工程師應(yīng)該掌握的各種能力


大概設(shè)置了5種能力,每種能力在不同的階段有不同的要求。其中,設(shè)計(jì)完成能力是最基本的要求。


設(shè)計(jì)完成能力


第一階段:可以完成設(shè)計(jì),基本知道verilog的語(yǔ)法,能夠把一個(gè)需求用代碼實(shí)現(xiàn)出來(lái),并且能夠調(diào)試出來(lái),經(jīng)常會(huì)上網(wǎng)搜索現(xiàn)成的模塊,對(duì)邏輯的硬件思維基本沒(méi)有

第二階段:開(kāi)始關(guān)注代碼風(fēng)格,開(kāi)始把自己的代碼寫(xiě)的風(fēng)格統(tǒng)一,并且開(kāi)始關(guān)注代碼的硬件實(shí)現(xiàn),突出標(biāo)志就是開(kāi)始關(guān)注rtl視圖,比較能明確的區(qū)分可綜合語(yǔ)句與仿真語(yǔ)句的區(qū)別

第三階段: 在這個(gè)階段,對(duì)模塊內(nèi)部的代碼書(shū)寫(xiě)有了更加深刻的認(rèn)識(shí),模塊內(nèi)部的寫(xiě)法開(kāi)始更加統(tǒng)一,基本上,模塊內(nèi)部的代碼可以直接生成rtl視圖。而且,開(kāi)始考慮設(shè)計(jì)的復(fù)用,開(kāi)始考慮模塊的劃分,注重模塊接口,平臺(tái)化等等

第四階段:
該階段已經(jīng)可以比較輕松的完成一個(gè)邏輯設(shè)計(jì),而且結(jié)構(gòu)合理,易讀,可復(fù)用

第五階段:
可以帶領(lǐng)一個(gè)團(tuán)隊(duì)完成比較大規(guī)模的邏輯設(shè)計(jì),分配不同的工作任務(wù),可以準(zhǔn)確的預(yù)估項(xiàng)目的風(fēng)險(xiǎn),進(jìn)度,可以準(zhǔn)確的做出邏輯的整體方案,仿真方案,調(diào)試方案,對(duì)于整體的業(yè)務(wù)流有全面而深刻的認(rèn)識(shí)

器件能力


第一階段:知道FPGA的意思,但是基本上不知道fpga的內(nèi)部結(jié)構(gòu)

第二階段:
不怎么關(guān)注器件視圖。但是基本知道器件的大概結(jié)構(gòu),知道fpga里面有l(wèi)e,ram,dsp,全局等等,對(duì)邏輯器件有了基本的認(rèn)識(shí)

第三階段:
此時(shí)開(kāi)始關(guān)注器件結(jié)構(gòu),了解fpga的內(nèi)部架構(gòu),時(shí)鐘網(wǎng)絡(luò),route,對(duì)時(shí)序約束有了基本的了解

第四階段:
對(duì)器件結(jié)構(gòu)有了比較深入的認(rèn)識(shí),開(kāi)始認(rèn)識(shí)到不同廠家器件結(jié)構(gòu)的不同

第五階段:
熟知各個(gè)廠家的各種邏輯器件的內(nèi)部結(jié)構(gòu),基本邏輯單元結(jié)構(gòu),以及由此帶來(lái)的代碼風(fēng)格的相應(yīng)的改變

時(shí)序約束能力


第一階段:基本不知道什么是時(shí)序約束

第二階段:
知道時(shí)序約束,會(huì)做時(shí)鐘約束,可以根據(jù)簡(jiǎn)單的公式計(jì)算輸出輸出約束

第三階段:
懂得時(shí)序約束與布線的關(guān)系,熟練掌握最基本的常用約束

第四階段:
對(duì)時(shí)序約束有深刻的認(rèn)識(shí),可以主動(dòng)設(shè)計(jì)整體時(shí)鐘和復(fù)位系統(tǒng)

第五階段:
熟知時(shí)序約束,并且能夠采取各種手段,解決各種時(shí)序問(wèn)題

邏輯架構(gòu)能力


第一階段:無(wú)

第二階段:
有一點(diǎn)點(diǎn)概念,知道大概可以劃分模塊,對(duì)模塊的功能,接口沒(méi)有要求,一般有需要就直接加一個(gè)接口信號(hào),不能在項(xiàng)目開(kāi)始就主動(dòng)設(shè)計(jì)

第三階段:
開(kāi)始考慮設(shè)計(jì)的復(fù)用,開(kāi)始考慮模塊的劃分,注重模塊接口,平臺(tái)化等等

第四階段:
接手一些比較大的設(shè)計(jì),開(kāi)始有架構(gòu)的考慮,對(duì)于模塊的劃分,模塊接口,模塊職責(zé),整體方案的實(shí)現(xiàn),開(kāi)始有更多的考慮,此時(shí),可以做出比較好的,合理的方案

第五階段:
對(duì)整體的邏輯架構(gòu)有所考慮,并且開(kāi)始準(zhǔn)確的劃分邏輯架構(gòu),模塊接口,功能劃分,工作職責(zé),協(xié)同交流

時(shí)序收斂能力


第一階段:無(wú)

第二階段:
無(wú)

第三階段:
開(kāi)始接觸到時(shí)序收斂,有單個(gè)時(shí)序不過(guò)的信號(hào),能夠予以解決

第四階段:
開(kāi)始主動(dòng)設(shè)計(jì)時(shí)序,基本可以完成整個(gè)設(shè)計(jì)的時(shí)序收斂任務(wù)。

第五階段:
對(duì)于邏輯的布局,數(shù)據(jù)流走向有深刻的認(rèn)識(shí),能夠在項(xiàng)目支出就通過(guò)設(shè)計(jì)來(lái)保證時(shí)序收斂。

接口掌握能力


第一階段:開(kāi)始接觸簡(jiǎn)單的接口,

第二階段:
開(kāi)始掌握如串口,spi,i2c等簡(jiǎn)單的外部接口

第三階段:
開(kāi)始接觸ddr,ssram,ad,lpc等等略復(fù)雜的接口

第四階段:
開(kāi)始接觸pcie,transceiver,rapid io,phy,等等復(fù)雜且?guī)f(xié)議的接口

第五階段: 無(wú),此階段,不需要用掌握接口的多少來(lái)衡量

邏輯流程掌握能力


第一階段:基本不知道正規(guī)邏輯流程,基本無(wú)設(shè)計(jì)文檔

第二階段:
能夠根據(jù)已知的流程完成設(shè)計(jì),寫(xiě)出文檔

第三階段:
比較熟練邏輯流程,并且能夠順利完成設(shè)計(jì)文檔

第四階段:
有比較嚴(yán)格的邏輯流程,并且完成各種文檔,對(duì)流程的認(rèn)識(shí)比較深刻

第五階段:
可以根據(jù)現(xiàn)狀,制定合理流程和文檔要求

仿真驗(yàn)證水平


其他


邏輯工程師水平的V模型


根據(jù)以上不同階段對(duì)各種能力的要求,可以完成V模型



其中,完成設(shè)計(jì)是最基本、核心的要求,隨著水平的增長(zhǎng),對(duì)其他能力的要求也隨之變高。

社招邏輯工程師筆式題庫(kù)


最近公司招了很多人,不僅僅硬件在招,軟件也在招人,實(shí)際上,我是非常羨慕軟件的面試人員的,因?yàn)樗麄冇泄P試題。不過(guò)是自己出的也好,網(wǎng)上搜的也好,總之軟件的很多知識(shí),是可以通過(guò)一份試卷來(lái)先考察一下的。我經(jīng)??吹杰浖娜税亚舐氄邘У綍?huì)議室,給一份卷子,做完后來(lái)面試一下,也許半個(gè)小時(shí)就面試完了。而我,每次面試都要一兩個(gè)小時(shí)。

我也在網(wǎng)上搜過(guò)邏輯的筆式題,不過(guò),基本都是應(yīng)屆生的,社招的人,看來(lái)早已經(jīng)沒(méi)有興致來(lái)分享一下自己的面經(jīng)了。

其實(shí),我每次面試,有一半的時(shí)間,都是在問(wèn)每個(gè)人同樣的問(wèn)題,暫時(shí)就把這些問(wèn)題,整理一份試卷吧,同時(shí)也參考上一章的V模型。

設(shè)計(jì)完成

主要針對(duì)簡(jiǎn)歷中的設(shè)計(jì)提問(wèn)。

請(qǐng)畫(huà)一下該設(shè)計(jì)的硬件系統(tǒng)框圖
主要考察對(duì)整個(gè)系統(tǒng)的了解,不僅僅要了解自己所做的部分,而且要了解跟自己像個(gè)的部分,積極主動(dòng)、多思考多學(xué)習(xí)的人進(jìn)步更快

針對(duì)fpga外圍接口繼續(xù)發(fā)問(wèn):
請(qǐng)畫(huà)一下該接口/該模塊的信號(hào),時(shí)序圖
邏輯工程師必須對(duì)外圍接口信號(hào),時(shí)序,有非常清晰的認(rèn)識(shí)。

常用的邏輯電平有哪些

請(qǐng)畫(huà)一下該設(shè)計(jì)的邏輯框圖
主要考察其對(duì)自己所做邏輯的了解,以及講述是否清晰,是否可以抓住重點(diǎn),而不是糾結(jié)于細(xì)節(jié)。

以及畫(huà)出的框圖,是否清晰美觀。很多人畫(huà)的框圖,面試完后再看,完全看不出是個(gè)邏輯框圖。

該設(shè)計(jì)使用了多少邏輯資源
整個(gè)設(shè)計(jì)是用哪個(gè)芯片實(shí)現(xiàn)的,占了該芯片的多少資源,編譯軟件版本是多少,編譯一次要多久

該設(shè)計(jì)有多少代碼,方案、代碼、仿真、調(diào)試,分別用了多久

請(qǐng)畫(huà)一下該設(shè)計(jì)的時(shí)鐘域
主要考察對(duì)邏輯的整體把握。可以繼續(xù)發(fā)問(wèn)時(shí)鐘域轉(zhuǎn)換的速率匹配等。
跨時(shí)鐘域有哪些類(lèi)型,分別應(yīng)該如何處理

請(qǐng)畫(huà)一下該設(shè)計(jì)的數(shù)據(jù)流
主要考察是否對(duì)整個(gè)設(shè)計(jì)非常了解。

實(shí)際設(shè)計(jì)考察
有一個(gè)設(shè)計(jì),外部有一個(gè)ad芯片,lvds輸入到fpga,其中有幀時(shí)鐘,位時(shí)鐘,數(shù)據(jù)有8根。上下沿采樣,每個(gè)幀時(shí)鐘里面有14個(gè)數(shù)據(jù)。幀時(shí)鐘為40M。

請(qǐng)問(wèn)在altera的器件上實(shí)現(xiàn),你會(huì)如何做。
如果用cyclone3/4器件,io可以實(shí)現(xiàn)上下沿采樣么。arriv系列呢。
位時(shí)鐘要上全局么,為什么

如果在xilinx器件上實(shí)現(xiàn),你會(huì)如何做。
如果用spartan6器件,位時(shí)鐘需要上全局么
如果用kintex7實(shí)現(xiàn),位時(shí)鐘需要上那種資源,為什么,這幾種時(shí)鐘有什么區(qū)別

管腳分配時(shí),需要考慮哪些
如果時(shí)序不過(guò),有哪些手段,需要做位置約束么,需要將第一級(jí)寄存器放入iob么
管腳的時(shí)序約束如何做
數(shù)據(jù)采好后,跟內(nèi)部時(shí)鐘域怎么切換

器件結(jié)構(gòu)

請(qǐng)寫(xiě)出任意一款使用過(guò)的fpga的型號(hào)全稱(chēng)

請(qǐng)解釋該型號(hào)的每個(gè)字母段的意義

請(qǐng)分別寫(xiě)出xilinx和altera的低、中、高三個(gè)系列的名稱(chēng)

請(qǐng)畫(huà)出任意一款fpga芯片的基本邏輯單元的框圖。如altera的le結(jié)構(gòu),xilinx的slice結(jié)構(gòu)。
針對(duì)該問(wèn)題的進(jìn)階問(wèn)題:(如果畫(huà)的圖跟datasheet的比較像,不過(guò)我至今沒(méi)碰到過(guò))
請(qǐng)畫(huà)出移位寄存器是如何實(shí)現(xiàn)的
請(qǐng)畫(huà)出組合邏輯級(jí)聯(lián)是如何實(shí)現(xiàn)的

請(qǐng)畫(huà)出任意一款fpga芯片的結(jié)構(gòu),包括內(nèi)部邏輯要素結(jié)構(gòu),時(shí)鐘樹(shù)結(jié)構(gòu)。
大概畫(huà)出內(nèi)部有ram,dsp等,ram和dsp是如何分布的。
時(shí)鐘樹(shù)必須畫(huà)全
針對(duì)該問(wèn)題的進(jìn)階問(wèn)題:
請(qǐng)問(wèn)該fpga有多少個(gè)全局時(shí)鐘線
分別分布在哪里
有哪些信號(hào)可以上全局
pll的輸入有哪些信號(hào)可以上
pll的輸出是否要上全局,是否可以不上全局
pll有多少種模式,分別是什么意思
全局時(shí)鐘線的延時(shí)大概為多少

請(qǐng)畫(huà)出任意一款fpga芯片的內(nèi)部路由示意圖

請(qǐng)畫(huà)出任意一款fpga芯片的io模塊示意圖

在fpga內(nèi)部,下降沿采樣時(shí)如何實(shí)現(xiàn)的

為什么xiliinx不建議使用異步復(fù)位

xilinx和altera的器件有什么區(qū)別。軟件有什么區(qū)別

時(shí)序約束

一個(gè)完整的邏輯設(shè)計(jì),應(yīng)該包括那些時(shí)序約束

請(qǐng)畫(huà)圖解釋tco_max=2ns,tco_min=1ns的意義

針對(duì)一個(gè)具體的管腳,做一個(gè)輸入時(shí)序約束,輸出時(shí)序約束

請(qǐng)畫(huà)圖解釋multi_cycle

請(qǐng)問(wèn)clk_group有什么作用

邏輯架構(gòu)

邏輯模塊劃分的原則是什么,請(qǐng)舉例說(shuō)明

如何讓一個(gè)模塊的可復(fù)用性更好

如何讓一個(gè)設(shè)計(jì)可以在不同的fpga芯片上實(shí)現(xiàn)

是否有代碼重構(gòu)的經(jīng)歷,為什么,新舊代碼的區(qū)別在哪里

如何評(píng)價(jià)一個(gè)邏輯設(shè)計(jì)的優(yōu)劣

時(shí)序收斂

在cyclone4的-8的器件上,160M時(shí)鐘下,組合邏輯級(jí)聯(lián)最多可以做多少級(jí)
請(qǐng)講解一個(gè)遇到過(guò)的時(shí)序收斂的實(shí)例

如何保證一個(gè)設(shè)計(jì)的時(shí)序收斂

如何規(guī)劃整個(gè)fpga內(nèi)部的模塊位置,以及外部的管腳分配,數(shù)據(jù)流應(yīng)該遵循哪些原則

接口掌握

請(qǐng)畫(huà)出i2c的時(shí)序

請(qǐng)畫(huà)出spi的時(shí)序

請(qǐng)畫(huà)出ddr用戶端的時(shí)序。

請(qǐng)畫(huà)出pcie的基本協(xié)議

請(qǐng)畫(huà)出Transceiver的內(nèi)部結(jié)構(gòu)

邏輯流程

邏輯設(shè)計(jì)的整個(gè)流程包括那些

每個(gè)階段占的時(shí)間大概有多少

與其他方向的交互都發(fā)生在哪些階段

需要有哪些輸入輸出文檔

邏輯的詳細(xì)設(shè)計(jì)文檔一般包括哪些內(nèi)容

對(duì)于邏輯進(jìn)度是如何評(píng)估的,在整個(gè)項(xiàng)目周期中,平均每天的代碼量是多少

對(duì)于設(shè)計(jì)質(zhì)量,是如何評(píng)價(jià)的,每千行代碼,允許的bug數(shù)目在多少

邏輯工程師的水平是如何劃分和評(píng)價(jià)的,主要有哪些方面,不同等級(jí)的要求是怎樣的

其他

你做過(guò)的,認(rèn)為最好的一個(gè)設(shè)計(jì)是什么,為什么

你對(duì)于以后的職業(yè)規(guī)劃師如何考慮的

你覺(jué)得你的邏輯設(shè)計(jì)水平處于什么階段,有哪些還需要提高

注:(重要)

本文禁止二次轉(zhuǎn)載,違者必究,請(qǐng)與作者獲取授權(quán)。
知乎 -《一個(gè)fpga工程師的成長(zhǎng)之路》 - yifei
原文鏈接見(jiàn)“閱讀原文”


-END-




推薦閱讀



【01】FPGA 電源管理不簡(jiǎn)單,這幾點(diǎn)要素要牢記
【02】硬貨!拉普拉斯算子的FPGA實(shí)現(xiàn)方法
【03】FPGA硬核和軟核處理器的區(qū)別
【04】FPGA開(kāi)發(fā)之GPIO配置,以ZYNQ為例
【05】幾組實(shí)用FPGA原理設(shè)計(jì)圖


免責(zé)聲明:整理文章為傳播相關(guān)技術(shù),版權(quán)歸原作者所有,如有侵權(quán),請(qǐng)聯(lián)系刪除

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

嵌入式ARM

掃描二維碼,關(guān)注更多精彩內(nèi)容

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉