精華區beta Electronics 關於我們 聯絡資訊
※ 引述《CuckooBoy (阿書)》之銘言: : 邏輯設計 大家都看哪一本呢? : 請教教各位大大 : 看完邏輯設計 : 學會一堆用邏輯元件能組出一些電路(乘法/加法器....等等) : 不過碰到瓶頸 : 怎麼說? : 學了那些電路能做什麼?難到老闆真的會須要你寫加法器給他嗎? : 就像知道 1+1=2 卻不知道對我們生活有什麼幫助 : 我指知道可以用在IC設計.... : 寫VHDL和Verilog會用到一點那些觀念,現在不是都有現成的函式可以叫..... : 是不是有書能針對這方面有描述的更清楚 說說我的學習經驗。 在我大二時,有一門課是叫作數位設計,用的是L.PAPPAS的書。從最基礎的反相器開始 到用組合邏輯(combination logic)去兜出一個小功能的電路區塊(building block), 像編/解碼器。再來是引入的時間的觀念,從序向電路開始,同步/非同步,當然啦 此時也包含了狀態機(ASM, Algorithm State Machine,)。 老師通常會出一個描述性的題目,好比要你設計一個上/下數計數器...之類的, 你要先畫出流程圖,然後是狀態機,再來是轉換成SOP或POS,甚至用真值表去簡化, 然後尋找用符合IEEE Standard的邏輯閘(像00就是NAND閘,04是反相器,109是JK FF's, 當然囉,你也可以直接翻規格表查,看是要CMOS40系列或是TTL74系列)來實現你的 電路,或者是給你一個時序圖(Timing Diagram),像去彈跳電路(Debouncer), 要你用邏輯閘來完成。當然啦,這時的設計是不用詳細考慮到每一個閘的延遲(delay), 功率消耗(power consumption),純粹是驗證你的電路在功能上(Functionality) 是否可行。直到大三,系上開始有FPGA,Verilog/VHDL這些另一種實現電路的方式, 因為學的不精,這部份我就不細談。 目前業界,大部份的數位設計幾乎都是寫寫code(Verilog/VHDL),然後跑一下模擬與驗證 ,最後合成(synthesis),甚至連電路佈局(layout)在你合成後也都幫你做好了, 但這必須有一個前提,你必須有一個完整且功能強大的的元件資料庫(Cell DataBase) 不然,你呼叫元件來兜,做出來或許功能ok,但實際上,一些參數(power)可能無法通過。 你會覺得學了邏輯設計,好像派不上用場,這個盲點只是缺少了實際應用的經驗。 因為你不會去打開加法器,一直down到transistor level去看看這顆Inverter裡面 的PMOS/NMOS的長度比要幾比幾,delay才會最小,你只是在程式上,用一段"描述句" 帶過,"諾!這行就是加法器!"。你所呼叫的函數,其實原本都是在schematca上,畫出 一堆MOS,然後跑模擬(也有可能先用手試算),驗證,再模擬....並建立一大堆 某個條件下的元件庫。 小的我是做 Full Custom IC設計,基本上,目前還是以gate level為主, 如果要到transistor level,那工程就非常巨大,光一個小電路跑個模擬可能就 要耗去不少時間,甚至畫個layout,也要一再修改到完美。不過,未來,在強調 Time to Market(上市時間),基本上,full custom 應該會慢慢式微,以後, designer就跟 programmer一樣,寫寫程式就可以了。 最後,在業界,老闆是不會要你兜出個加法器給他,他只會要你幫他賺錢。(淚) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.66.222.12