VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)授課教案_第1頁
VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)授課教案_第2頁
VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)授課教案_第3頁
VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)授課教案_第4頁
VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)授課教案_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、西安郵電大學(xué)課程教案課程名稱:VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ) 授課教師: 李哲 授課教師所在學(xué)院: 電子工程學(xué)院 授課班級: 電路120102 授課學(xué)期: 2014-2015-01學(xué)期 1、 基本信息課程名稱VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)課程性質(zhì)必修限選選修素拓跨學(xué)科授課專業(yè)班級學(xué)生人數(shù):67所處年級 一年級 二年級 三年級 四年級總學(xué)時(shí)64理論課時(shí)40實(shí)驗(yàn)課時(shí)24學(xué)分4課程教材VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)上課時(shí)間2014-2015-1上課地點(diǎn)A337、A322答疑時(shí)間答疑地點(diǎn)2#112先修課程本課程在授課對象所學(xué)專業(yè)人才培養(yǎng)中的作用與地位本課程是集成電路設(shè)計(jì)與系統(tǒng)集

2、成專業(yè)的一門專業(yè)基礎(chǔ)課程,學(xué)生在先修課程數(shù)字電路基礎(chǔ)上,掌握使用VerilogHDL進(jìn)行數(shù)字電路設(shè)計(jì)、仿真,并在Fpga器件上實(shí)現(xiàn)數(shù)字邏輯。初步掌握集成電路和數(shù)字系統(tǒng)的設(shè)計(jì)方法,培養(yǎng)學(xué)生從事集成電路設(shè)計(jì)技能,對學(xué)生進(jìn)入集成電路設(shè)計(jì)領(lǐng)域有很重要作用。本課程在知識傳授、能力提升、素質(zhì)培養(yǎng)各方面的教學(xué)目標(biāo)掌握基于FPGAVerilog HDL實(shí)現(xiàn)數(shù)字電路仿真的方法。一方面可以使學(xué)生掌握一種適合產(chǎn)品樣機(jī)和小批量生產(chǎn)的理想手段,另一方面也為進(jìn)一步學(xué)習(xí)專用集成電路芯片設(shè)計(jì)打下了良好基礎(chǔ)。通過本課程的學(xué)習(xí)可以使學(xué)生掌握1)自頂向下的全正向設(shè)計(jì)思想;2)可編程邏輯器件的基本知識和相關(guān)軟件的使用方法;3)FPG

3、A電路設(shè)計(jì)的方法和技巧?;揪邆渲行∫?guī)??删幊踢壿嬈骷脑O(shè)計(jì)開發(fā)能力。學(xué)生情況分析注:本欄目建議各位老師通過與學(xué)生深入溝通、向前續(xù)課程授課教師和輔導(dǎo)員老師了解情況等各種方式,充分了解授課學(xué)生的實(shí)際情況,積極有效地開展教學(xué)。二、課程大綱VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)課程教學(xué)大綱The fundamental of FPGA Design with Verilog HDL 課程編號:DZ140340 適用專業(yè):集成電路設(shè)計(jì)與系統(tǒng)集成先修課程:數(shù)字電路,電路分析 學(xué) 分 數(shù):4總學(xué)時(shí)數(shù):64 實(shí)驗(yàn)(上機(jī))學(xué)時(shí):24考核方式:考試執(zhí) 筆 者:李哲 編寫日期:2014年7月7日一、課程性質(zhì)和任務(wù)

4、本課程是集成電路設(shè)計(jì)與系統(tǒng)集成專業(yè)的一門院定選修專業(yè)基礎(chǔ)課程。學(xué)生通過本課程學(xué)習(xí)之后應(yīng)當(dāng)熟悉Verilog HDL語言的基本語法和語義、自頂向下的設(shè)計(jì)方法學(xué)、能用Verilog HDL語言在不同的抽象層次上描述數(shù)字電路、掌握用Verilog HDL實(shí)現(xiàn)數(shù)字電路仿真的方法;同時(shí)能夠應(yīng)用Verilog HDL語言進(jìn)行基于FPGA的電路設(shè)計(jì)。一方面可以使學(xué)生掌握一種適合產(chǎn)品樣機(jī)和小批量生產(chǎn)的理想手段,另一方面也為進(jìn)一步學(xué)習(xí)專用集成電路芯片設(shè)計(jì)打下了良好基礎(chǔ)。通過本課程的學(xué)習(xí)可以使學(xué)生掌握1)自頂向下的全正向設(shè)計(jì)思想;2)可編程邏輯器件的基本知識和相關(guān)軟件的使用方法;3)FPGA電路設(shè)計(jì)的方法和技巧。

