串行信號發生器設計 (2)課件_第1頁
串行信號發生器設計 (2)課件_第2頁
串行信號發生器設計 (2)課件_第3頁
串行信號發生器設計 (2)課件_第4頁
串行信號發生器設計 (2)課件_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

有符號數的+、-運算寄存器堆的設計自命題(序列檢測器設計)任務(二)設計一個簡單ALU單元。要求:1.輸入按鍵0—9(或用10個開關代替數字0—9)。2.用數碼管(或發光二極管)顯示結果數值。模塊接口信號名信號方向描述A[31:0]輸入ALU第一個數據輸入端B[31:0]輸入ALU第二個數據輸入端Ctrl[4:0]輸入ALU運算功能編碼C[31:0]輸出ALU運算結果

Zero輸出運算結果0標志

Overflow輸出運算結果溢出標志(只在進行有符號數運算才有意義)Compare輸出比較運算的結果

編號

功能名稱Ctrl編碼運算功能1無操作00000C=B2‘無符號加’運算00001C=A+B3‘有符號加’運算00010C=A+B4‘減’運算00011C=A-B5‘有符號減’運算00100C=A-B編號

功能名稱Ctrl編碼運算功能6‘與’運算00101C=A&B7‘或’運算00110C=A|B8‘或非’運算00111C=~(A|B)9‘異或’運算01000C=A^B10‘小于置位’運算01001C=(A<B)?1:011‘有符號小于置位’運算01010C=(A<B)?1:012小于001011Compare=(A<0)?1:013小于等于001100Compare=(A≤0)?1:014大于001101Compare=(A>0)?1:015大于等于001110Compare=(A≥0)?1:016等于01111Compare=(A=B)?1:017不等10000Compare=(A≠B)?1:0功能定義開始C=A+BA、B都是正數?和的最高位=1?置溢出標志和的最高位清零A、B都是負數?和的最高位=0?置溢出標志和的最高位置1YYYYNNNN2.流程圖:moduleALU(A,B,C,ctl,zero,over,cmp);input[3:0]A,B;input[4:0]ctl;output[3:0]C;outputzero,over,cmp;reg[3:0]C;regcmp,over;assignzero=(C==4'b0000)?1:0;always@(ctlorAorB)case(ctl)5'd00:C=B;5'd01:C=A+B;5‘d02:C<=A+B;//有符號5'd03:C=A-B;5‘d04:C=A-B;//有符號5'd05:C=A&B;5'd06:C=A|B;5'd07:C=~(A|B);5'd08:C=A^B;5'd09:beginif(A<B)C=1;elseC=0;end5‘d10:beginif(A<B)C=1;elseC=0;end//有符號5'd11:beginif(A<0)cmp=1;elsecmp=0;end5'd12:beginif(A<=0)cmp=1;elsecmp=0;end5'd13:beginif(A>0)cmp=1;elsecmp=0;end5'd14:beginif(A>=0)cmp=1;elsecmp=0;end5'd15:beginif(A==B)cmp=1;elsecmp=0;end5'd16:beginif(A!=B)cmp=1;elsecmp=0;endendcaseendmodule5'd02:beginC<=A+B;if(!(A[3]^B[3])&&!A[3]) if(C[3])beginover<=1;C[3]<=0;end

elseover<=0;else

if(!(A[3]^B[3])&&A[3]) if(!C[3])beginover<=1;C[3]<=1;end

elseover<=0;

end//3.原程序:任務(二)設計寄存器堆。要求:完成對4個不同數據、不同地址的讀寫操作。模塊接口信號定義信號名信號方向描述Clk輸入MIPS-C處理器時鐘Reset輸入復位信號RS1[4:0]輸入讀寄存器文件時的第1個寄存器下標RS2[4:0]輸入讀寄存器文件時的第2個寄存器下標RD[4:0]輸入寫寄存器文件時的寄存器下標RegWrite輸入寄存器文件寫使能RData1[31:0]輸出

讀寄存器文件時的第1個寄存器的輸出RData2[31:0]輸出讀寄存器文件時的第2個寄存器的輸出WData[31:0]輸出?寄存器文件寫入數據功能定義編號功能名稱功能描述1讀寄存器RData1輸出RS1[4:0]所尋址的寄存器;RData2輸出RS2[4:0]所尋址的寄存器。2寫寄存器當時鐘上升沿到來時,并且RegWrite有效時,WData被寫入RD[4:0]所尋址的寄存器自命題(序列檢測器設計)clkxy序列檢測器設計一個學號序列檢測器,檢測學號的低6位構成的8421碼序列。檢測器模塊模型:信號發生器說明:clk同步時鐘;x串行信號輸入;y序列檢測成功指示信號。串行信號發生器設計能接收掃描鍵盤的數字信息鍵盤信息可顯示在掃描顯示器上按輸入信息的最后四位BCD碼作為串行信號發生器的輸入數據,并作串行輸出設計過程鍵值輸入(JZin

):八位鍵掃描信號(Jscan

):一位,輸出顯示輸出(XSout

):八位顯示掃描信號(XSscan

):三位,輸出串行信號輸出(CXXH

):一位工作時鐘(CLK):一位,輸入串行同步時鐘(synCLK

):一位,輸出第一步:確定引腳的位寬、名稱和輸入輸出極性。(依據:功能要求)8JZinJscan8XSout3XSscanCXXHCLKsynCLKCXXHFSQ設計過程第三步:模塊設計:時鐘模塊CLKsynCLKnJZCLKXSCLKCLKFPQ問題:各時鐘的頻率(速度)不知道?設計過程第三步:模塊設計:串行信號發生器模塊CXXHsynCLK43BCDinXCDZsynCLKnCXFSQ鍵盤硬件電路CBAY0Y7KB0KB1KB2RL0RL1RL2RL3RL4RL5RL6RL7實驗箱上提供的接口鍵值識別模塊流程開始Y置第一次標志存鍵值和掃描狀態N鍵值≠hff?Y清第一次標志轉換鍵值為BCD碼置鍵值有效標志第一次標志有效且掃描狀態相等?N清鍵值有效標志設計過程第三步:模塊設計:掃描顯示模塊XSoutXSscan83XSCLK4BCDinSMXSyxj引腳說明:CXXHsynCLK設計過程第三步(1):掃描顯示模塊的再設計XSoutXSscan83XSCLK4BCDin4BCDoutXCDZ3SMXSXSmem顯存7段譯碼器XSout8多路選擇器43地址發生器XSCLKXSscanXCDZBCDoutBCDin?問題:多個地址訪問,存儲器的內容會變嗎?顯示應至少兩種模式

溫馨提示

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

最新文檔

評論

0/150

提交評論