###### tags: `數位系統設計` :::info [回共筆首頁](https://hackmd.io/zrsmsRtEQ-OrnGslDxT0NQ) [回科目首頁](https://hackmd.io/vXoSKbhKRV2nufoPIyxgyQ) ::: [上課投影片](https://moodle2.ntust.edu.tw/pluginfile.php/237264/mod_resource/content/1/L06_flow.pdf) [TOC] # Lecture06: Digital System Design Flow ## Example of a Complex Digital System ![](https://i.imgur.com/m9xVHAj.png) - 設計系統最困難的部分,往往是在系統整合 - 台灣在這塊的能力相較於國外是比較弱的 - 因為台灣的學生比較不敢去 Challenge 既有的設計,沿用前輩留下來的成果,進一步優化、改良、研發。 ## Design a Grading System 前段 - 需求 ![](https://i.imgur.com/bkGhoEb.png =90%x) - 先設計邏輯,但是是 Combinational Circuit,大部分的 Digital System 是 Sequential Circuit,所以會把他們分成階段性的工作 => **Data Flow** ![](https://i.imgur.com/JgUq1kp.png =100%x) - 分成六個階段,同一個時脈去控制。 ![](https://i.imgur.com/irFzuQv.png) - 從中間綠色的圈圈可以發現,做五個 OR,可以只用一個 OR Gate 達成,因為這五次是在不同的階段,所以可以簡化設計的規則 :::warning 現在是用肉眼、人腦去簡化,在茲勳工程的幫助下,我們可以用演算法找出可以簡化的部分。 ::: ## Design a Grading System 後段 :::info IP (intellectual property) => 智慧財產 ::: - Floorplanning - 把我需要的邏輯閘規劃要如何擺放 - 考慮需要用幾個 row 擺放,還有很多其他需要考慮的問題 - 考慮的大方向 1. **線路的複雜程度**,太複雜可能會接不出來,或是線變長 delay 時間變長,Performance 變差。 2. **空間浪費程度**,浪費較少,可能會犧牲掉簡單的電路設計。 ![](https://i.imgur.com/20yswe9.png =50%x) - Routing - 選擇好要規劃的 Floorplanning,就可以接線 - 原本的線叫做**飛線**(Flying line) - 實際的線路只有垂直跟水平的,步驟過程叫做 **Routing** ![](https://i.imgur.com/ZQSqvuW.png =60%x) ## CAD - CAD - Computer-Aided Design - Design entry - 邏輯閘設計圖 - HDL 硬體描述語言 - Verilog, VHDL - Simulation 模擬 - Physical realization 實際設計電路 - ASIC, FPGA, PLD ## 研發流程 ![](https://i.imgur.com/dlDGPTp.png) - 一般來說,設計前段會使用 Top-Down 的方式設計,而且是使用硬體描述語言。 ## Traditional Waterfall Model ![](https://i.imgur.com/AtfvEpF.png) ## Spiral SOC Design Flow ![](https://i.imgur.com/LTChyCe.png) - 目前主流的 Design Flow