5、基本具備中小規(guī)模可編程邏輯器件的設(shè)計(jì)開發(fā)能力。二、課程教學(xué)內(nèi)容和要求本課程系統(tǒng)的介紹用VerilogHDL設(shè)計(jì)和驗(yàn)證數(shù)字硬件電路,重點(diǎn)討論綜合VerilogHDL子集在設(shè)計(jì)數(shù)字電路中的應(yīng)用,討論FPGA現(xiàn)場可編程陣列器件的結(jié)構(gòu)、特點(diǎn)和相應(yīng)的集成環(huán)境的使用以及目前工業(yè)界最常用的仿真工具M(jìn)odelsim的使用。重點(diǎn)講授基于FPGA的數(shù)字電路設(shè)計(jì)流程中的基本概念、所采用的步驟和應(yīng)該遵循的原則,包括模塊劃分原則、可綜合VerilogHDL編碼風(fēng)格、驗(yàn)證程序的編寫方法和靜態(tài)時(shí)序分析等。第一章 VerilogHDL數(shù)字設(shè)計(jì)綜述主要內(nèi)容:復(fù)習(xí)數(shù)字邏輯電路的相關(guān)概念;VerilogHDL的發(fā)展歷史與語言特點(diǎn);

6、Verilog語言與FPGA之間的關(guān)系;FPGA設(shè)計(jì)流程,自底向上和自頂向下;?;疽螅毫私釼erilogHDL特點(diǎn)及與FPGA關(guān)系,理解數(shù)字電路設(shè)計(jì)流程第二章 FPGA介紹主要內(nèi)容: FPGA基本概念,現(xiàn)場可編程門陣列FPGA結(jié)構(gòu)、配置、選型?;疽螅豪斫釬PGA結(jié)構(gòu),掌握FPGA配置。第三章 VerilogHDL語法及層次建模概念主要內(nèi)容:數(shù)字系統(tǒng)抽象描述層次;Verilog模塊的基本概念;賦值語句;模塊的結(jié)構(gòu)、模塊組成,端口連接規(guī)則,標(biāo)示符層次引用;數(shù)據(jù)類型、常量、變量和基本運(yùn)算符號;模塊實(shí)例及邏輯仿真的構(gòu)成?;疽螅豪斫鈹?shù)字電路設(shè)計(jì)方法:理解模塊和模塊實(shí)例之間關(guān)系;理解抽象層次:

7、行為級、數(shù)據(jù)流級、門級和開關(guān)級;理解VerilogHDL詞法約定;學(xué)習(xí)數(shù)據(jù)類型、系統(tǒng)任務(wù)等。重點(diǎn):模塊連接規(guī)則,VerilogHDL語法,數(shù)據(jù)類型。第四章 仿真模型與仿真環(huán)境主要內(nèi)容: Verilog HDL構(gòu)建仿真模塊;仿真模塊的一般結(jié)構(gòu);仿真環(huán)境。基本要求: VerilogHDL設(shè)計(jì)、驗(yàn)證與仿真之間關(guān)系;仿真環(huán)境與工具。重點(diǎn):測試平臺。第五章 不同抽象級別建模方法主要內(nèi)容:門級建模、數(shù)據(jù)流建模、行為級建模,不同級別建模邏輯設(shè)計(jì)的差別及作用。門級原語、表達(dá)式、結(jié)構(gòu)化語句?;疽螅翰煌<墑e概念,理解門級原語,電路邏輯圖用VerilogHDL描述;使用數(shù)據(jù)流結(jié)構(gòu)對數(shù)字電路建模,表達(dá)式、各種

8、結(jié)構(gòu)化語句。重點(diǎn):數(shù)據(jù)流建模、行為級建模方法第六章 任務(wù)與函數(shù)主要內(nèi)容:任務(wù)、函數(shù)、任務(wù)與函數(shù)的區(qū)別、系統(tǒng)函數(shù)、實(shí)用建模技術(shù)?;疽螅豪斫馊蝿?wù)和函數(shù)之間區(qū)別,掌握任務(wù)、函數(shù)的聲明和調(diào)用。第七章 設(shè)計(jì)驗(yàn)證主要內(nèi)容:驗(yàn)證綜述;功能驗(yàn)證的技術(shù);時(shí)序驗(yàn)證相關(guān)概念?;疽螅赫莆镇?yàn)證的基本方法。第八章FPGA設(shè)計(jì)實(shí)例主要內(nèi)容:以實(shí)例形式從邏輯設(shè)計(jì)、仿真、FPGA選型、資源利用、下載、驗(yàn)證與測試等方面全面闡述基于VerilogHDL的FPGA數(shù)字電路設(shè)計(jì)。基本要求:掌握基于VerilogHDL的FPGA數(shù)字電路設(shè)計(jì)基本方法。三、各教學(xué)環(huán)節(jié)的學(xué)時(shí)分配 項(xiàng)目章節(jié)主要內(nèi)容學(xué)時(shí)分配講課習(xí)題課實(shí)驗(yàn)上機(jī)合計(jì)第一章課

