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