第一篇:數字邏輯設計實踐教學計劃2011
數字邏輯設計實踐教學計劃
2011-9-19
一、基本情況:
1.2.3.4.5.6.總 學 時: 學時比例: 學 分: 適用范圍: 先修課程: 時 間:
32學時 1(課內): 1(課外)1.0學分
信息電子類專業
高等數學、物理、數字邏輯電路 2011.10~2012.3
二、教學要求:
預習要求:
1. 在進實驗室前完成該實驗相關的所有預習思考題和設計方案,將預習思考題的解答寫在實驗報告的實驗原理部分,設計方案可先寫在其他紙上。2. 如果有條件,可在宿舍將電路搭試好后再到實驗室測試
3. 指導教師將不定期抽查實驗預習情況,如果有2次或2次以上沒有預習,實驗總評成績降一等
4. 預習中有問題可以登錄電工電子實驗中心的網站查找解答或提出問題。網址為:http://eae.seu.edu.cn,也可以直接發郵件給指導教師,具體郵件地址請詢問指導教師。
實驗要求:
1. 實驗采用開放模式,集中授課時間為第6、8、12周(12周有強電實驗安排的班級集中授課時間安排在13周),集中授課時間、地點按課程表執行。開放時間為周一的14:00~21:00,周二到周四的9:30~21:00,周五的9:30~17:00。第一次實驗時請仔細閱讀開放實驗規章制度,并在以后的實驗中認真遵守。2. 每次實驗要帶一卡通、元器件、面包板等。
3. 在開放時間進入實驗室時,請在刷卡機上出示您的一卡通,在刷卡機分配的實驗室和實驗座位上完成實驗。
4. 原則上每次開放實驗至少要完成一項實驗內容,單次實驗時間不少于1個小時,否則將被通報,如有特殊情況請提前和指導教師聯系。開放實驗總時數必須達到15學時(12小時),否則將取消期末考試資格。
5. 實驗開始前請先檢查自己座位上的儀器,如有缺失和損壞請及時和值班教師聯系,實驗過程中如果發生儀器故障,也請和值班教師聯系,值班教師檢查確認后才可以更換,不允許自己更換。
6. 開始實驗前請先在課程主頁上查看和該實驗相關的各種信息。實驗中遇到的一般性問題應該自己解決,課程網站提供了一部分常見問題解答,可作為參考。確實解決不了再詢問值班教師。對于課程網站上已經有答案的問題,值班教師將不予回答,請理解。
7. 實驗中途請勿隨意離開實驗室,如確實有特殊情況請向值班教師請假或者刷卡下機。中途無故離開15分鐘以上的屬于嚴重違規行為,兩次以上嚴重違規將取消期 1
末考試資格。
8. 如有元器件損壞,可到儀表室購買。
9. 實驗完成后請關閉儀器電源、打掃干凈實驗桌面,儀器歸位,如開放時間段必須刷卡下機。
實驗報告要求:
1. 實驗原理不需要大量的抄書上已有的內容,以回答每一節的思考題為主。
2. 記錄實驗數據時,書上已給出表格的按書上表格記錄,沒有的要自擬表格,原則上不允許不畫表格記錄數據。
3. 對于所有要求觀察記錄的波形,必須記錄在坐標紙上,并標注波形的各項參數,特別注明的除外。
4. 所有的實驗必須對測量過程中遇到的問題和結果做分析,可參考書上的實驗結果分析討論要點。
5. 如果采用計算機記錄或處理數據的話,可將結果打印后貼在實驗報告的相關位置。6. 如果有另外的預習報告,可粘貼在實驗報告的最后一頁。
7. 實驗報告必須在指定時間完成并提交,如果有兩次或兩次以上無故遲交報告,實驗總評成績降一等。
第1章 數字邏輯電路實驗基礎(4學時)1.學習目標
(1)認識數字集成電路,能識別各種類型的數字器件和封裝;(2)學習查找器件資料,通過器件手冊了解器件;
(3)了解脈沖信號的模擬特性,了解示波器的各種參數及其對測量的影響,了解示波器探頭的原理和參數,掌握脈沖信號的各項參數;
(4)了解邏輯分析的基本原理,掌握虛擬邏輯分析的使用方法;
(5)掌握實驗箱的結構、功能,面包板的基本結構、掌握面包板連接電路的基本方法和要求;
(6)掌握基本的數字電路的故障檢查和排除方法。
2.必做實驗
(1)復習儀器的使用,TTL信號參數及其測量方法
用示波器測量并記錄頻率為200KHz的TTL信號的上升沿時間、下降沿時間、脈沖寬度和高、低電平值。
(2)1.9節實驗:電路安裝調試與故障排除
要求:測出電路對應的真值表,并進行模擬故障排查,記錄故障設置情況和排查過程。
3.選做實驗
1.5節實驗:邏輯分析儀測量數字邏輯信號
4.時間要求
第6、7周內完成,第8周內交實驗報告
第2章 門電路和組合邏輯(8學時)1.學習目標
(1)掌握TTL和CMOS器件的靜態特性和動態特性測量方法及這些特性對數字系統設計的影響;
(2)掌握通過數字器件手冊查看器件靜態和動態特性參數;(3)掌握不同結構的數字器件之間的互連;
(4)掌握OC門和三態門的特性和使用方法;(5)加深示波器測量技術的訓練;
(6)掌握小規模組合邏輯的工程設計方法;
(7)了解競爭和冒險的產生原因,消除方法,掌握用示波器和邏輯分析捕捉毛刺的方法。
2.必做實驗
(1)2.5節 實驗:門電路靜態特性的測試
內容7.用OC門實現三路信號分時傳送的總線結構 內容8.用三態門實現三路信號分時傳輸----①②(2)2.10節 實驗:SSI組合邏輯設計及競爭-冒險現象
內容1.數值判別電路
內容4.停車場交通控制系統
3.選做實驗
(1)2.5節 實驗:門電路靜態特性的測試
內容2.分別測量74LS04和74HC04的靜態參數極限值,并計算噪聲容限和扇出數。內容3.采用示波器X-Y方式測量并比較74LS04和74HC04兩種器件的電壓傳輸特性 Vo=f(Vi)
(2)2.7節 實驗:門電路動態特性測試
(3)2.10節 實驗:SSI組合邏輯設計及競爭-冒險現象
內容5.競爭-冒險現象的觀察和消除
4.時間要求
第8周、第9周兩周內完成,第10周內交實驗報告
第3章 組合函數設計(4學時)1.學習目標
(1)掌握常用中規模組合邏輯器件的功能和使用方法;(2)掌握邏輯函數工程設計方法;
(3)了解存儲器實現復雜邏輯函數的原理和存儲器的使用過程。
2.必做實驗
3.3 節實驗:用MSI進行組合邏輯函數電路設計 內容①用多種方案設計1位全減器
內容②用一個4選1數據選擇器實現邏輯函數 內容④血型配對
3.選做實驗
3.5節 實驗:用ROM設計組合邏輯函數電路
4.時間要求
第10周內完成,第11周內交實驗報告
第4章 時序邏輯電路(8學時)1.學習目標
(1)掌握時序邏輯電路的一般設計過程;
(2)掌握時序邏輯電路的時延分析方法,了解時序電路對時鐘信號相關參數的基本要求;(3)掌握時序邏輯電路的基本調試方法;
(4)熟練使用示波器和邏輯分析儀觀察波形圖,并會使用邏輯分析儀做狀態分析。
2.必做實驗
(1)4.4節 實驗:觸發器設計時序邏輯電路 內容2.廣告流水燈 內容3.智力競賽搶答器 內容5.序列發生器
(2)4.6節 實驗:用時序功能塊設計時序電路
內容1.簡易數字鐘
內容2.序列發生器
3.選做實驗
4.6節 實驗:用時序功能塊設計時序電路
內容3.分頻器
4.時間要求:
第12、13、14周內完成,第15周內交實驗報告
第6章 小型數字系統設計 1.學習目標:
(1)綜合前面所學的各項內容
(2)了解掌握數字系統設計的流程和方法(3)培養復雜電路連接和調試技能
2.提高實驗:
6.3節 實驗:小型數字系統設計(6.3.1與6.3.4中二選一)6.3.1十字路口交通信號控制電路 6.3.4 擲骰子游戲
3.說明
提高實驗不計入總學時。
第7章 可編程數字系統設計基礎(8學時)1.學習目標
(1)了解可編程數字系統設計的流程(2)掌握Quartus II 軟件的使用方法
(3)掌握原理圖輸入方式設計數字系統的方法和流程
2.必做實驗
(1)設計一個七人表決器,下載后驗證其功能
用七個開關作為表決器的七個輸入變量,輸入變量為邏輯“1”時表示表決者“贊同”;輸入變量為“0”時,表示表決者“不贊同”,輸出變量為表決結果。輸出邏輯“1”時,表示表決“通過”;輸出邏輯“0”表示表決“不通過”。當表決器的七個輸入變量中有4個以上(含4個)為“1”時,則表決器輸出為“1”;否則為“0”。
(2)7.1.1節 簡易數字鐘的設計
3.時間要求:
下學期完成
期末考試:
第16周
備注:
第4章 4.6節的“簡易數字鐘實驗”需由本班帶班教師驗收,第13、14兩周內驗收完畢。
成績考核方法: 1.平時
30% 2.簡易數字鐘實驗驗收
30% 3.期末考試
40%
第二篇:數字邏輯設計報告
《數字邏輯課程設計》
姓名: 宋國正 班級:計142 學號:149074056
2016年9月25日
一、設計任務要求
數字時鐘是由振蕩器、分頻器、計秒電路、計分電路、計時電路組成。計時采用24h和12h兩種。當接通電源或數字鐘走時出現誤差,都需要對數字鐘作時、分、秒時間校正。本次設計的具體要求如下:
1、顯示時、分、秒的十進制顯示,采用24小時制。
2、校時功能。
3、整點報時。
二、設計思路
1、數字鐘的組成原理圖
數字式電子鐘實際上是一個對標準1Hz 進行計數的計數電路!秒計數器滿60 后向分計數器進位,分計數器滿60 后向時計數器進位, 時計數器按24翻1 規律計數, 計數輸出經譯碼器送LED 顯示器,由于計數的起始時間不可能與標準時間一致,故需要在電路上加上一個校時電路。
同時標準的1Hz時間信號必須做到準確、穩定,通常使用石英晶體振蕩器電
路構成。
時顯示器
分顯示器 秒顯示器
時譯碼器
分譯碼器
秒譯碼器
時計數器
時計數器 時計數器
校時電路
振蕩器
分頻器
2、數字鐘設計方案
為完成上述功能,可以把數字鐘系統劃分為三部分:時針源(即標準秒鐘的產生電路)主體電路,擴展電路。主體電路EDA 設計又可劃分為計時電路、校時電路、譯碼顯示電路3部分。
3、底層電路設計
時針源——晶體振蕩器電路給數字式電子鐘提供一個頻率穩定、準確的32768Hz的方波信號,將32768Hz的高頻方波信號經32768次分頻后得到1Hz 的方波信號供秒計數器進行計數,實現該分頻功能的計數器相當于15 級二進制計數器。
計時電路——時間計數器電路由秒個位、秒十位計數器,分個位、分十位計數及時個位、時十位計數電路構成。其中,秒個位和秒十位計數器,分個位和分十位計數為六十進制計數器,而根據設計要求時個位和時十位構成的為二十四進制計數器,時間計數單元共有:時計數,分計數和秒計數3部分,根據設計要求時計數單元為一個二十四進制計數器,共輸出為兩位8421BCD碼形式;分計數和秒計數單元為六十進制計數器!共輸出也為兩位8421BCD碼。圖1和圖2 分別給出了60進制計數器和24進制邏輯圖。
圖
一、60進制計數器
圖
二、24進制計數器
校時電路——當剛接通電源或走時出現誤差時都需要對時間進行校正。對時間的校正是通過截斷正常的計數通路,而用頻率較高的方波信號加到其需要校正的計數單元的輸入端!這樣可以很快使校正的時間調整到標準時間的數值,這時再將選擇開關打向正常時就可以準確走時了。如圖3所示為時、分、秒校時的校時電路。在校時電路中,其實現方法是采用計數脈沖和計數使能來實現校時的。
譯 碼 顯 示 電 路——為了將計數器輸出的8421BCD碼顯示出來,須用顯示譯碼電路將計數器的輸出數碼轉換為數碼顯示器件所需要的輸出邏輯和一定的電流,這種譯碼器通常稱為七段譯碼顯示驅動器電路,本設計可選器件7447為譯碼驅動電路。譯碼驅動電路將計數器輸出的8421BCD碼轉換為數碼管需要的邏輯狀態,并且為保證數碼管正常工作提供足夠的工作電流。
4、數字鐘頂層電路設計
首先按前面的設計方案進行低層模塊的設計與編輯仿真,正確無誤后,即可將設計的低層模塊轉化為與之相對應的元件符號,而后我們就可以用這些元件符號來設計數字鐘的頂層原理圖,如圖4所示。本設計中要仿真的對象為數字鐘,須設定一個1Hz的輸入時鐘信號和一個校時脈沖SET,模擬的設置開關信號MODE的波形,為了能夠看到合適的仿真結果,假定網絡時間(Girl Size)為10.0ns,總模
擬的時間(END TIME)為3ms。
三、軟件仿真 1、60進制計數器的仿真結果如下:
60進制計數器仿真波形圖 2、24進制計數器仿真結果如下:
24進制計數器仿真波形圖
3、數字鐘的頂層電路仿真結果如下:
數字鐘的頂層電路波形仿真圖
四、討論
數字時鐘基于MAX+ plus II設計, 經過軟件仿真并下載到硬件(電子EDA 10
實驗開發系統)實現, 結果表明本設計是合理可行的,但是感覺很繁瑣,是不是可以考慮一種過程簡單一點的呢?通過查閱大量資料發現是可以的。其另一種設計思想及方法是以語言描述為主, 原理圖設計相結合。但是使用過多可能會導致編譯失敗。所以在設計的過程中,如何取舍是一個難題,本人認為對于我這樣基礎不是很扎實的,采用前者是比較合理的。
五、參考文獻
(1)張輝宜,數字邏輯 中國科學技術大學出版社
(2)廖裕評,陸瑞強,CPLD數字電路設計__使用 MAX+Plus II[M],北京:清華大學出版社
六、心得體會
我學到了很多東西,掌握了數字邏輯的各種設計方法
第三篇:數字邏輯設計及應用教學大綱
《電子信息工程》專業教學大綱
《數字邏輯設計及應用》課程教學大綱
課程編號:53000540 學時:64 學分:4 課外上機:16學時
先修課程:《高等數學》、《電路分析基礎》、《模擬電路基礎》 教材: 《DIGITAL DESIGN---Principles & Practices》(Third Edition),John F.Wakerly,高等教育出版社,2001年5月
《數字設計—原理與實踐》(原書第三版)John F.Wakerly 林生 等譯 機械工業出版社 2003年8月
一、課程的性質和任務
本課程是通訊工程、電子信息工程、測控技術與儀器、自動化、生物醫學工程等多個專業方向所共有的一門重要技術基礎課。
要求學生通過本課程學習掌握數字邏輯電路的基本原理與特性、數字邏輯電路的基本分析方法、數字邏輯電路設計和綜合的基本技能、常用數字電路功能單元的實際應用技巧。
同時要求同學能夠理解數字邏輯電路與模擬電路之間的密切關系,了解EDA技術對于數字邏輯電路設計分析的重大意義。
二、教學內容和要求
1.課堂理論教學(62學時)第一章 引論(2學時)
介紹數字邏輯電路的特點、數字邏輯電路在電子系統設計中的地位、數字邏輯電路與模擬電子電路之間的關系、簡單介紹EDA設計工具、VHDL語言對數字邏輯設計作用和影響。
第二章 數系與代碼(6學時)
重點學習掌握: 《電子信息工程》專業教學大綱
十進制、二進制、八進制和十六進制數的表示方法以及它們之間的相互轉換、非十進制數的加減運算;
符號數的表達:符號-數值碼(Signed-Magnitude System、原碼),二進制補碼(two's complement,補碼)、二進制反碼(ones' complement, 反碼)表示以及它們之間的相互轉換;帶符號數的補碼的加減運算;
BCD碼(Binary Codes for Decimal numbers)、格雷碼(Gray code、葛萊碼)的特點,它們與二進制數之間的轉換關系;
二進制數的浮點數表達(補充); 學習了解:
字符的代碼表示,二進制代碼在狀態,條件等的表示方面的應用;
第三章 數字電路(4學時)
重點學習掌握:
作為電子開關運用的二極管、雙極型晶體管、MOS場效應管的工作方式;以CMOS倒相器電路的構成及工作狀態分析;
邏輯電路的靜態、動態特性分析,等價的輸入、輸出模型; 學習理解:
特殊的輸入輸出電路結構:CMOS傳輸門、施密特觸發器輸入結構、三態輸出結構、漏極開路輸出結構;學習了解其他類型的邏輯電路: TTL,ECL等;
不同類型、不同工作電壓的邏輯電路的輸入輸出邏輯電平規范值以及它們之間的連接配合的問題。
第四章 組合邏輯設計原理(10學時)
重點學習掌握: 邏輯代數的公理、定理,對偶關系,以及在邏輯代數化簡時的作用; 邏輯函數的表達形式:積之和與和之積標準型、真值表; 組合電路的分析:邏輯函數表達式的產生過程及邏輯函數表達式的基本化簡方法—函數化簡方法;
組合電路的綜合過程:將功能敘述表達為組合邏輯函數的表達形式、邏輯函數表達式的化簡—函數化簡方法和卡諾圖化簡方法、使用與非門、或非門表達的邏輯函數表達式、邏輯函數的最簡表達形式及綜合設計的其他問題:無關項的處理、冒險問題和多輸出邏輯化簡的方法。第五章 組合邏輯設計實踐(10學時)
重點學習掌握:
利用基本的邏輯門完成規定的組合邏輯電路的設計任務:如譯碼器、編碼器、多路選擇器、多路分配器、異或門、比較器、全加器;
利用基本的邏輯門和已有的中規模集成電路(MSI)邏輯器件如譯碼器、編碼器、多路選擇器、多路分配器、異或門、比較器、全加器、三態器件等作為設計的基本元素完成更為復雜的組合邏輯電路設計的方法。《電子信息工程》專業教學大綱
第七章 時序邏輯設計原理(10學時)重點學習掌握: 基本時序元件R-S型,D型,J-K型,T型鎖存器、觸發器的電路結構,工作原理,時序特性, 功能表,特征方程表達式,不同觸發器之間的相互轉換;
掃描觸發器(Scan Flip-Flop)特性及基本應用;
鐘控同步狀態機的模型圖,狀態機類型及基本分析方法和步驟,使用狀態圖表示狀態機狀態轉換關系;
時序狀態機的設計:狀態轉換過程的建立,狀態的化簡與編碼賦值、未用狀態的處理-最小風險方案和最小代價方案、使用狀態轉換表的設計方法、使用狀態圖的設計方法。
學習了解:
時序電路設計中的其他的設計方法。
第八章 時序邏輯設計實踐(10學時)
重點學習掌握:
利用基本的邏輯門、時序元件作為設計的基本元素完成規定的鐘控同步狀態機電路的設計任務:計數器、位移寄存器、序列檢測電路和序列發生器的設計;
利用基本的邏輯門和已有的中規模集成電路(MSI)時序功能器件作為設計的基本元素完成更為復雜的時序邏輯電路設計的方法。學習了解:
時序電路設計中的其他問題:組合電路與時序電路的比較,大型時序電路的結構劃分,時鐘歪斜,異步輸入處理等。
第十章 存儲器及其在數字邏輯系統實現中的運用(4學時)
學習了解:存儲器(ROM,SRAM)的基本工作原理和結構;
學習掌握:存儲器在數字邏輯系統設計的硬件實現中的運用。第十一章 其他的實際問題(3學時)
學習了解:
數字邏輯電路(組合電路和時序邏輯電路)設計的描述說明方法;
數字邏輯系統設計的其他問題:數字邏輯設計中設計工具的作用、設計的可測試性問題、數字邏輯系統可靠性的問題、高速數字邏輯系統中信號傳輸的相關問題。
補充內容
模數轉換器、數模轉換器(ADC/DAC)原理及應用簡介
(3學時)重點學習理解:
數字-模擬轉換器(Digit to Analog Convertor,DAC))的基本電路結構(R-2R結構的DAC),工作原理;
模擬-數字轉換器(Analog to Digit Convertor,ADC)的基本電路結構(逐次逼近式的ADC),工作原理;、《電子信息工程》專業教學大綱
模擬-數字轉換器、數字-模擬轉換器(ADC/DAC)在電子系統中的作用和應用,特別是在波形發生方面的運用。
2.實驗教學
實驗教學(12學時)
實驗目的:研究典型數字集成電路的功能及擴展方法;掌握其測 試方法;根據實驗要求進行電路設計和測試。
實驗內容:根據數字集成電路的特點,進行基本功能單元試驗,包括組合電路基本功能單元的實驗,時序電路的基本功能單元的實驗及數字電路綜合設計性設計試驗。實驗上機(課外)(16學時)
實驗目的:通過使用CAD設計工具 PSPICE、MAX+plusII對教材中相關例題的分析,加深對教材內容的理解,更好地掌握相關知識。
實驗內容:
1、學習使用PSPICE電路CAD工具,利用PSPICE仿真CMOS基本邏輯門的靜態特性和動態特性、了解電路結構和負載特性對邏輯門靜態特性和動態特性的影響。
2、學習使用MAX+plusII工具,利用MAX+plusII工具進行數字邏輯電路仿真的基本方法;進行基本組合電路基本功能單元,時序電路的基本功能單元進行仿真,加深對基本功能單元功能作用的理解;對教材中大型例題進行仿真分析,加強對大型綜合性設計的分析理解能力。
3.課堂習題課
由教師根據課程進展情況自行安排。
三、主要教學參考資料
1.Alan B.Marcovitz.Introduction to Logic Design(影印版),清華大學出版社,2002 2.Victor P.Nelson H.Troy Nagle Bill D.Carroll J.David Irwin.Digital Logic Circuit Analysis & Design 清華大學出版社,Prentice Hall, Inc, 1997 3.John M.Yarbrough.Digital Logic Applicatons and Design 機械工業出版社 2002 4.閻 石,數字電子技術基礎(第四版),高等教育出版社,1998 5.王毓銀,數字邏輯設計,高等教育出版社,2001 6.龍忠琪,賈立新,數字集成電路教程,科學出版社,2001 《電子信息工程》專業教學大綱
7.毛法堯,歐陽星明,任宏萍,數字邏輯,華中科技大學出版社,1996 8.沈嗣昌,數字系統設計,北京航空工業出版社,1996 9.何緒芃,曾發祚,脈沖與數字電路,電子科技大學出版社,1995 10.萬棟義,脈沖與數字電路(第二版),11.劉寶琴,數字電路與系統,清華大學出版社,1993 12.陳貴燦,邵志標,程軍,林長貴,CMOS集成電路設計,西安交通大學出版社,2000
第四篇:數字邏輯設計及應用課程教學大綱
《數字邏輯設計及應用》課程教學大綱
課程編號:53000540
適用專業:電子信息類專業(包括通信工程、網絡工程、信息工程、電子信息工程、信息對抗技術、電磁場與天線技術、電波傳播與天線、電子科學技術、集成電路設計與集成系統、微電子學、應用物理學、電子信息科學與技術、真空電子技術、光信息科學與技術、信息顯示與光電技術、測控技術與儀器、自動化、自動化(電力系統自動化)、環境工程、機械設計制造及其自動化、電氣工程及其自動化、工業工程、生物醫學工程、管理-電子工程復合培養實驗班。)
學 時 數:64
學 分 數:4
開課學期:第4學期
先修課程:《高等數學》、《電路分析基礎》、《模擬電路基礎》 執 筆 者: 姜書艷
編寫日期:2010.1
審核人(教學副院長):
一、課程性質和目標
授課對象:全日制大學本科二年級 課程類別:學科基礎課
教學目標(本課程對實現培養目標的作用;學生通過學習該課程后,在思想、知識、能力和素質等方面應達到的目標):
“數字邏輯設計及應用”課程是電子信息類專業所共有的一門重要學科基礎課程,同時也是一門重要工程技術課程,是研究數字系統設計的入門課程。通過本課程的學習,使學生掌握數字邏輯電路的基本理論和基本分析方法,為學習后續課程準備必要的電路知識。本課程在培養學生嚴肅認真的科學作風和抽象思維能力、分析計算能力、總結歸納能力等方面起重要作用。在本課程中,將介紹數字邏輯電路的分析設計方法和基本的系統設計技巧;培養同學綜合運用知識分析解決問題的能力和在工程性設計方面的基本素養。通過實驗和課外上機實驗的方式,使同學深入了解和掌握數字邏輯電路的設計分析方法和電路的運用過程。
二、課程內容安排和要求
(一)教學內容、要求及教學方法
1.課堂理論教學(64學時)第一章 引論(1學時)
了解:數字邏輯電路的特點、數字邏輯電路在電子系統設計中的地位、數字邏輯電路與模擬電子電路之間的關系、簡單介紹EDA設計工具、HDL語言對數字邏輯設計作用和影響。第二章 數系與代碼(5學時)
掌握:十進制、二進制、八進制和十六進制數的表示方法以及它們之間的相互轉換、非十進制數的加減運算;
掌握:符號數的表達:符號-數值碼(Signed-Magnitude System、原碼),二進制補碼(two's complement,補碼)、二進制反碼(ones' complement, 反碼)表示以及它們之間的相互轉換; 掌握:帶符號數的補碼的加減運算;BCD碼(Binary Codes for Decimal numbers)、格雷碼(Gray code、葛萊碼)的特點,它們與二進制數之間的轉換關系; 理解:二進制數的浮點數表達(補充);
了解:字符的代碼表示,二進制代碼在狀態、條件等的表示方面的應用; 第三章 數字電路(6學時)
掌握:正負邏輯的概念;CMOS邏輯電平和噪聲容限,扇出特性;
掌握:利用PSPICE仿真CMOS基本邏輯門的靜態特性和動態特性、了解電路結構和負載特性對邏輯門靜態特性和動態特性的影響。
理解:CMOS邏輯反相器、與非門、或非門、非反相門、與或非門電路的結構;
理解:CMOS邏輯電路的其他穩態電氣特性:帶電阻性負載的電路特性、非理想輸入時的電路特性、負載效應、不用的輸入端及等效的輸入、輸出電路模型; 理解:動態電氣特性:轉換時間、傳播延遲、電流尖峰;
理解:特殊的輸入輸出電路結構:CMOS傳輸門、施密特觸發器輸入結構、三態輸出結構、漏極開路輸出結構;
了解:作為電子開關運用的二極管、雙極型晶體管、MOS場效應管的工作方式; 了解:其他類型的邏輯電路:TTL,ECL等;
了解:不同類型、不同工作電壓的邏輯電路的輸入輸出邏輯電平規范值以及它們之間的連接配合的問題。
第四章 組合邏輯設計原理(10學時)
掌握:邏輯代數的公理、定理,對偶關系、反演關系、香濃展開定理,以及在邏輯代數化簡時的作用;
掌握:邏輯函數的表達形式:積之和與和之積標準型、真值表、邏輯表達式,以及各種表達形式之間的關系;
掌握:邏輯函數的基本運算:相加(或)、相乘(與)、對偶、反演;異或、同或運算的公式、性質及其相互關系(補充);
掌握:組合電路的分析:窮舉法和代數法;代數法邏輯函數表達式的產生過程及邏輯函數表達式的基本化簡方法—函數化簡方法和卡諾圖化簡方法;
掌握:組合電路的綜合過程:將功能敘述表達為組合邏輯函數的表達形式、使用與非門、或非門表達的邏輯函數表達式、邏輯函數的最簡表達形式及綜合設計的其他問題:無關項(don’t-care terms)的處理、多輸出(multiple-output)邏輯化簡的方法和定時冒險(timing hazards)問題。掌握:學習使用QuatusII(MAX+plusII)工具,利用圖形法和波形法進行數字邏輯電路仿真;對定時冒險電路進行仿真分析,加強對定時冒險現象的分析理解能力。理解:組合邏輯電路和時序邏輯電路的基本概念;邏輯代數化簡時的幾個概念:蘊含項(implicant)、主蘊含項(prime implicant)、奇異“ 1 ”單元(distinguished 1-cell)、質主蘊含項(essential prime implicant);五變量及以上邏輯函數卡諾圖化簡方法; 了解:開集(on-set)、閉集(off-set)的概念;
第五章 硬件描述語言(4學時)了解:HDL工具組、設計流程
掌握:Verilog語言的語法結構和特點,會使用Verilog語言編寫數字邏輯電路相關的程序 第五章 組合邏輯設計實踐(12學時)
掌握:利用基本的邏輯門完成規定的組合邏輯電路的設計任務:如譯碼器、編碼器、多路選擇器、多路分配器、異或門、比較器、全加器;
掌握:利用基本的邏輯門和已有的中規模集成電路(MSI)邏輯器件如譯碼器、編碼器、多路選擇器、多路分配器、異或門、比較器、全加器、三態器件等作為設計的基本元素完成更為復雜的組合邏輯電路設計的方法; 掌握:利用QuatusII文本法等(Verilog語言)進行組合電路基本功能單元仿真,加深對基本功能單元功能作用的理解;對教材中大型例題進行仿真分析,加強對大型綜合性設計的分析理解能力。理解:等效門符號(摩根定理)(Equivalent Gate Symbols under the Generalized Demorgan’s Theorem);信號名和有效電平(Signal Name and Active Levels);“圈到圈”的邏輯設計(Bubble-to-Bubble Logic Design);電路定時(Circuit Timing);Parity Circuit(奇偶校驗電路)的原理、應用; 了解:文檔標準。
第七章 時序邏輯設計原理(10學時)
掌握:基本時序元件R-S型、D型鎖存器以及D型、J-K型、T型觸發器的電路結構、工作原理、時序特性、功能表、特征方程表達式,不同觸發器之間的相互轉換;
掌握:鐘控同步狀態機的模型圖,狀態機類型及基本分析方法和步驟,使用狀態圖表示狀態機狀態轉換關系;
掌握:時序狀態機的設計:狀態轉換過程的建立,狀態的化簡與編碼賦值、未用狀態的處理-最小風險方案和最小代價方案、使用狀態轉換表的設計方法、使用狀態圖的設計方法。
掌握:利用QuatusII文本法等(Verilog語言)對各種類型觸發器進行仿真,加深對各種類型觸發器功能作用的理解;學會用Verilog語言設計時序電路。理解:掃描觸發器(Scan Flip-Flop)特性及基本應用;
理解:組合邏輯電路和時序邏輯電路的基本概念;有限狀態機(Finite-State Machine)、時鐘觸發沿(Clock Tick)、占空比(Duty Cycle)的含義;基本雙穩態元件(Bistable Elements)的結構和亞穩態特性(Metastable Behavior);鎖存器(Latches)與觸發器(Flip-Flops)的區別;主從觸發器與邊沿結構觸發器的區別;觸發器的定時參數(Timing Parameters):建立時間和保持時間的概念;時序邏輯電路的分類; 了解:時序電路設計中的其他的設計方法。第八章 時序邏輯設計實踐(10學時)
掌握:利用基本的邏輯門、時序元件作為設計的基本元素完成規定的鐘控同步狀態機電路的設計任務:計數器、位移寄存器、序列檢測電路和序列發生器的設計;
掌握:利用基本的邏輯門和已有的中規模集成電路(MSI)時序功能器件作為設計的基本元素完成更為復雜的時序邏輯電路設計的方法。
掌握:利用QuatusII(MAX+plusII)文本法等(Verilog語言)進行時序電路基本功能單元仿真,加深對基本功能單元功能作用的理解;對教材中大型例題進行仿真分析,加強對大型綜合性設計的分析理解能力。
理解:開關消抖(Switch Debouncing)電路、總線保持電路(Bus Holder Circuit)原理;寄存器(register)和鎖存器(latch)的區別;計數器的分類;移位寄存器型計數器(Shift-Register Counters):環形計數器(Ring Counter)和扭環計數器(Twisted-Ring Counters)的電路結構工作原理及應用;修改成自啟動的方法;線性反饋移位寄存器(LFSR)計數器的特點、設計方法及應用;串/并轉換(Serial-to-Parallel Conversion)原理;迭代與時序電路(Iterative versus Sequential Circuits);
了解:時序電路文檔標準(Sequential-Circuit Documentation Standards);時序電路設計中的其他問題:大型時序電路的結構劃分,時鐘偏移(Clock Skew),異步輸入處理等。第十章 存儲器及其在數字邏輯系統實現中的運用(2學時)
了解:存儲器(ROM,SRAM)的基本工作原理和結構; 理解:存儲器在數字邏輯系統設計的硬件實現中的運用。第十一章 其他的實際問題(2學時)
了解:數字邏輯電路(組合電路和時序邏輯電路)設計的描述說明方法;
了解:數字邏輯系統設計的其他問題:數字邏輯設計中設計工具的作用、設計的可測試性問題、數字邏輯系統可靠性的問題、高速數字邏輯系統中信號傳輸的相關問題。
補充內容 模數轉換器、數模轉換器(ADC/DAC)原理及應用簡介(2學時)
理解:數字-模擬轉換器(Digit to Analog Convertor,DAC))的基本電路結構(R-2R結構的DAC),工作原理;
理解:模擬-數字轉換器(Analog to Digit Convertor,ADC)的基本電路結構(逐次逼近式的ADC),工作原理;
理解:模擬-數字轉換器、數字-模擬轉換器(ADC/DAC)在電子系統中的作用和應用,特別是在波形發生方面的運用。
(關于應達到要求的說明:“了解”:是指學生應能辨認的科學事實、概念、原則、術語,知道事物的分類、過程及變化傾向,包括必要的記憶;“理解”:是指學生能用自己的語言把學過的知識加以敘述、解釋、歸納,并能把某一事實或概念分解為若干部分,指出它們之間的內在聯系或與其他事物的相互關系;“掌握”:是指學生能根據不同情況對某些概念、定律、原理、方法等在正確理解的基礎上結合事例加以運用,包括分析和綜合。)
(二)自學內容和要求
1、學習使用PSPICE電路CAD工具,利用PSPICE仿真CMOS基本邏輯門的靜態特性和動態特性、了解電路結構和負載特性對邏輯門靜態特性和動態特性的影響。
2、學習使用QuatusII(MAX+plusII)等工具,利用QuatusII(MAX+plusII)等工具進行數字邏輯電路仿真的基本方法;進行基本組合電路基本功能單元,時序電路的基本功能單元進行仿真,加深對基本功能單元功能作用的理解;對教材中大型例題進行仿真分析,加強對大型綜合性設計的分析理解能力。
(三)實踐性教學環節和要求
實驗教學(12學時)
實驗目的:研究典型數字集成電路的功能及擴展方法;掌握其測試方法;根據實驗要求進行電路設計和測試。實驗內容:根據數字集成電路的特點,進行基本功能單元試驗,包括組合電路基本功能單元的實驗,時序電路的基本功能單元的實驗及數字電路綜合設計性設計試驗。實驗上機(課外)(16學時)
實驗目的:通過使用CAD設計工具 PSPICE、QuatusII(MAX+plusII)等對教材中相關例題的分析,加深對教材內容的理解,更好地掌握相關知識。實驗內容見自學內容和要求。
三、考核方式
本課程的考核方式為:平時考核10%:包括平時作業及隨堂考核成績;課程設計10%;中期考核20%;期末考核60%。
平時作業習題:基本采用教材習題,每章結束上交,批改后進行針對性講解,并給出參考解答;隨堂考核:每課一題,每次內容講解的課上布置,自備一頁紙完成,要求當堂完成上交,只檢查,不返回;課程設計:綜合性考查,組合電路和時序電路各進行一次,要求完成后上交;
四、建議教材及參考資料
教材:
數字設計—原理與實踐(第4版 影印版),John F.Wakerly,高等教育出版社
2007 參考資料:
1.數字邏輯設計及應用,姜書艷主編,清華大學出版社,2007
2.數字電子技術基礎(第5版),閻石主編,高等教育出版社,2007 3.數字設計—原理與實踐(第4版),John F.Wakerly,林生 等譯,機械工業出版社,2007 4.數字電路與系統(第2版),劉寶琴等編著,清華大學出版社,2007 相關學習網站:
http://125.71.228.222/wlxt/listcourse.asp?courseid=0170:電子科技大學/互動教學空間/網絡學堂/電子工程學院/數字邏輯設計及應用
www.tmdps.cn/onekey/:包含教材中的所有圖表、占教材中半數以上的部分習題解答 www.tmdps.cn: 部分習題解答
www.tmdps.cn/programs.univ:Xilinx的大學計劃,提供了大量的產品資料、課程資料以及用于數字設計實驗課程的芯片和插件
www.tmdps.cn/education/university:Aldec的教育計劃,提供了Aldec自己的軟件包和第三方的兼容工具以及原型系統。
第五篇:邏輯設計心得
序
很早之前就想對這幾個月工作經歷寫的東西,一是作為自己的總結,二是自己也很 想將自己這段時間的一些經歷和大家分享一下,希望對初學者而言能使得他們能少走一 些彎路。只是公司里的事情很多,最近經常加班,所以一直拖到現在。
能來到這家公司應該是一種緣份--緣起NIOS。當初三月份altera來我們學校建立SO PC實驗室的時候自己還不知道NIOS是什么東西,只是想在altera的FAE講完NIOS后多問他 幾個時序約束的問題,然后拷一份PPT回去。但是想不到因為那一份NIOS的培訓資料,我 認識了edacn上的cawan,他給我講了很多NIOS的東西,之后是丁哥在SOC版帖了位NIOS大 賽的通知,然后我和隊友就去報了名,并去川大參加了NIOS的培訓,認識了峻龍的FAE------o|> | | | / clk |--------|---------10)禁止用計數器分頻后的信號做其它模塊的時鐘,而要用改成時鐘使能的方式,否則這種時鐘滿天飛的方式對設計的可靠性極為不利,也大大增加了靜態時序分析的 復雜性。如FPGA的輸入時鐘是25M的,現在系統內部要通過RS232與PC通信,要以rs232_ 1xclk的速率發送數據。不要這樣做: always(posedge rs232_1xclk or negedge rst_n)begin...end 而要這樣做:
always(posedge clk_25m or negedge rst_n)begin...else if(rs232_1xclk == 1'b1)...end 11)狀態機要寫成3段式的(這是最標準的寫法),即...always @(posedge clk or negedge rst_n)...current_state <= next_state;...always @(current_state...)...case(current_state)...s1: if...next_state = s2;......always @(posedge clk or negedge rst_n)...else a <= 1'b0;c <= 1'b0;c <= 1'b0;//賦默認值 case(current_state)s1: a <= 1'b0;//由于上面賦了默認值,這里就不用再對b、c賦值了
s2: b <= 1'b1;s3: c <= 1'b1;default:......3.ALTERA參考設計準則
1)Ensure Clock, Preset, and Clear configurations are free of glitch es.2)Never use Clocks consisting of more than one level of combinatori al logic.3)Carefully calculate setup times and hold times for multi-Clock sy stems.4)Synchronize signals between flipflops in multi-Clock systems when the setup and hold time requirements cannot be met.5)Ensure that Preset and Clear signals do not contain race conditio ns.6)Ensure that no other internal race conditions exist.7)Register all glitch-sensitive outputs.Synchronize all asynchronous inputs.9)Never rely on delay chains for pin-to-pin or internal delays.10)Do not rely on Power-On Reset.Use a master Reset pin to clear al l flipflops.11)Remove any stuck states from state machines or synchronous logic.其它方面的規范一時沒有想到,想到了再寫,也歡迎大家補充。
如何提高電路工作頻率
對于設計者來說,我們當然希望我們設計的電路的工作頻率(在這里如無特別說明,工作頻率指FPGA片內的工作頻率)盡量高。我們也經常聽說用資源換速度,用流水的 方式可以提高工作頻率,這確實是一個很重要的方法,今天我想進一步去分析該如何提 高電路的工作頻率。
我們先來分析下是什么影響了電路的工作頻率。
我們電路的工作頻率主要與寄存器到寄存器之間的信號傳播時延及clock skew有關。在FPGA內部如果時鐘走長線的話,clock skew很小,基本上可以忽略, 在這里為了簡 單起見,我們只考慮信號的傳播時延的因素。
信號的傳播時延包括寄存器的開關時延、走線時延、經過組合邏輯的時延(這樣劃 分或許不是很準確,不過對分析問題來說應該是沒有可以的),要提高電路的工作頻率,我們就要在這三個時延中做文章,使其盡可能的小。
我們先來看開關時延,這個時延是由器件物理特性決定的,我們沒有辦法去改變,所以我們只能通過改變走線方式和減少組合邏輯的方法來提高工作頻率。1.通過改變走線的方式減少時延。
以altera的器件為例,我們在quartus里面的timing closure floorplan可以看到有 很多條條塊塊,我們可以將條條塊塊按行和按列分,每一個條塊代表1個LAB,每個LAB里 有8個或者是10個LE。它們的走線時延的關系如下:同一個LAB中(最快)< 同列或者同 行 < 不同行且不同列。
我們通過給綜合器加適當的約束(不可貪心,一般以加5%裕量較為合適,比如電路 工作在100Mhz,則加約束加到105Mhz就可以了,貪心效果反而不好,且極大增加綜合時 間)可以將相關的邏輯在布線時盡量布的靠近一點,從而減少走線的時延。(注:約束 的實現不完全是通過改進布局布線方式去提高工作頻率,還有其它的改進措施)2.通過減少組合邏輯的減少時延。
上面我們講了可以通過加約束來提高工作頻率,但是我們在做設計之初可萬萬不可 將提高工作頻率的美好愿望寄托在加約束上,我們要通過合理的設計去避免出現大的組 合邏輯,從而提高電路的工作頻率,這才能增強設計的可移植性,才可以使得我們的設 計在移植到另一同等速度級別的芯片時還能使用。
我們知道,目前大部分FPGA都基于4輸入LUT的,如果一個輸出對應的判斷條件大于 四輸入的話就要由多個LUT級聯才能完成,這樣就引入一級組合邏輯時延,我們要減少組 合邏輯,無非就是要輸入條件盡可能的少,這樣就可以級聯的LUT更少,從而減少了組 合邏輯引起的時延。
我們平時聽說的流水就是一種通過切割大的組合邏輯(在其中插入一級或多級D觸發 器,從而使寄存器與寄存器之間的組合邏輯減少)來提高工作頻率的方法。比如一個32 位的計數器,該計數器的進位鏈很長,必然會降低工作頻率,我們可以將其分割成4位和 8位的計數,每當4位的計數器計到15后觸發一次8位的計數器,這樣就實現了計數器的切 割,也提高了工作頻率。
在狀態機中,一般也要將大的計數器移到狀態機外,因為計數器這東西一般是經常 是大于4輸入的,如果再和其它條件一起做為狀態的跳變判據的話,必然會增加LUT的級 聯,從而增大組合邏輯。以一個6輸入的計數器為例,我們原希望當計數器計到111100后 狀態跳變,現在我們將計數器放到狀態機外,當計數器計到111011后產生個enable信號 去觸發狀態跳變,這樣就將組合邏輯減少了。
上面說的都是可以通過流水的方式切割組合邏輯的情況,但是有些情況下我們是很 難去切割組合邏輯的,在這些情況下我們又該怎么做呢?
狀態機就是這么一個例子,我們不能通過往狀態譯碼組合邏輯中加入流水。如果我 們的設計中有一個幾十個狀態的狀態機,它的狀態譯碼邏輯將非常之巨大,毫無疑問,這極有可能是設計中的關鍵路徑。那我們該怎么做呢?還是老思路,減少組合邏輯。我 們可以對狀態的輸出進行分析,對它們進行重新分類,并根據這個重新定義成一組組小 狀態機,通過對輸入進行選擇(case語句)并去觸發相應的小狀態機,從而實現了將大的 狀態機切割成小的狀態機。在ATA6的規范中(硬盤的標準),輸入的命令大概有20十種,每一個命令又對應很多種狀態,如果用一個大的狀態機(狀態套狀態)去做那是不可 想象的,我們可以通過case語句去對命令進行譯碼,并觸發相應的狀態機,這樣做下來 這一個模塊的頻率就可以跑得比較高了。
總結:提高工作頻率的本質就是要減少寄存器到寄存器的時延,最有效的方法就是 避免出現大的組合邏輯,也就是要盡量去滿足四輸入的條件,減少LUT級聯的數量。我們 可以通過加約束、流水、切割狀態的方法提高工作頻率。