9、程相關(guān)信息22第二章FPGA介紹44第三章VerilogHDL語法及層次建模概念 448第四章仿真模型與仿真環(huán)境6410第五章不同抽象級別建模方法8614第六章任務(wù)與函數(shù)426第七章設(shè)計(jì)驗(yàn)證426第八章FPGA設(shè)計(jì)實(shí)例66綜合實(shí)驗(yàn)268合計(jì)40/24/64四、實(shí)驗(yàn)部分教學(xué)內(nèi)容和要求: 1、實(shí)驗(yàn)項(xiàng)目及學(xué)時(shí)分配其中:演示性實(shí)驗(yàn) 0 %,驗(yàn)證性實(shí)驗(yàn) 16.7 %,設(shè)計(jì)性實(shí)驗(yàn) 41.7 %,綜合性實(shí)驗(yàn) 41.7 %序號實(shí)驗(yàn)項(xiàng)目名稱實(shí)驗(yàn)內(nèi)容及要求學(xué)時(shí)實(shí)驗(yàn)類型演示驗(yàn)證設(shè)計(jì)綜合1熟悉modelsim仿真環(huán)境用Modelsim仿真計(jì)數(shù)器22描述一個組合電路設(shè)計(jì)并仿真一個4位全加器23ISE基本操作ISE的基本

10、操作24時(shí)序電路實(shí)驗(yàn)I用FPGA實(shí)現(xiàn)一個時(shí)序電路46任務(wù)與函數(shù)實(shí)驗(yàn)用任務(wù)和函數(shù)完成一個ALU4 7總線功能模型用總線功能模型模擬一個CPU讀寫48大作業(yè)DDS、交通燈、電子表或者學(xué)生自定題目62、實(shí)驗(yàn)所需設(shè)備及材料序號實(shí)驗(yàn)項(xiàng)目名稱每組人數(shù)每組需要的主要儀器設(shè)備每組需要的主要實(shí)驗(yàn)材料設(shè)備名稱數(shù)量材料名稱數(shù)量性質(zhì)所有1PC機(jī)1/Modelsim軟件1/五、本課程與其它課程的聯(lián)系 先修課: 數(shù)字電路邏輯設(shè)計(jì); 后續(xù)課: 數(shù)字集成電路設(shè)計(jì); 六、建議教材及參考資料建議教材:1. VerilogHDL數(shù)字設(shè)計(jì)與綜合(第二版),Samir Palnitkar 著 夏宇聞等譯,電子工業(yè)出版社,2013年1月

11、2. 基于verilog的FPGA設(shè)計(jì)基礎(chǔ)杜慧敏、李宥謀等,西安電子科技大學(xué)出版社出版,2006年2月第1版。 參考資料1. Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第二版),夏宇聞,北京航天航空大學(xué)出版社,2008年6月2. Verilog HDL硬件描述語言 J.Bhasker著,徐振林等譯,機(jī)械工業(yè)出版社,2000年7月第一版3. FPGA設(shè)計(jì)及應(yīng)用,褚振勇、翁木云編著,西安電子科技大學(xué)出版社出版,2002年7月第1版。4. CPLD/FPGA的開發(fā)與應(yīng)用,徐志軍、徐光輝編著,電子工業(yè)出版社出版,2002年1月第1版。三、教學(xué)日歷課程名稱 VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ) 主講教師 李哲

12、輔導(dǎo)教師 所在院系 電子工程學(xué)院 微電子學(xué)系 授課班級 電路12011202 西 安 郵 電 大 學(xué)教 學(xué) 日 歷(課程起止時(shí)間: 2014 年 9月 8日 至 2014 年 12月31日) 教學(xué)周數(shù) 16 計(jì)劃學(xué)時(shí) 64 周學(xué)時(shí)數(shù) 4 實(shí)驗(yàn)學(xué)時(shí) 24 講 課 34 習(xí) 題 6 周次日期教 學(xué) 內(nèi) 容學(xué)時(shí)實(shí)驗(yàn)學(xué)時(shí)重 點(diǎn) 與 難 點(diǎn)作 業(yè)實(shí)際執(zhí)行情況(含教學(xué)條件情況)日/月38/9端午節(jié)311/9VerilogHDL數(shù)字設(shè)計(jì)綜述2數(shù)字電路設(shè)計(jì)流程415/9FPGA基礎(chǔ)知識一2FPGA結(jié)構(gòu)及特點(diǎn)418/9FPGA基礎(chǔ)知識二2FPGA設(shè)計(jì)流程及應(yīng)用522/9Verilog入門2Verilog的基本構(gòu)

13、成525/9Verilog語言基礎(chǔ)2數(shù)據(jù)類型:wire,reg629/9習(xí)題課2作業(yè)和工具講解62/10國慶節(jié)76/10實(shí)驗(yàn):Modelsim環(huán)境2計(jì)數(shù)器仿真實(shí)驗(yàn)驗(yàn)證79/10實(shí)驗(yàn):Modelsim環(huán)境24位全加器功能仿真813/10仿真模型2測量平臺816/10仿真環(huán)境及工具2激勵編寫920/10實(shí)驗(yàn):ISE環(huán)境2原理圖HDL輸入綜合923/10實(shí)驗(yàn):ISE環(huán)境綜合下載2計(jì)數(shù)器設(shè)計(jì)時(shí)序仿真1027/10門級與結(jié)構(gòu)建模 2門級建模1030/10數(shù)據(jù)流建模2賦值、運(yùn)算符、延時(shí)113/11行為建模2過程賦值、阻塞與非阻塞116/11行為建模2狀態(tài)機(jī)設(shè)計(jì)方法1210/11實(shí)驗(yàn):時(shí)序電路設(shè)計(jì)2分頻器設(shè)

