作者:merlin2007 搞數(shù)字電路設(shè)計(jì)的,恐怕沒有誰不知道什么是上拉電阻的。 在一個(gè)器件的邏輯輸入端,接一個(gè)電阻到電源,就可以使這個(gè)輸入在常態(tài)下保持在邏輯‘1’,從而決定了器件的工作狀態(tài)。在一個(gè)集電極,或者漏極開路的輸出端,接一個(gè)電阻到指定的電源,就可使由這里輸出的邏輯電平波動(dòng)保持在電源電壓的范圍內(nèi),從而方便和下一級(jí)連接 。。。 “停!您打住!這是學(xué)校里的學(xué)生都知道的事,您就甭在這得瑟了吧!” 是呀,沒錯(cuò),無人不知,無人不曉。一個(gè)普通的不能再普通的常識(shí)。不過,也許就是因?yàn)樘胀耍藗兺鶎?duì)它不太在意。但是,不太在意帶來的后果卻可能讓你難以忘記。 我有過這樣一次經(jīng)歷。 蓄勢(shì)的軍團(tuán) 這是我在C公司的這個(gè)產(chǎn)品系列中的第四個(gè)設(shè)計(jì)。 這個(gè)產(chǎn)品系列的基本框架是相同的。變化在于其各自可以處理不同的協(xié)議和接口。因?yàn)橐呀?jīng)不是第一次接觸它,干起來很順手。不少部分的設(shè)計(jì)可以由以前的設(shè)計(jì)直接,或略作修改后搬過來。這種“設(shè)計(jì)復(fù)用”(DESIGN REUSE)的策略實(shí)際上被鼓勵(lì)的一種方法。以前使用過的設(shè)計(jì)已經(jīng)過考驗(yàn),出現(xiàn)錯(cuò)誤的幾率大大降低。也可以縮短調(diào)試時(shí)間。 板子上有一個(gè)新的大型ASIC,是為支持C公司牽頭建立的一個(gè)新的網(wǎng)絡(luò)協(xié)議標(biāo)準(zhǔn)而設(shè)計(jì)的。ASIC設(shè)計(jì)團(tuán)隊(duì)的成員大部分都在我們組,也有少量在西部的SAN JOSE . 事實(shí)上,我們組的大多數(shù)成員都在這個(gè)項(xiàng)目上。只有我是做板子的。 我們組人并不太多,但頗有點(diǎn)兒歷史。其中也不乏若干大鳥級(jí)的人物。 上世紀(jì)90年代末,C公司開始在全球跑馬圈地,大肆擴(kuò)張,觸角也伸到了這個(gè)號(hào)稱“北方硅谷”的雪國小城。幾經(jīng)審視,把眼光投向了一個(gè)剛剛成立兩年,從事網(wǎng)絡(luò)技術(shù)芯片開發(fā)的初創(chuàng)公司S,并買了下來,成為它在這個(gè)城市的立腳點(diǎn)。原來S公司的員工也就成了C公司在此地的奠基人。 S公司是個(gè)芯片設(shè)計(jì)公司。合并到C公司后,人員還是一直作為芯片設(shè)計(jì)的主要力量。多年下來,幾經(jīng)分分合合,人員有進(jìn)有出,保留下來的主要枝干,就是我們這個(gè)組。幾只大鳥,都是當(dāng)年S公司的元老。 熟悉軍史的朋友一定知道天朝鐵軍127師有“軍史活化石”之稱,那是因?yàn)樗菤v史最悠久,保存最完整的一支**勁旅。我們組在C公司這個(gè)點(diǎn)兒的地位,與127師有一拼。 ASIC的工作是在另外一個(gè)FPGA的控制之下。系統(tǒng)要通過這個(gè)FPGA對(duì)ASIC發(fā)送指令,讀取數(shù)據(jù)。因?yàn)镕PGA的邏輯系統(tǒng)是圍繞ASIC而建立,好像是“沾”在ASIC上,所以有人又管這種功能類型的FPGA叫“Glue Logic”. 進(jìn)出ASIC的數(shù)據(jù)都要經(jīng)過這個(gè)FPGA, 迎來送往,又有點(diǎn)兒像飯店門口的門童。 我負(fù)責(zé)整個(gè)模塊的設(shè)計(jì),F(xiàn)PGA是我的事。在板子上,ASIC與FPGA肩并肩。在辦公室,我和ASIC團(tuán)隊(duì)的哥兒幾個(gè)墻隔墻。有什么事兒,電話都不用,吆喝一聲就得。 這個(gè)系列的設(shè)計(jì)經(jīng)過幾個(gè)產(chǎn)品,都已基本成熟。各種測(cè)試環(huán)境都已經(jīng)很完善。我的FPGA的Verilog代碼完成后,先在自身的環(huán)境下進(jìn)行了模擬,去除了發(fā)現(xiàn)的問題。然后,借助ASIC團(tuán)隊(duì)近在咫尺的便利,又把它和ASIC的Verilog代碼結(jié)合在一起,構(gòu)成在板子上工作的狀態(tài),又進(jìn)行了模擬,進(jìn)一步核對(duì)了雙方互動(dòng)的情況,排除了可能的隱患。再進(jìn)一步,將這個(gè)數(shù)字模型放到軟件環(huán)境下,由軟件組的人在上面運(yùn)行已經(jīng)完成的驅(qū)動(dòng)程序。這樣一來,雖然硬件的實(shí)體還沒有完成,軟件組的弟兄們就已經(jīng)可以開始軟件的調(diào)試了。 這一系列的模擬使得設(shè)計(jì)的完善程度和以前的設(shè)計(jì)比已經(jīng)不可同日而語。如果說以前用示波器在實(shí)驗(yàn)室逐點(diǎn)測(cè)試,有點(diǎn)兒像土八路游擊隊(duì),那現(xiàn)在可是華麗轉(zhuǎn)身,完全是美軍空地一體化的數(shù)字化軍團(tuán)的范兒了! 這好像攻城尚未開始,我已經(jīng)把城里的大街小巷轉(zhuǎn)了個(gè)遍,明碉暗堡查了個(gè)清!∫磺幸呀(jīng)盡在掌握之中! 至此,一切準(zhǔn)備就緒。只等樣機(jī)一到,就可以動(dòng)手! 我估計(jì),這將是一場(chǎng)迅雷不及之掩耳盜鈴的閃擊戰(zhàn)! 十足的信心讓我有些急不可待。我給自己描繪了一個(gè)好像某個(gè)電影中的場(chǎng)景: 大戰(zhàn)將至。我俯視前方,四面被圍的孤城已是唾手可得。身后戰(zhàn)車已經(jīng)發(fā)動(dòng),炮口已經(jīng)揚(yáng)起,刺刀已經(jīng)出鞘。。。只等著我的一聲令下! 有詩云: 煙塵散去,百萬大軍已屯兵危城之下,破城指日可待! 寒光閃過,青龍利劍已進(jìn)抵?jǐn)⒀屎,斬將只需片功?br /> ::: 。。。有點(diǎn)兒喘是吧?。。。 幾周后,第一批十部樣機(jī)到了。馬上送到實(shí)驗(yàn)室。 炮火準(zhǔn)備! ,,, 一切都已就緒,加電,開機(jī) ,,,終端上跳出熟悉的系統(tǒng)信息和提示符。。。 攻擊開始! ,,, 初始調(diào)試非常順利。除了電源部分是新設(shè)計(jì)的,花了點(diǎn)兒時(shí)間調(diào)了一下,其他邏輯部分幾乎毫無懸念。輕車熟路,很快就完成了測(cè)試。至于各個(gè)部分的信號(hào)波形特征,以前已經(jīng)測(cè)過多次,現(xiàn)在邏輯部分測(cè)試得到的數(shù)據(jù)也完全符合模擬的結(jié)果。證明沒有問題,可以放心。 是軟件組的弟兄們接手的時(shí)候了! 在第一臺(tái)樣機(jī)加電的兩天后,軟件組的哥們兒拿到了已經(jīng)配置好的樣機(jī),開始加載軟件了。。。 ,,, 炮火已經(jīng)延伸!突擊隊(duì)開始登城了! |