數(shù)字電路與邏輯設計 課件 9-時序邏輯電路3_第1頁
數(shù)字電路與邏輯設計 課件 9-時序邏輯電路3_第2頁
數(shù)字電路與邏輯設計 課件 9-時序邏輯電路3_第3頁
數(shù)字電路與邏輯設計 課件 9-時序邏輯電路3_第4頁
數(shù)字電路與邏輯設計 課件 9-時序邏輯電路3_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

時序邏輯電路3片上微控制系統(tǒng)原理與項目設計第九講授課內容觸發(fā)器寄存器同步時序電路分析同步時序電路設計計數(shù)器上節(jié)課——寄存器存儲信息1bit:DFFMbits:采用多個D觸發(fā)器保存一組二進制信息的電路稱為寄存器,也稱為數(shù)據(jù)寄存器。上節(jié)課——移位寄存器若干個D觸發(fā)器級聯(lián)構成的D觸發(fā)器組稱為移位寄存器。數(shù)據(jù)從S輸入,每個時鐘節(jié)拍接收一位保存在D觸發(fā)器內。moduleShiftRegm(CP,S,Q);inputCP,S;outputreg[m-1:0]Q;always@(posedgeCP)Q<={Q[m-2:0],S};endmodule同步時序電路的分析將電路轉換為狀態(tài)圖,并指出功能,稱為對電路進行分析。電路的分析不僅有助于更好地理解時序電路設計,而且還可用于了解以前設計的電路的行為,由別的設計人員創(chuàng)建的電路檢查我們設計的電路是否具有正確的行為觸發(fā)器描述的電路同步時序電路的分析過程一般按以下步驟進行:①根據(jù)邏輯圖求出時序電路的輸出方程和各觸發(fā)器的激勵方程;②根據(jù)已求出的激勵方程和所用觸發(fā)器的特征方程獲得時序電路的狀態(tài)方程;③根據(jù)時序電路的狀態(tài)方程和輸出方程建立狀態(tài)表;④根據(jù)狀態(tài)表畫出狀態(tài)圖;⑤確定初始狀態(tài)和輸入波形,根據(jù)狀態(tài)表畫出波形圖;⑥分析電路的邏輯功能。【例】有三個LED控制電路圖如圖所示,分析該同步時序電路的邏輯功能。①激勵方程②狀態(tài)方程⑥邏輯功能分析

③列出狀態(tài)表④列出狀態(tài)圖⑤畫波形圖三個LED輪流發(fā)光,發(fā)光周期為3T,這種輪流點亮的燈也稱為跑馬燈。脈沖分配器。具有自啟動能力。HDL描述的電路同步時序電路的分析過程一般按以下步驟進行:①根據(jù)語句找出時序電路的輸入、輸出和狀態(tài);②分析語句的含義,初步給出部分功能;③列出狀態(tài)圖或狀態(tài)表;④分析電路的邏輯功能。【例】控制電路的HDL代碼如下,分析該邏輯電路的功能。moduleLedCtrl(CP,Z);inputCP;outputreg[2:0]Z;reg[1:0]Q;always@(posedgeCP)Q<=Q+1;always@(Q) case(Q)2'b00:Z<=3'b110;2'b01,2'b11:Z<=3'b101;2'b10:Z<=3'b011;endmodule①確定輸入、輸出和狀態(tài)。CP上升沿有效,Z為3位輸出,Q為二位狀態(tài)量,最多4個狀態(tài)。②語句分析

③狀態(tài)圖課堂練習試分析下列電路clkStateregisteryzFSMoutputsFSMinputsn0n1s0s1x同步時序電路的設計狀態(tài)圖是同步時序電路設計的前提。(1)采用D觸發(fā)器設計邏輯電路時①根據(jù)狀態(tài)圖畫出狀態(tài)表,同時對無關狀態(tài)進行處理以保證系統(tǒng)的自啟動性;②根據(jù)狀態(tài)表列出狀態(tài)方程和輸出方程的最小項表達式,邏輯變量為X和Q的組合;③列出激勵方程,并畫出邏輯電路圖。(2)采用HDL描述時①根據(jù)狀態(tài)圖畫出狀態(tài)表,同時對無關狀態(tài)進行處理以保證系統(tǒng)的自啟動性;

②直接采用always和case/if語句直接對狀態(tài)和輸出進行賦值。外科醫(yī)生通過按下按鈕激活激光。假設激光應該保持正好30ns。假設系統(tǒng)的時鐘周期為10ns,因此3個時鐘周期持續(xù)30ns。假設按鈕中的b與時鐘同步,并在正好1個時鐘周期內保持高電平。?如何實現(xiàn)?

試試使用3個DFF?Controllerxbclklaserpatient這個系統(tǒng)不夠好!為什么?如果外科醫(yī)生在三個周期之內第二次按下按鈕會發(fā)生什么?可能導致激光停留時間過長。狀態(tài)圖定義狀態(tài)和狀態(tài)之間的轉換示例:讓x在每個時鐘周期更改其切換(0到1和1到0)兩種狀態(tài):“關閉”(x=0)和“打開”(x=1)在時鐘上升沿從關閉轉換到開,或從開轉換到關沒有起始狀態(tài)的箭頭指向初始狀態(tài)(電路首次啟動時)Output:xOnOffx=0x=1clk^clk^狀態(tài)圖的例子——0111序列發(fā)生器生成

0,1,1,1,0,1,1,1,...序列每個值代表一個時鐘周期將其描述為狀態(tài)圖四種狀態(tài):關閉、打開1、打開2和打開3時鐘上升沿過渡到下一個狀態(tài)OffOffOn1On1On2On2On3On3OffclkxStateOutputs:Outputs:xOn1OffOn2On3clk^clk^clk^x=1x=1x=0x=1clk^四個狀態(tài)

在b為0(b')時處于“關閉”狀態(tài)等待

輸出x=0

當b為1(和上升時鐘邊沿)時,轉換到On1 輸出x=1

在接下來的兩個時鐘邊沿,過渡到On2,然后過渡到On3,這也設置x=1On2On1On3Offclk^clk^x=1x=1x=1x=0clk^b’*clk^b*clk^Input:b;Output:xOn2On1On3Offx=1x=1x=1x=0b’clk^clk^^clk*clk^*clk^bInputs:b;Outputs:xOn2On1On3Offx=1x=1x=1x=0b’bInput:b;Output:x練習【例】某邏輯電路的狀態(tài)轉移如圖,試采用D觸發(fā)器和HDL等兩種方式描述電路。采用D觸發(fā)器描述①列出狀態(tài)表②列狀態(tài)方程③列激勵方程,并畫出邏輯電路采用HDL描述①列出狀態(tài)表②HDL描述為moduleT4_5_3(CP,Q);inputCP;outputreg[2:0]Q;always@(posedgeCP)case(Q)3'b000:Q<=3'b001;3'b001:Q<=3'b011;3'b011:Q<=3'b101;3'b101:Q<=3'b110;default:Q<=3'b000;//無關項強制轉移到0000endcaseendmodulemoduletest;regCP;wire[2:0]Q;T4_5_3T_4_5_3a(.CP(CP),.Q(Q));

溫馨提示

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

評論

0/150

提交評論