14、計(jì)1213/11任務(wù)與函數(shù)12自定義任務(wù)函數(shù)編寫1317/11任務(wù)與函數(shù)22系統(tǒng)任務(wù)函數(shù)應(yīng)用1320/11實(shí)驗(yàn):ALU設(shè)計(jì)2用任務(wù)和函數(shù)完成一個ALU1424/11實(shí)驗(yàn):ALU設(shè)計(jì)2用任務(wù)和函數(shù)完成一個ALU1427/11實(shí)驗(yàn):總線功能模型2雙向接口設(shè)計(jì)151/12實(shí)驗(yàn):總線功能模型2總線時(shí)序關(guān)系154/12綜合實(shí)驗(yàn):根據(jù)所學(xué)知識,設(shè)計(jì)使用項(xiàng)目。DDS、交通燈、電子表或者學(xué)生自定題目。2查找資料、流程設(shè)計(jì)168/122模塊劃分,電路設(shè)計(jì)1611/122仿真驗(yàn)證1715/12設(shè)計(jì)與驗(yàn)證12驗(yàn)證技術(shù)、方法1718/12時(shí)序驗(yàn)證22靜態(tài)時(shí)序分析1822/12FPGA設(shè)計(jì)實(shí)例12多個獨(dú)立簡單例程182

15、5/12FPGA設(shè)計(jì)實(shí)例22綜合例程注:教學(xué)日歷務(wù)請于開學(xué)的第二周前交教務(wù)辦 任課教師: 系、部主任: 院長: 四、學(xué)生作業(yè)及平時(shí)考核情況記錄表集成電路1201班作業(yè)與出勤情況表序號學(xué)號 姓名123456789101112131415161718192015126001陳佳鑫25126004池海洋35126005戎國45126006蘇欣陽55126007彭柏?zé)?5126009宋達(dá)75126010申浩85126011李柴溢95126012嚴(yán)毅105126013于軒115126014雒旭鵬125126015李豪135126016何鑫145126017蔡巖飛155126018禹應(yīng)強(qiáng)(班長)16512

16、6019劉東(班長)175126020李文冬185126021李源195126022張威205126023吳勇215126024郭濤225126025周在新235126026谷志林245126027黃靜255126028張巧玲265126029牛雨萌275126030韓喆285126031高曉倩295126032王瑤305126033陳珊315126034路媛325126035鄭曉玲集成電路1202班作業(yè)與出勤情況表序號學(xué)號 姓名1234567891011121314151617181920105126036莫純燦205126037王曉東305126038王舟405126039祈大健50512

17、6040陶曉旭605126041段德新705126042顧向805126043陳鍇905126044施昊偉1005126045朱煜琛1105126046劉鑫1205126047段廣廣1305126048張凱1405126049姚遠(yuǎn)1505126050王超1605126051鐘樂1705126052曹源1805126053侯曉峰1905126054張璐2005126055唐韻2105126056張凱飛2205126057朱興東2305126058李勇2405126059王力2505126060李譯2605126061孟四霞2705126062趙琰瑞2805126063董雪雯2905126064任

18、婉琪3005126065晁凱星3105126066朱司文3205126067張凱鴿3305126068張薇3405126069何珍珍3505126070 彭陽光五、課堂教學(xué)設(shè)計(jì)方案第一講(2)課程簡介(第一章)1、本次課教學(xué)目標(biāo): 使學(xué)生對該課程有一個總體認(rèn)識:1.1 課程的預(yù)期目標(biāo):n 掌握VerilogHDL及數(shù)字電路設(shè)計(jì)方法n 掌握基于FPGA的數(shù)字電路實(shí)現(xiàn)方法n 掌握數(shù)字集成電路設(shè)計(jì)的一般流程n 初步掌握系統(tǒng)集成的設(shè)計(jì)方法。1.2 本課程與先修課程、后續(xù)課程的關(guān)系1.3 VerilogHDL的發(fā)展1.4 EDA技術(shù)簡介及設(shè)計(jì)流程2、本次課教學(xué)重點(diǎn):2.1 EDA技術(shù)是數(shù)字電路設(shè)計(jì)的發(fā)展

19、方向,從IC制造工藝、電路設(shè)計(jì)、仿真驗(yàn)證、系統(tǒng)設(shè)計(jì)、測試等都實(shí)現(xiàn)電子設(shè)計(jì)自動化。2.2 VerilogHDL發(fā)展3、本次課教學(xué)難點(diǎn):3.1 學(xué)生理解與以前所學(xué)知識的區(qū)別:VerilogHDL與C語言區(qū)別:前者硬件電路描述與設(shè)計(jì),并發(fā)執(zhí)行;后者編譯后在CPU中運(yùn)行代碼,逐條執(zhí)行。3.2 傳統(tǒng)設(shè)計(jì)與EDA設(shè)計(jì)流程區(qū)別:學(xué)生本身對傳統(tǒng)設(shè)計(jì)沒有經(jīng)驗(yàn),也不是十分理解,因此很難體會到EDA設(shè)計(jì)帶來的優(yōu)勢。4、本次課教學(xué)方法:講授法5、本次課教學(xué)過程設(shè)計(jì)分兩部分講述,首先對本課程要求及總體講述:重要性、預(yù)期目標(biāo)、學(xué)習(xí)方法,VerilogHDL與FPGA概述;其次,講述VerilogHDL發(fā)展;第三,講解本課

