曙海教學優(yōu)勢
本課程面向企事業(yè)項目實際需要,秉承二十一年積累的教學品質,系列數(shù)字SOC集成電路IC設計培訓課程-以項目實現(xiàn)為導向,老師將會與您分享設計的全流程以及工具的綜合使用經(jīng)驗、技巧。線上/線下/上門皆可,系列數(shù)字SOC集成電路IC設計培訓課程-專家,課程可定制,熱線:4008699035。
曙海的課程培養(yǎng)了大批受企業(yè)歡迎的工程師。曙海的課程在業(yè)內(nèi)有著響亮的知名度。大批企業(yè)和曙海
建立了良好的合作關系,合作企業(yè)30萬+。
系列數(shù)字SOC集成電路IC設計培訓課程
??
課程大綱
第一階段 基礎培訓和Linux環(huán)境與指令
Linux和EDA實踐
?
Linux操作系統(tǒng)
?
Shell命令
?
vi/vim文本編輯工具
?
硬件描述語言HDL
?
數(shù)字電路邏輯設計
?
第二階段 verilog芯片設計從入門到精通
第一部分
?
????第一部分的課程主要幫助學員了解Verilog 芯片系統(tǒng)設計的基礎知識,掌握FPGA最小系統(tǒng)硬件電路設計方法,學會操作QuartusII軟件來完成FPGA的設計和開發(fā)。
?
?
10.FPGA .V文件的編程規(guī)范
????10.1 單個.v文件的書寫規(guī)范
????10.2 多個.v文件的書寫規(guī)范
????10.3 聲明部分的編寫規(guī)范
????10.4 主體部分編寫,always、initial、function、task的選擇和使用
????10.5 Always語句塊編寫規(guī)范和注意要點
????10.6 Alwasys內(nèi)部功能的擴充和Always直接的通信和協(xié)調
11.關鍵電路的設計
????11.1 FPGA管腳設計
????11.3 RS-232串口
????11.4 字符型液晶顯示器接口電路設計
????11.8 i2c總線電路設計
????11.9 時鐘電路設計
????11.10 圖形液晶電路設計
1. 項目案例:交通燈的設計實現(xiàn),如何控制Red,Green,Yellow燈在南北東西各個方向的交替運作。
?
第二部分
?
????熟練掌握硬件描述語言(Verilog HDL)是FPGA工程師的基本要求。通過本節(jié)課程的學習,學員可以了解目前最流行的Verilog HDL語言的基本語法,掌握Verilog HDL語言中最常用的基本語法。通過本節(jié)課程學習,學員可以設計一些簡單的Verilog程序,掌握組合邏輯和時序邏輯電路的設計方法。通過項目訓練,學員可以對Verilog HDL語言有更深入的理解和認識。
?
1.Verilog HDL語言簡介
2.Verilog HDL語言邏輯系統(tǒng)
3.Verilog HDL操作數(shù)和操作符
4.Verilog HDL和VHDL語言的對比
5.Verilog HDL循環(huán)語句
6.Verilog HDL程序的基本結構
7.Verilog HDL語言的數(shù)據(jù)類型和運算符
8.Verilog HDL語言的賦值語句和塊語,阻塞和非阻塞賦值語句的區(qū)別
9.Verilog HDL語言的條件語句,包括IF語句和CASE語句的典型應用
10.Verilog HDL語言的其他常用語句
11.Verilog HDL語言實現(xiàn)組合邏輯電路
12.Verilog HDL語言實現(xiàn)時序邏輯電路
?
1. 項目訓練二:
???訓練課題:“順序執(zhí)行狀態(tài)機設計實驗”
????實驗要點:
???
????1.2 ?組合邏輯電路設計實現(xiàn)
????1.3 ?IF語句和CASE語句的使用
2. 項目訓練三:
???訓練課題:“跑馬燈設計實現(xiàn)”
????實驗要點:
????2.2 ?時序邏輯電路設計實現(xiàn)
????2.3 ?分頻原理和實現(xiàn)方法
3. 項目訓練四:
???訓練課題:“7段數(shù)碼管測試實驗-以動態(tài)掃描方式在8位數(shù)碼管“同時”顯示0-7”
???實驗要點:
????3.1 ?Quartus II軟件操作
????3.2 ?了解如何按一定的頻率輪流向各個數(shù)碼管的COM端送出低電平,同時送出對應的數(shù)據(jù)給各段。
????3.3 ?介紹多個數(shù)碼管動態(tài)顯示的方法。
?
第三部分
?
????雖然利用第二部分課程學到的HDL基本語法可以完成大部分的FPGA功能,但相對復雜的FPGA系統(tǒng)設計中,如果能夠合理的應用Verilog HDL的高級語法結構,可以達到事半功倍的效果。通過第三天課程的學習,學員可以掌握任務(TASK),函數(shù)(FUNCTION)和有限狀態(tài)機(FSM)的設計方法,可以更好的掌握FPGA的設計技術。此外,本節(jié)課程還介紹了QuartusII軟件的兩個常用的高級工具-SignalTAP,可以提高FPGA設計和調試的效率。
?
1. TASK和FUNCTION語句的應用場合
2. Verilog HDL高級語法結構-任務(TASK)
3. Verilog HDL高級語法結構-任務(FUNCTION)
4. 有限狀態(tài)機(FSM)的設計原理及其代碼風格
5. 邏輯綜合的原則以及可綜合的代碼設計風格
6. SignalTap II在線邏輯分析儀使用方法
7. FPGA編程思想梳理和升華
????7.1 ?狀態(tài)機的使用技巧(嵌套,相互調用,順序執(zhí)行)
????1.2 ?標志的編程思想
????1.3 ?并發(fā)編程思想(提高代碼執(zhí)行效率的方法,Always協(xié)調和通信)
????1.4 ?分頻的技巧
?
?
1. 項目訓練五:
???訓練課題:“典型狀態(tài)機設計實例”
???實驗要點:
????1.1 ?FSM設計方法
????1.2 ?狀態(tài)機的編碼
?
????1.3 ?狀態(tài)機的初始化狀態(tài)和默認狀態(tài)(完整狀態(tài)機設計)
????1.4 ?狀態(tài)機的狀態(tài)定義風格
????1.5 ?狀態(tài)機的編寫風格
2. 項目訓練六:
???訓練課題:“撥碼開關設計實驗”
???實驗要點:
????2.1 ?Quartus II輸入方式
????2.2 ?SignalTap II在線調試
????2.3 了解撥碼開關的工作原理及電路設計
3. 項目訓練七:
???訓練課題:“矩陣鍵盤設計實驗”
???實驗要點:
????3.1 ?Quartus II原理圖輸入方式
????3.2 了解矩陣鍵盤的工作原理及電路設計
?
第三階段 Verilog芯片設計項目訓練高級
第一部分
?
????1.項目訓練十一:
???訓練課題:“數(shù)碼管進位與刷新綜合設計實驗”
?
????步驟一、詳細一個鋪墊性實驗,通過它講解數(shù)碼管各種進位的方法,與進位代碼的編寫,其中注意:
a.數(shù)碼管整體刷新和數(shù)碼管動態(tài)掃描顯示的區(qū)別和聯(lián)系,怎樣編寫代碼
b.編程中注意FPGA的精髓:并行運行
c.注意在傳遞數(shù)據(jù)的過程中,采用什么方法比較好
步驟二、學員自己編寫一個數(shù)字時鐘程序
a.訓練學員舉一反三的能力
b.注意一些特殊用法
步驟三、總結學員的出錯原因,給出解決方法
?
????2.項目訓練十二:
?
訓練課題:“蜂鳴器怎樣演奏音樂,怎樣演奏梁祝的曲子”
?
????步驟一、詳細一個鋪墊性實驗,通過它講解怎樣通過分頻來實現(xiàn)音階和音調,其中注意:
a.狀態(tài)機的高級用法
b.怎樣分頻
c.注意在傳遞數(shù)據(jù)的過程中,采用什么方法比較好
????步驟二、學員自己編寫一個數(shù)字時鐘程序
a.訓練學員舉一反三的能力
b.注意一些特殊用法
????步驟三、總結學員的出錯原因,給出解決方法
?
????3.項目訓練十三:
訓練課題:LCD液晶控制實驗
?
????1. 內(nèi)容的回顧與難點消化,解疑答惑
????2.編程中舉一反三和融匯貫通訓練
????3. ?FPGA的程序固化方法
?
????3.項目訓練十四:
?
訓練課題:串口開發(fā)實驗
?
????1. 內(nèi)容的回顧與難點消化
????2.編程中舉一反三和融匯貫通訓練
?
????3.通訊數(shù)據(jù)協(xié)議
第二部分
知識詳解:
????1.字符型液晶顯示原理
????2.圖形液晶顯示原理
????3.液晶顯示原理詳解
????4.I2C協(xié)議原理與編程
1. 項目訓練十六:
???訓練課題:1602字符型液晶顯示實驗
???訓練內(nèi)容: 通過實驗充分理解字符型液晶的顯示原理,是怎樣通過代碼體現(xiàn)的,針對一個綜合性實驗題目,學員獨立完成需求分析,結構設計,代碼設計,仿真。
?
2. 項目訓練十七:
???訓練課題:“128x64圖形液晶顯示實驗”
???訓練內(nèi)容: 通過實驗充分理解字圖形液晶的顯示原理,是怎樣通過代碼體現(xiàn)的針對一個綜合性實驗題目,學員獨立完成需求分析,結構設計,代碼設計,仿真。
?
3. 項目訓練十八:
訓練課題:“I2C讀寫EEPROM實驗”
???訓練內(nèi)容: 通過實驗充分理解I2C協(xié)議原理,用I2C協(xié)議實現(xiàn)對EEPROM的讀寫操作,演示是怎樣通過代碼體現(xiàn)的針對一個綜合性實驗題目,學員獨立完成需求分析,結構設計,代碼設計,仿真。
?
第四階段 IC項目實戰(zhàn)
?
?
RTL coding
?
SRAM的聯(lián)合使用
?
異步SRAM的操作時序
異步SRAM存儲器讀寫操作
?
異步電路處理
????2.1 ?SRAM存儲器的操作時序設計
????2.2 ?復雜硬件開發(fā)的思想方法
?
AD數(shù)據(jù)采集系統(tǒng)設計
?
AD轉換器
?
第五階段 Synopsys DC(Design Compiler) 綜合項目實戰(zhàn)
Synopsys DC(Design Compiler) 綜合
?
1,綜合的概念
2,綜合庫與工具介紹
3,工作環(huán)境的設立和關鍵命令
4,綜合前的準備工作
5,芯片邏輯代碼和流片廠庫的結合
6,綜合的過程
7, 綜合后網(wǎng)表的導出
8,時序SDC的導出
9,Synopsys DC 為Cadence Encounter工具所做的準備工作。
10,快速綜合TCL腳本使用技巧
?
?
第六階段 Cadence Encounter 布局布線
Cadence Encounter 布局布線
?
1.網(wǎng)表和工程庫的結合
2,環(huán)境變量的設置和關鍵命令
3,布局布線前的準備工作
4,Synopsys DC工具和Cadence Encounter工具的銜接和配合
2.Floor plan
3.電源規(guī)劃
4.布局、擺放
5.時鐘樹
6.布線
?
第七階段 Synopsys PT(PrimeTime) 驗證仿真
Synopsys PT(PrimeTime) 驗證仿真
?
1,環(huán)境變量的設置
2,關鍵命令
3,仿真驗證過程
4,仿真驗證報告的產(chǎn)生
5,快速驗證技巧
6,TCL腳本的使用技巧
?
技巧和總結提高
?
第八階段 ARM9芯片后端設計整個流程項目實戰(zhàn)
本課程專題實驗是構造一個ARM9的處理器,
ARM9芯片后端設計整個流程項目實戰(zhàn)演練,使用后端的Synopsys公司的DC,PT等工具,
和Cadence公司的Encounter,Virtuoso等工具,多工具聯(lián)合從頭至尾強化練習整個芯片的生成過程。
?
1.架構及設計流程
?
2.CPU核
?
1)指令
?
2)指令流水
?
3)數(shù)據(jù)緩沖和指令緩沖
?
4)內(nèi)部數(shù)據(jù)ram和指令RAM
?
5)使用后端的Synopsys公司的DC,PT等工具,
和Cadence公司的Encounter,Virtuoso等工具,多工具聯(lián)合從頭至尾強化練習整個芯片的生成過程。