系列數(shù)字SOC集成電路IC設(shè)計(jì)培訓(xùn)大綱
第一階段 基礎(chǔ)培訓(xùn)和Linux環(huán)境與指令
Linux和EDA實(shí)踐
Linux操作系統(tǒng)
Shell命令
vi/vim文本編輯工具
硬件描述語(yǔ)言HDL
數(shù)字電路邏輯設(shè)計(jì)
第二階段 verilog芯片設(shè)計(jì)從入門(mén)到精通
第一部分
第一部分的課程主要幫助學(xué)員了解Verilog 芯片系統(tǒng)設(shè)計(jì)的基礎(chǔ)知識(shí),掌握FPGA小系統(tǒng)硬件電路設(shè)計(jì)方法,學(xué)會(huì)操作QuartusII軟件來(lái)完成FPGA的設(shè)計(jì)和開(kāi)發(fā)。
10.FPGA .V文件的編程規(guī)范
10.1 單個(gè).v文件的書(shū)寫(xiě)規(guī)范
10.2 多個(gè).v文件的書(shū)寫(xiě)規(guī)范
10.3 聲明部分的編寫(xiě)規(guī)范
10.4 主體部分編寫(xiě),always、initial、function、task的選擇和使用
10.5 Always語(yǔ)句塊編寫(xiě)規(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總線(xiàn)電路設(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)作。
第二部分
熟練掌握硬件描述語(yǔ)言(Verilog HDL)是FPGA工程師的基本要求。通過(guò)本節(jié)課程的學(xué)習(xí),學(xué)員可以了解目前流行的Verilog HDL語(yǔ)言的基本語(yǔ)法,掌握Verilog HDL語(yǔ)言中常用的基本語(yǔ)法。通過(guò)本節(jié)課程學(xué)習(xí),學(xué)員可以設(shè)計(jì)一些簡(jiǎn)單的Verilog程序,掌握組合邏輯和時(shí)序邏輯電路的設(shè)計(jì)方法。通過(guò)項(xiàng)目訓(xùn)練,學(xué)員可以對(duì)Verilog HDL語(yǔ)言有更深入的理解和認(rèn)識(shí)。
1.Verilog HDL語(yǔ)言簡(jiǎn)介
2.Verilog HDL語(yǔ)言邏輯系統(tǒng)
3.Verilog HDL操作數(shù)和操作符
4.Verilog HDL和VHDL語(yǔ)言的對(duì)比
5.Verilog HDL循環(huán)語(yǔ)句
6.Verilog HDL程序的基本結(jié)構(gòu)
7.Verilog HDL語(yǔ)言的數(shù)據(jù)類(lèi)型和運(yùn)算符
8.Verilog HDL語(yǔ)言的賦值語(yǔ)句和塊語(yǔ),阻塞和非阻塞賦值語(yǔ)句的區(qū)別
9.Verilog HDL語(yǔ)言的條件語(yǔ)句,包括IF語(yǔ)句和CASE語(yǔ)句的典型應(yīng)用
10.Verilog HDL語(yǔ)言的其他常用語(yǔ)句
11.Verilog HDL語(yǔ)言實(shí)現(xiàn)組合邏輯電路
12.Verilog HDL語(yǔ)言實(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語(yǔ)句和CASE語(yǔ)句的使用
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基本語(yǔ)法可以完成大部分的FPGA功能,但相對(duì)復(fù)雜的FPGA系統(tǒng)設(shè)計(jì)中,如果能夠合理的應(yīng)用Verilog HDL的高級(jí)語(yǔ)法結(jié)構(gòu),可以達(dá)到事半功倍的效果。通過(guò)第三天課程的學(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ǔ)句的應(yīng)用場(chǎng)合
2. Verilog HDL高級(jí)語(yǔ)法結(jié)構(gòu)-任務(wù)(TASK)
3. Verilog HDL高級(jí)語(yǔ)法結(jié)構(gòu)-任務(wù)(FUNCTION)
4. 有限狀態(tài)機(jī)(FSM)的設(shè)計(jì)原理及其代碼風(fēng)格
5. 邏輯綜合的原則以及可綜合的代碼設(shè)計(jì)風(fēng)格
6. SignalTap II在線(xiàn)邏輯分析儀使用方法
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ī)的編寫(xiě)風(fēng)格
2. 項(xiàng)目訓(xùn)練六:
訓(xùn)練課題:“撥碼開(kāi)關(guān)設(shè)計(jì)實(shí)驗(yàn)”
實(shí)驗(yàn)要點(diǎn):
2.1 Quartus II輸入方式
2.2 SignalTap II在線(xiàn)調(diào)試
2.3 了解撥碼開(kāi)關(guān)的工作原理及電路設(shè)計(jì)
3. 項(xiàng)目訓(xùn)練七:
訓(xùn)練課題:“矩陣鍵盤(pán)設(shè)計(jì)實(shí)驗(yàn)”
實(shí)驗(yàn)要點(diǎn):
3.1 Quartus II原理圖輸入方式
3.2 了解矩陣鍵盤(pán)的工作原理及電路設(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),通過(guò)它講解數(shù)碼管各種進(jìn)位的方法,與進(jìn)位代碼的編寫(xiě),其中注意:
a.數(shù)碼管整體刷新和數(shù)碼管動(dòng)態(tài)掃描顯示的區(qū)別和聯(lián)系,怎樣編寫(xiě)代碼
b.編程中注意FPGA的精髓:并行運(yùn)行
c.注意在傳遞數(shù)據(jù)的過(guò)程中,采用什么方法比較好
步驟二、學(xué)員自己編寫(xiě)一個(gè)數(shù)字時(shí)鐘程序
a.訓(xùn)練學(xué)員舉一反三的能力
b.注意一些特殊用法
步驟三、總結(jié)學(xué)員的出錯(cuò)原因,給出解決方法
2.項(xiàng)目訓(xùn)練十二:
訓(xùn)練課題:“蜂鳴器怎樣演奏音樂(lè),怎樣演奏梁祝的曲子”
步驟一、詳細(xì)一個(gè)鋪墊性實(shí)驗(yàn),通過(guò)它講解怎樣通過(guò)分頻來(lái)實(shí)現(xiàn)音階和音調(diào),其中注意:
a.狀態(tài)機(jī)的高級(jí)用法
b.怎樣分頻
c.注意在傳遞數(shù)據(jù)的過(guò)程中,采用什么方法比較好
步驟二、學(xué)員自己編寫(xiě)一個(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)練課題:串口開(kāi)發(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)容: 通過(guò)實(shí)驗(yàn)充分理解字符型液晶的顯示原理,是怎樣通過(guò)代碼體現(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)容: 通過(guò)實(shí)驗(yàn)充分理解字圖形液晶的顯示原理,是怎樣通過(guò)代碼體現(xiàn)的針對(duì)一個(gè)綜合性實(shí)驗(yàn)題目,學(xué)員獨(dú)立完成需求分析,結(jié)構(gòu)設(shè)計(jì),代碼設(shè)計(jì),仿真。
3. 項(xiàng)目訓(xùn)練十八:
訓(xùn)練課題:“I2C讀寫(xiě)EEPROM實(shí)驗(yàn)”
訓(xùn)練內(nèi)容: 通過(guò)實(shí)驗(yàn)充分理解I2C協(xié)議原理,用I2C協(xié)議實(shí)現(xiàn)對(duì)EEPROM的讀寫(xiě)操作,演示是怎樣通過(guò)代碼體現(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ǔ)器讀寫(xiě)操作
異步電路處理
2.1 SRAM存儲(chǔ)器的操作時(shí)序設(shè)計(jì)
2.2 復(fù)雜硬件開(kāi)發(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,芯片邏輯代碼和流片廠(chǎng)庫(kù)的結(jié)合
6,綜合的過(guò)程
7, 綜合后網(wǎng)表的導(dǎo)出
8,時(shí)序SDC的導(dǎo)出
9,Synopsys DC 為Cadence Encounter工具所做的準(zhǔn)備工作。
10,快速綜合TCL腳本使用技巧
第六階段 Cadence Encounter 布局布線(xiàn)
Cadence Encounter 布局布線(xiàn)
1.網(wǎng)表和工程庫(kù)的結(jié)合
2,環(huán)境變量的設(shè)置和關(guān)鍵命令
3,布局布線(xiàn)前的準(zhǔn)備工作
4,Synopsys DC工具和Cadence Encounter工具的銜接和配合
2.Floor plan
3.電源規(guī)劃
4.布局、擺放
5.時(shí)鐘樹(shù)
6.布線(xiàn)
第七階段 Synopsys PT(PrimeTime) 驗(yàn)證仿真
Synopsys PT(PrimeTime) 驗(yàn)證仿真
1,環(huán)境變量的設(shè)置
2,關(guān)鍵命令
3,仿真驗(yàn)證過(guò)程
4,仿真驗(yàn)證報(bào)告的產(chǎn)生
5,快速驗(yàn)證技巧
6,TCL腳本的使用技巧
技巧和總結(jié)提高
第八階段 ARM9芯片后端設(shè)計(jì)整個(gè)流程項(xiàng)目實(shí)戰(zhàn)
本課程專(zhuā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è)芯片的生成過(guò)程。
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è)芯片的生成過(guò)程。 |