20、程在本專業(yè)培養(yǎng)方案中的地位:專業(yè)基礎(chǔ)、工具。采用提問形式,引起學(xué)生好奇心,再逐步對所提問題剖析,加強(qiáng)學(xué)生的理解很認(rèn)識。n 什么是FPGA?n 什么是VerilogHDL?n 什么是基于VerilogHDL的FPGA設(shè)計(jì)? 1、外部硬件系統(tǒng)2、內(nèi)部邏輯系統(tǒng)n FPGA與常用數(shù)字邏輯器件關(guān)系 FPGA:可編程、靈活、系統(tǒng)體積小n HDL與其他高級語言(C語言等)區(qū)別HDLPLD、FPGA;C等CPUn VerilogHDL與FPGA設(shè)計(jì)基礎(chǔ)1、 VerilogHDL和FPGA基本知識 2、基于FPGA、HDL設(shè)計(jì)方法3、設(shè)計(jì)驗(yàn)證工具 4、數(shù)字電路系統(tǒng)設(shè)計(jì)方法在講述VerilogHDL發(fā)展時(shí),主要簡

21、述,提示學(xué)生自己看書。同時(shí),提示學(xué)生:關(guān)于VerilogHDL與FPGA方面的知識,書籍很多、網(wǎng)上資料也非常多。需要深入學(xué)習(xí),多看、多練、多思考。第二講(2+2)可編程邏輯器件PLD_FPGA基礎(chǔ)知識(第二章)1、本次課教學(xué)目標(biāo):使學(xué)生對FPGA深入認(rèn)識:1.1 FPGA是可編程邏輯器件(PLD)之一:其特點(diǎn)使其成為最廣泛的數(shù)字電路設(shè)計(jì)支撐器件:用于ASIC前期驗(yàn)證或者直接作為小批量專用集成電路直接應(yīng)用。1.2 FPGA內(nèi)部結(jié)構(gòu)和專用資源:內(nèi)部結(jié)構(gòu)只要由可編程邏輯塊(CLB)、可編程輸入/輸出(IOB)和可編程內(nèi)部互聯(lián)資源(PIR);嵌入式陣列塊(EAB)既可以是RAM、ROM、FIFO等,也

22、可以是DSP、CPU等常用的硬件電路,大大增加了FPGA使用性。1.3 FPGA設(shè)計(jì)流程:系統(tǒng)設(shè)計(jì)模塊設(shè)計(jì)設(shè)計(jì)輸入設(shè)計(jì)處理模擬仿真下載測試。1.4 FPGA選型及外圍電路設(shè)計(jì):選型原則,下載電路,與其它電路連接注意事項(xiàng)2、本次課教學(xué)重點(diǎn):2.1 FPGA內(nèi)部結(jié)構(gòu)與特點(diǎn)2.2 結(jié)合EDA工具,深入理解FPGA設(shè)計(jì)流程(注意與VerilogHDL數(shù)字電路設(shè)計(jì)流程的關(guān)系)FPGA設(shè)計(jì)包含VerilogHDL設(shè)計(jì),同時(shí),還要考慮外圍電路設(shè)計(jì)和內(nèi)部延時(shí)等,VerilogHDL設(shè)計(jì)更偏重?cái)?shù)字邏輯。3、本次課教學(xué)難點(diǎn):使學(xué)生建立新的數(shù)字電路設(shè)計(jì)方法,開始可能比較抽象,只有經(jīng)過實(shí)踐,應(yīng)該能夠理解和掌握。4、本

23、次課教學(xué)方法:講授法、演示實(shí)驗(yàn)法、自主學(xué)習(xí)法等5、本次課教學(xué)過程設(shè)計(jì)首先,展示FPGA芯片和FPGA開發(fā)/實(shí)驗(yàn)板,讓學(xué)生感性認(rèn)識FPGA及應(yīng)用環(huán)境。其次,從可編程邏輯器件(PLD)發(fā)展,引導(dǎo)出FPGA的產(chǎn)生。第三,F(xiàn)PGA內(nèi)部結(jié)構(gòu)及其特點(diǎn)。第四,F(xiàn)PGA選型及系統(tǒng)級設(shè)計(jì)概要第五,F(xiàn)PGA設(shè)計(jì)流程及下載電路最后,使學(xué)生較為深入體會FPGA與VerilogHDL的關(guān)系。此章節(jié)要讓學(xué)生明白FPGA技術(shù)發(fā)展、作用、主流FPGA公司產(chǎn)品及特點(diǎn),F(xiàn)PGA選型,F(xiàn)PGA在數(shù)字集成電路設(shè)計(jì)和嵌入式系統(tǒng)中的用法等。第三講(2)VerilogHDL入門_層次建模(第三章)1、本次課教學(xué)目標(biāo):v 層次建模的概念v

24、通過簡單的例子了解Verilog模塊的基本構(gòu)成v Verilog模塊的組成要素:模塊和端口v Verilog模塊的仿真測試2、本次課教學(xué)重點(diǎn):模塊的層次結(jié)構(gòu)及組成要素3、本次課教學(xué)難點(diǎn):模塊的連接規(guī)則:名稱對應(yīng)連接和位置對應(yīng)連接4、本次課教學(xué)方法:講授法、啟發(fā)式教學(xué)法、自主學(xué)習(xí)法等5、本次課教學(xué)過程設(shè)計(jì)由于前期學(xué)生已經(jīng)接觸到VerilogHDL,了解如何用其描述簡單數(shù)字邏輯,此節(jié)開始系統(tǒng)講解VerilogHD概念、特點(diǎn)及應(yīng)用。如何通過模塊化設(shè)計(jì)構(gòu)造復(fù)雜的數(shù)字邏輯或者數(shù)字系統(tǒng)。5.1說明什么是VerilogHDL電路設(shè)計(jì)模型及模型種類:系統(tǒng)級、算法級、RTL級、門級、開關(guān)級 5.2 舉例最簡單電

25、路說明模塊的書寫及要素:通過實(shí)例,直觀感受不同級別模型的電路設(shè)計(jì),對模塊組成要素重點(diǎn)說明。5.3 模塊之間連接規(guī)則和層次模型采用4位計(jì)數(shù)器做層次說明:頂層(計(jì)數(shù)器)T觸發(fā)器D觸發(fā)器對頂層計(jì)數(shù)器測試,采用更高一級模塊,測試模塊做頂層,實(shí)例化計(jì)數(shù)器。同時(shí),體會模塊之間連接方式。5.4 簡要介紹模塊仿真測試 體會VerilogHDL設(shè)計(jì)從頂層到下層的設(shè)計(jì)流程。模塊測試的基本方法。讓學(xué)生思考:修改模塊不同連接方式重新寫代碼。第四講(2)Verilog HDL語言基礎(chǔ) _數(shù)據(jù)類型(第三章)1、本次課教學(xué)目標(biāo):v 理解操作符、注釋、數(shù)字、字符串和標(biāo)識符等基本詞法v 掌握定義邏輯值集合和主要數(shù)據(jù)類型:網(wǎng)線、

26、寄存器、向量、數(shù)字、仿真時(shí)間、數(shù)字、參數(shù)、存儲器和字符串等。v 常用系統(tǒng)任務(wù)和函數(shù):顯示、監(jiān)視信息、暫停和結(jié)束仿真任務(wù)。v 學(xué)習(xí)常用編譯指令:宏定義、文件包含和時(shí)間單位/仿真精度2、本次課教學(xué)重點(diǎn):數(shù)據(jù)類型3、本次課教學(xué)難點(diǎn):數(shù)據(jù)類型,多練習(xí)才能掌握。4、本次課教學(xué)方法:講授法、任務(wù)驅(qū)動教學(xué)法、演示實(shí)驗(yàn)法、自主學(xué)習(xí)法等介紹仿真工具M(jìn)odelsim使用方法,提醒學(xué)生在課外自己練習(xí)。5、本次課教學(xué)過程設(shè)計(jì)VerilogHDL是由C語言演繹而來,因此,其詞法和語法與C語言有很多相似之處。但是,二者又有質(zhì)的區(qū)別:前者作為硬件描述和設(shè)計(jì)的工具;后者是一種處理器運(yùn)行的指令代碼語言。C語言在電路設(shè)計(jì)前期,在

27、系統(tǒng)級、算法級可以功能仿真。在學(xué)習(xí)時(shí),書寫風(fēng)格類似,但是,代表意義既有相似之處,又有其特點(diǎn),不能混淆。重點(diǎn)是讓學(xué)生明白不同之處,建立數(shù)字電路設(shè)計(jì)理念,而不是C語言編程。尤其是阻塞賦值和非阻塞賦值要特別留意,若混淆,極易出現(xiàn)邏輯錯誤。Verilog中的變量在可綜合模型中應(yīng)該是一種信號,在系統(tǒng)級仿真模型中可以理解為與C類似的變量。在此講解時(shí)主要提醒VerilogHDL與C語言區(qū)別,只要對C語言熟悉,VerilogHDL應(yīng)該容易理解。但是,學(xué)生對C語言理解不是十分透徹,因此,較為詳細(xì)講解還是需要的。5.1 標(biāo)識符v 標(biāo)識符必須以英語字母(a-z, A-Z)起頭,或者用下橫線符( _ )起頭。其中可以

28、包含數(shù)字、$符和下橫線符。v 標(biāo)識符最長可以達(dá)到1023個字符。v 模塊名、端口名和實(shí)例名都是標(biāo)識符。v Verilog語言是大小寫敏感的,因此sel 和 SEL 是兩個不同的標(biāo)識符。5.2 四種基本邏輯值邏輯:0,1,不確定x,高阻z5.3 常量表示法整型、實(shí)數(shù)型、字符串整型數(shù)可以用二進(jìn)制、八進(jìn)制、十六進(jìn)制表示,位數(shù)可限定。例:64hff01 ,8b1101_0001 ,h83a , 4b1xxX,4d20 ,123等v 在數(shù)字說明中如果沒有指定基數(shù),則默認(rèn)為十進(jìn)制數(shù);若沒有指定位數(shù),則默認(rèn)的位數(shù)與仿真器和使用的計(jì)算機(jī)有關(guān)(最小為32位)。v 數(shù)值超過位數(shù),左邊超出位截掉;數(shù)值不足位數(shù),左邊

29、補(bǔ)0、x或z。實(shí)常數(shù)可以用十進(jìn)制表示也可以用科學(xué)浮點(diǎn)數(shù)表示,例:32e-4 (表示0.0032), 4.1E3( 表示 4100),10.567, -100.00 等字符串:用于表示需要顯示的信息字符串是雙引號內(nèi)的字符序列。字符串不能分成多行書寫。例:“a/b” “hello verilog”5.4 主要數(shù)據(jù)類型v 線網(wǎng)(Net)類型 表示器件之間的物理連接, 稱為線網(wǎng)類型信號。一般使用關(guān)鍵字wire聲明。由其連接器件的輸出端連續(xù)驅(qū)動。v 寄存器(Register)類型 表示抽象的數(shù)據(jù)存儲單元,它保持原有的數(shù)值,直到被改寫,稱為寄存器類型信號或變量。一般使用關(guān)鍵字reg聲明。注意寄存器類型并不

30、一定是邏輯電路中的硬件寄存器。與線網(wǎng)不同,寄存器不需要驅(qū)動源。線網(wǎng)類型信號的主要種類:v 在為不同工藝的基本元件建立庫模型的時(shí)候,常常需要用不同的連接類型來與之對應(yīng),使其行為與實(shí)際器件一致。常見的有以下幾種。 類型 功能 wire, tri 對應(yīng)于標(biāo)準(zhǔn)的互連線(缺?。?supply1, supply2 對應(yīng)于電源線或接地線 wor, trior 對應(yīng)于有多個驅(qū)動源的線或邏輯連接 wand, triand 對應(yīng)于有多個驅(qū)動源的線與邏輯連接 trireg 對應(yīng)于有電容存在能暫時(shí)存儲電平的連接 tri1, tri0 對應(yīng)于需要上拉或下拉的連接寄存器類型的主要種類:寄存器類型信號或變量共有四種數(shù)據(jù)類型

31、: 類型 功能 . reg reg寄存器類型信號,可以選擇不同的位寬。 integer 有符號整數(shù)變量,32位寬,算術(shù)運(yùn)算可產(chǎn)生2的補(bǔ)碼 real 有符號的浮點(diǎn)數(shù),雙精度。 time 無符號整數(shù)變量,64位寬(Verilog-XL 仿真工具用64位的正數(shù)來記錄仿真時(shí)刻)存儲器類型v Verilog HDL通過對reg型變量建立數(shù)組來對存儲器建模,可以描述RAM型存儲器,ROM存儲器和reg文件。數(shù)組中的每一個單元通過一個數(shù)組索引進(jìn)行尋址。在Verilog語言中沒有多維數(shù)組存在。 memory型數(shù)據(jù)是通過擴(kuò)展reg型數(shù)據(jù)的地址范圍來生成的。在此提醒學(xué)生:在FPGA設(shè)計(jì)中,此種存儲器類型用FPGA

32、寄存器寄存器實(shí)現(xiàn),但是,實(shí)際應(yīng)用中,存儲器采用FPGA的嵌入式塊。v 存儲器使用如下方式說明: regmsb:1sb mem1 upper1:lower1 ,mem2upper2:lower2 ,. ; 例:reg 3:0 MyMem63:0;/ MyMem為64個4位寄存器的數(shù)組。 reg Bog 5:1; / Bog為5個1位寄存器的數(shù)組。v 存儲器只能逐個賦值。如 Bog1=1b1; Bog2=1b0; v MyMem2=0;如何選擇正確的數(shù)據(jù)類型?§ 輸入口(input)可以由寄存器或網(wǎng)絡(luò)連接驅(qū)動,但它本身只能驅(qū)動網(wǎng)絡(luò)連接。§ 輸出口 (output)可以由寄存器或

33、網(wǎng)絡(luò)連接驅(qū)動,但它本身只能驅(qū)動網(wǎng)絡(luò)連接。§ 輸入/輸出口(inout)只可以由網(wǎng)絡(luò)連接驅(qū)動,但它本身只能驅(qū)動網(wǎng)絡(luò)連接。§ 如果信號變量是在過程塊 (initial塊 或 always塊)中被賦值的,必須把它聲明為寄存器類型變量5.4參數(shù)(parameters)常用參數(shù)來聲明程序中的常數(shù),如時(shí)延、信號寬度兩種參數(shù)值修改方法:例:module hello_world; parameter id_num=0;/定義參數(shù) initial $display(“display hello_world id number=%d”,id_num);endmodule方法1:module t

34、op;defparam w1.id_num=1,w2.id_num=2;hello_world w1();hello_world w2();endmodule方法2:module top;hello_world #(1) w1;/按參數(shù)聲明的順序傳遞參數(shù)值hello_world #(2) w2;/hello_world #(.id_num(1) w1;/按名字賦參數(shù)值/hello_world #(.id_num(2) w2;endmodule5.5 常用系統(tǒng)任務(wù)和函數(shù)常用系統(tǒng)任務(wù)和函數(shù)在仿真時(shí)很有用,先按照例程簡單實(shí)用,后續(xù)章節(jié)再深入分析理解更多系統(tǒng)任務(wù)和函數(shù)。v $ 符號表示 Verilog

35、 的系統(tǒng)任務(wù)和函數(shù)v 常用的系統(tǒng)任務(wù)和函數(shù)有下面幾種: $time /找到當(dāng)前的仿真時(shí)間 $display, $monitor /顯示和監(jiān)視信號值的變化 $stop /暫停仿真 $finish /結(jié)束仿真5.6 常用編譯指令v 編譯指令用主鍵盤左上角小寫鍵 “ ” 起頭v 用于指導(dǎo)仿真編譯器在編譯時(shí)采取一些特殊處理v 編譯指令一直保持有效,直到被取消或重寫v 常用的編譯指令有:a) defineb) includec) timescaled) uselibe) resetall第五講(2+2)仿真模型與仿真環(huán)境(第四章)1、本次課教學(xué)目標(biāo):使學(xué)生認(rèn)識到數(shù)字電路仿真驗(yàn)證和數(shù)字電路設(shè)計(jì)具有同等重要

36、的地位:1.1 前期設(shè)計(jì)階段就要考慮如何對設(shè)計(jì)進(jìn)行仿真驗(yàn)證。1.2 仿真模型和仿真環(huán)境的建立方法_測試平臺Testbench1.3 仿真驗(yàn)證的流程和仿真工具的使用1.4 激勵的編寫方法2、本次課教學(xué)重點(diǎn):2.1測試平臺的搭建_Testbench2.2 激勵的編寫方法3、本次課教學(xué)難點(diǎn):開始學(xué)習(xí)階段,學(xué)生對設(shè)計(jì)還是一知半解,注意力往往集中在學(xué)習(xí)設(shè)計(jì)上,對仿真驗(yàn)證不夠重視。正確認(rèn)識仿真驗(yàn)證重要性十分必要。另外,搭建合理的測試平臺需要長時(shí)間積累才能實(shí)現(xiàn)。4、本次課教學(xué)方法:講授法、任務(wù)驅(qū)動教學(xué)法、啟發(fā)式教學(xué)法、自主學(xué)習(xí)法、合作探究法等5、本次課教學(xué)過程設(shè)計(jì)仿真模型就是HDL設(shè)計(jì)的數(shù)字電路模型,仿真環(huán)

37、境是各種仿真EDA工具。工具不同,使用方法可能有差異,仿真級別或?qū)哟尾煌欠抡娼Y(jié)果應(yīng)該一致。前述教學(xué)內(nèi)容已經(jīng)涉及到仿真驗(yàn)證內(nèi)容,本節(jié)系統(tǒng)講述。5.1 仿真基本概念數(shù)字電路設(shè)計(jì)最終完成之前,在不同階段提前對設(shè)計(jì)的正確性做出判斷,避免下載到FPGA后邏輯不正確造成系統(tǒng)不能正常工作,或者流片出來的集成電路性能不滿足要求,產(chǎn)生大的經(jīng)濟(jì)損失(一般流片費(fèi)用很高,只有流片前將可能出現(xiàn)的問題全部解決,損失才能降到最低)。TOPDOWN:系統(tǒng)級仿真功能仿真時(shí)序仿真DOWNTOP:模塊級仿真子系統(tǒng)仿真系統(tǒng)仿真5.2 仿真技術(shù)基于TestBench的環(huán)境(目前主要的驗(yàn)證方式) Testbench測試平臺 即:

38、Testbench產(chǎn)生激勵給被驗(yàn)證設(shè)計(jì)(DUV)或待測設(shè)計(jì)(DUT),同時(shí)檢查DUV/DUT輸出是否滿足要求5.3 仿真工具仿真過程是在仿真器上實(shí)現(xiàn)的,業(yè)界常用的仿真器有:Cadence 的 NC-Verilog, Synopsys的VCS 和 Mentor的ModelSim5.4 驗(yàn)證計(jì)劃和流程隨著設(shè)計(jì)規(guī)模的加大,驗(yàn)證工作量越來越大,制定驗(yàn)證計(jì)劃或者驗(yàn)證規(guī)范是驗(yàn)證過程的一個重要環(huán)節(jié),驗(yàn)證計(jì)劃可以提高驗(yàn)證效率,減少驗(yàn)證的盲目性。5.4 功能仿真一個典型的Testbench的六個組成部分:n DUV (被驗(yàn)證的設(shè)計(jì))- Design Under Verification,可能是RTL設(shè)計(jì),也可以是網(wǎng)表

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論