版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第六講8位CPU分析與設(shè)計6.1CPU組成結(jié)構(gòu)6.2RichardCPU分析6.3CPU設(shè)計方法6.4指令系統(tǒng)設(shè)計6.5CPU設(shè)計思路6.6CPU功能模塊設(shè)計6.1CPU組成結(jié)構(gòu)按照馮?諾依曼計算機(jī)的劃分方式,運(yùn)算部件和與運(yùn)算有關(guān)的寄存器屬于運(yùn)算器,而與程序執(zhí)行有關(guān)的寄存器、微命令產(chǎn)生部件及時序系統(tǒng)等則屬于控制器部分。CPU主要由控制部件和運(yùn)算部件兩部分構(gòu)成。CPU的主要功能單元通過內(nèi)部總線建立CPU內(nèi)部的信號傳送通路,實(shí)現(xiàn)信息交換。
6.1.1控制部件控制器主要由以下幾部分組成:
指令部件
時序部件
微操作序列形成部件
中斷控制邏輯等輔助電路6.1.1控制部件控制器分為硬布線控制器和微程序控制器兩種基本類型。硬布線控制器將控制部件看做產(chǎn)生專門固定時序控制信號的邏輯電路,以使用最少的元件和取得最高操作速度作為設(shè)計目標(biāo)。缺點(diǎn):設(shè)計不規(guī)整,并且不易修改或擴(kuò)展。微程序控制器將機(jī)器指令的操作(從取指令到執(zhí)行)分解為若干更基本的微操作序列,并將有關(guān)的控制信息(微命令)以微碼形式編成微指令輸入控制存儲器中。優(yōu)點(diǎn):設(shè)計規(guī)則,方便修改及功能擴(kuò)展。6.1.2運(yùn)算部件運(yùn)算部件是計算機(jī)中對數(shù)據(jù)進(jìn)行加工處理的主要場所,其最重要的功能是執(zhí)行算術(shù)和邏輯運(yùn)算。運(yùn)算器的性能直接決定計算機(jī)的處理能力,而運(yùn)算器的設(shè)計與數(shù)據(jù)在計算機(jī)內(nèi)的表示、存儲方式、完成運(yùn)算所用的算法及實(shí)現(xiàn)算法所用的邏輯電路都有密切關(guān)聯(lián)。6.1.2運(yùn)算部件運(yùn)算部件主要由輸入邏輯、算術(shù)/邏輯運(yùn)算單元及輸出邏輯等三部分組成。輸入邏輯對輸入到算術(shù)/邏輯運(yùn)算單元的操作數(shù)進(jìn)行選擇算術(shù)/邏輯運(yùn)算單元運(yùn)算部件的核心,完成具體的算術(shù)、邏輯運(yùn)算操作。輸出邏輯將算術(shù)/邏輯運(yùn)算單元的運(yùn)算結(jié)果經(jīng)直傳、左移、右移或者字節(jié)交換后送入相應(yīng)的寄存器。6.1.3寄存器組在復(fù)雜指令集計算機(jī)系統(tǒng)中一般有5種類型的寄存器:指令寄存器程序計數(shù)器存儲器數(shù)據(jù)緩沖寄存器(MemoryBufferRegister,MBR)存儲器地址寄存器(MemoryAddressRegister,MAR)程序狀態(tài)字寄存器(ProgramStatusWord,PSW)1.CPU包括哪些部件控制器運(yùn)算器寄存器數(shù)據(jù)通路ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕CPU設(shè)計實(shí)例CPU設(shè)計實(shí)例2.這個CPU需要多長時間完成設(shè)計6個月12個月18個月20個月以上ABCD提交投票最多可選1項(xiàng)CPU設(shè)計實(shí)例BMOW(BigMessofWires)6.2RichardCPU分析美國華盛頓大學(xué)WilliamD.Richard采用VHDL語言設(shè)計的16位CPU,僅有200行代碼。IREG:指令寄存器(InstructionRegister)PC:程序計數(shù)器(ProgramCounter)IAR:間接地址寄存器(IndirectAddressRegister)ALU:算術(shù)邏輯單元
(ArithmeticLogicUnit)ACC:累加器(Accumulator)6.2RichardCPU分析6.2.1指令集設(shè)計分析代碼指令說明運(yùn)算方法0000halt暫停(haltexecution)0001negate反相(negation)ACC:=-ACC1xxxload立即載入
(immediateload)ifsignbitofxxxis0then
ACC:=0xxxelseACC:=fxxx2xxxdload直接載入(directload)ACC:=M[0xxx]3xxxiload間接載入(indirectload)ACC:=M[M[0xxx]]4xxxdstore直接存儲
(directstore)M[0xxx]:=ACC5xxxistore間接存儲
(indirectstore)M[M[0xxx]]:=ACC6xxxbr分枝(branch)PC:=0xxx7xxxbrZero零分枝(branchifzero)ifACC=0thenPC:=0xxx8xxxbrPos正分枝(branchifpositive)ifACC>0thenPC:=0xxx9xxxbrNeg負(fù)分枝(branchifnegative)ifACC<0thenPC:=0xxxaxxxadd加法ACC:=ACC+M[0xxx]
6.2.2指令編碼分析halt與negate沒有運(yùn)算參數(shù),編碼為0000H和0001H。指令編碼 IR(15..12):運(yùn)算碼 IR(11..0):運(yùn)算元四種指令類型載入指令(load,dload,iload)存儲指令(dstore,istore)分支指令(br,brZero,brZero,brPos,brNeg)
運(yùn)算指令,加法運(yùn)算(add)陳鍾誠
-2024/12/266.2.3設(shè)計思路采用Mealy狀態(tài)機(jī)設(shè)計方式輸出由當(dāng)前狀態(tài)state與輸入信號t0-t7決定。CPU基本狀態(tài)
標(biāo)準(zhǔn)狀態(tài):reset,fetch,halt指令狀態(tài):negate,mload,dload,iload,dstore,istore,brahch,brZero,brPos,brNeg,add等。17陳鍾誠
-2024/12/26typestate_typeis( reset_state,fetch,halt,negate,mload,dload,iload, dstore,istore,branch,brZero,brPos,brNeg,add);signalstate:state_type;typetick_typeis(t0,t1,t2,t3,t4,t5,t6,t7);signaltick:tick_type;6.2.4指令周期分析istore--M[M[0xxx]]:=ACC①IR(11..0)([0xxx])地址總線②數(shù)據(jù)總線(M[0xxx])
IAR③清除地址線④IAR
地址總線⑤ACC
數(shù)據(jù)總線⑥使能存儲器寫操作⑦等待完成寫操作⑧清除地址總線、數(shù)據(jù)總線三態(tài)6.2.5時鐘節(jié)拍產(chǎn)生指令執(zhí)行最多包含8個CPU周期,每一個CPU周期為一個節(jié)拍:t0t1…t7。6.2.6指令譯碼器設(shè)計陳鍾誠
-2024/12/26 proceduredecodeisbegin --Instructiondecoding. caseiReg(15downto12)is whenx"0"=> ifiReg(11downto0)=x"000"then state<=halt;
elsif
iReg(11downto0)=x"001"then state<=negate; endif; whenx"1"=> state<=mload; whenx"2"=> state<=dload; whenx"3"=> state<=iload; whenx"4"=> state<=dstore; whenx"5"=> state<=istore; whenx"6"=> state<=branch; whenx"7"=> state<=brZero; whenx"8"=> state<=brPos; whenx"9"=> state<=brNeg; whenx"a"=> state<=add; whenothers=>state<=halt; endcase; endproceduredecode;6.2.7微控制器設(shè)計微控制器將每條指令分解為若干條微操作。為了提高執(zhí)行效率,在時鐘上升和下降邊沿都有執(zhí)行動作。(1)Fetch指令分析(2)Dload指令分析(3)仿真波形6.2.8RAM設(shè)計為了簡化設(shè)計,在RAM中存放測試程序代碼。3.RichardCPU采用的設(shè)計方式是Mealy狀態(tài)機(jī)Moore狀態(tài)機(jī)哈佛結(jié)構(gòu)自頂向下設(shè)計ABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.3CPU設(shè)計方法①CPU基本結(jié)構(gòu)②指令集設(shè)計(功能設(shè)計)③指令編碼設(shè)計④整體設(shè)計思路⑤確定指令周期⑥CPU功能模塊設(shè)計⑦CPU模塊聯(lián)合調(diào)試測試8位CPU結(jié)構(gòu)哈佛結(jié)構(gòu)RAM:128ByteROM:4KB6.4指令集設(shè)計四種類型指令傳送類型指令邏輯運(yùn)算指令算術(shù)運(yùn)算指令調(diào)用及轉(zhuǎn)移指令6.4指令集設(shè)計四種類型指令,27條指令傳送類型指令(7條指令)邏輯運(yùn)算指令(5條指令)算術(shù)運(yùn)算指令(7條指令)調(diào)用及跳轉(zhuǎn)指令(8條指令)指令尋址方式立即尋址直接尋址寄存器直接尋址操作碼操作數(shù)指令的操作種類所用操作數(shù)數(shù)據(jù)類型操作數(shù)地址地址附加信息尋址方式6.4.1指令組成6.4.2指令編碼操作碼優(yōu)化編碼的方法有三種:定長編碼、哈夫曼編碼和擴(kuò)展編碼。定長編碼:是指所有指令的操作碼長度都是相等的。如果有n個需要編碼的操作碼,定長操作碼的位數(shù)最少需要log2n位。哈夫曼編碼:哈夫曼方法構(gòu)造哈夫曼樹進(jìn)行編碼。
擴(kuò)展編碼:繼承了哈夫曼思想,限制了操作碼長度為有限個數(shù)。6.4.3指令集設(shè)計端口操作6.4.3指令集設(shè)計6.4.3指令集設(shè)計6.4.3指令集設(shè)計6.4.5指令編碼設(shè)計傳送類指令0016.4.5指令編碼設(shè)計邏輯運(yùn)算指令0106.4.5指令編碼設(shè)計算術(shù)運(yùn)算指令0116.4.5指令編碼設(shè)計跳轉(zhuǎn)及調(diào)用指令1004.本課程所設(shè)計的CPU包含多少條指令20252736ABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.5CPU設(shè)計思路模塊化設(shè)計方法(分析模塊功能、模塊間信號傳遞)時鐘控制信號微程序控制方式6.5.1指令周期確定調(diào)用指令實(shí)現(xiàn)過程CALLAddr[11..0];
指令編碼為10011000,即98H取指操作
IR使能,指令通過總線傳送到IR,PC+1。LDIR1;M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器使能,IR送入指令,生成下一條微程序地址。M_uROMIR-->Microcontrol;addr[7:0]->CM[47:0]調(diào)用指令實(shí)現(xiàn)過程CALLAddr12;
指令編碼為10011000,即98H取操作數(shù)操作
IR使能,指令通過總線傳送到IR,PC+1。M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器生成下一條微程序地址。將IR接收到的地址賦給PC高4位。LDIR2;M_uROMCMROM_CSIR-->PC[11..8];addr[7:0]->CM[47:0]112調(diào)用指令實(shí)現(xiàn)過程CALLAddr12;
指令編碼為10011000,即98H取操作數(shù)操作
IR使能,指令通過總線傳送到IR,PC+1。M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器生成下一條微程序地址。將IR接收到的地址賦給PC低8位。LDIR3;M_uROMCMROM_CSIR-->PC[7..0];addr[7:0]->CM[47:0]334調(diào)用指令實(shí)現(xiàn)過程微操作控制信號功能說明SP-->AR/SP_EN/RAM_ENSP使能,將SP指針地址送到地址寄存器,使能RAMPC[11..8]-->BUSSP+1-->SP/PCH;M_SP_UPPC高8位送到SPSP指針加1SP-->ARPC[7..0]-->BUS/SP_EN/RAM_EN/PCL;SP使能,將SP地址送到地址寄存器,使能RAM。PC高8位送到SPSP+1-->SPPC-->addr12M_SP_UP;/LD_PCSP指針加1PC指向新的地址指令執(zhí)行
67586.5.2指令周期確定定長指令周期(8個CPU周期)6.6CPU功能模塊設(shè)計2443時鐘模塊156791086.6.1時鐘節(jié)拍設(shè)計8個時鐘節(jié)拍?4個時鐘節(jié)拍一個節(jié)拍包含2個時鐘周期時鐘上升沿或下降沿觸發(fā)時鐘模塊仿真結(jié)果時鐘模塊仿真結(jié)果時鐘模塊仿真結(jié)果時鐘模塊仿真結(jié)果5.所設(shè)計的指令集的指令周期是多少時鐘周期481216ABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕指令中的數(shù)據(jù)通路PC程序計數(shù)器只讀存儲器ROM指令寄存器ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作6.6.2PC程序計數(shù)器設(shè)計PC功能分析加1功能更新地址功能PC數(shù)值送到數(shù)據(jù)總線跳轉(zhuǎn)指令:JMP,JZ,JC調(diào)用函數(shù)指令:CALL計數(shù)器、鎖存器(1)PC端口信號分析(2)PC功能實(shí)現(xiàn)分析全局異步復(fù)位功能
ADDR<=“000000000000”;數(shù)據(jù)總線高阻態(tài);加1功能
clk_PC上升沿有效;M_PC高電平有效,PC+1ADDR;
clk_PC=nclk2;(2)PC功能實(shí)現(xiàn)分析地址更新功能clk_PC上升沿有效,nLD_PC低電平有效新的PCADDRPC數(shù)值送到數(shù)據(jù)總線
clk_PC上升沿有效,nPCH和nPCL低電平有效,注意分兩次輸出到總線上,先高8位后低8位。
6.什么指令會使PC值傳送到數(shù)據(jù)總線ADDJMPJNZCALLABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.6.3程序存儲器ROM設(shè)計clk_ROM=clk2&nclk16.6.4指令存儲器IR設(shè)計IR功能分析傳送指令編碼到微控制器生成PC的新地址生成RAM的讀寫地址IR不作譯碼操作,僅暫存數(shù)據(jù)。(1)IR端口定義clk_IR=nclk2(2)IR功能實(shí)現(xiàn)分析傳送指令編碼到微控制器
clk_IR上升沿有效,LD_IR1高電平有效
dataIR。寄存器地址操作Data[0]RSData[1]RD(2)IR功能實(shí)現(xiàn)分析生成PC的新地址
clk_IR上升沿有效,LD_IR2高電平有效,data[3..0]PC[11..8];
clk_IR上升沿有效,LD_IR3高電平有效,data[7..0]PC[7..0]。生成RAM的讀寫地址
clk_IR上升沿有效,LD_IR3高電平有效data[7..0]PC[7..0];
nARen低電平有效,PC[6..0]AR[6..0]。7.生成PC新地址為何需要分兩個時鐘周期完成PC地址為12位,數(shù)據(jù)總線為8位PC地址為16位,數(shù)據(jù)總線為8位PC地址為12位,數(shù)據(jù)總線為6位PC地址為10位,數(shù)據(jù)總線為8位ABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕功能模塊設(shè)計順序寄存器ALURAMSPIO端口微控制器8.本課程設(shè)計的CPU的存儲器的容量是4KBROM256BRAM128BRAM2KBROMABCD提交16KBROME多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.6.5寄存器RN設(shè)計RN功能分析數(shù)據(jù)鎖存功能讀寫功能clk_RN=nclk2D觸發(fā)器RN功能實(shí)現(xiàn)分析(1)復(fù)位功能:所有寄存器初始化為0。(2)讀寄存器功能:clk_RN上升沿有效,Ri_CS片選信號高電平有效,nRi_EN低電平有效,讀信號RDRi高電平有效,將源寄存器選擇信號RS對應(yīng)的寄存器存放的數(shù)據(jù)讀出到數(shù)據(jù)總線。(3)寫寄存器功能:當(dāng)clk_RN上升沿有效,Ri_CS片選信號高電平有效,寫信號WRRi高電平有效,將數(shù)據(jù)總線上的數(shù)據(jù)寫入到目的寄存器選擇信號RD對應(yīng)的寄存器。6.6.6ALU模塊設(shè)計ALU功能與結(jié)構(gòu)ALU設(shè)計方法8位ALU設(shè)計6.6.6.1ALU功能與結(jié)構(gòu)算術(shù)邏輯單元(ALU)執(zhí)行各種算術(shù)和邏輯運(yùn)算算術(shù)運(yùn)算操作加、減、乘、除邏輯運(yùn)算操作與、或、非、異或計算機(jī)CPUALU6.6.6.1ALU功能與結(jié)構(gòu)ALU(算術(shù)運(yùn)算、邏輯運(yùn)算)輸入輸出6.6.6.1ALU功能與結(jié)構(gòu)ALU輸入操作數(shù)以及來自控制單元的控制命令A(yù)LU輸出運(yùn)算結(jié)果,以及狀態(tài)信息ADDR0,R1;ALU(算術(shù)運(yùn)算、邏輯運(yùn)算)輸入輸出6.6.6.2ALU設(shè)計方法設(shè)計要求確定ALU功能確定指令操作ALU設(shè)計實(shí)現(xiàn)124指令執(zhí)行分析5ALU結(jié)構(gòu)選擇39.ALU輸出包括哪些內(nèi)容?運(yùn)算結(jié)果寄存器數(shù)據(jù)狀態(tài)信息控制信號ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕(1)確定ALU功能
算術(shù)運(yùn)算:加減運(yùn)算不帶進(jìn)位加法運(yùn)算不帶進(jìn)位減法運(yùn)算帶進(jìn)位加法運(yùn)算帶進(jìn)位減法運(yùn)算邏輯運(yùn)算基本邏輯運(yùn)算混合邏輯運(yùn)算(2)確定指令操作ALU功能必須支持指令集中所有的算術(shù)運(yùn)算和邏輯運(yùn)算類型指令。系統(tǒng)可擴(kuò)展性。ADDCR0,R1;ALU功能指令集算術(shù)邏輯運(yùn)算指令A(yù)LU功能算術(shù)邏輯運(yùn)算指令(2)確定指令操作算術(shù)運(yùn)算指令
(2)確定指令操作邏輯運(yùn)算指令(3)ALU結(jié)構(gòu)選擇
根據(jù)運(yùn)算器內(nèi)部總線與構(gòu)成運(yùn)算器的基本部件的連接情況運(yùn)算器分為3種基本結(jié)構(gòu):單總線結(jié)構(gòu)雙總線結(jié)構(gòu)三總線結(jié)構(gòu)單總線結(jié)構(gòu)所有部件都接到同一總線上,數(shù)據(jù)可以在任何兩個寄存器之間,或者在任一個寄存器和ALU之間傳送。在同一時間內(nèi),只能有一個操作數(shù)放在總線上進(jìn)行傳輸。單總線結(jié)構(gòu)需要分兩次才能將兩個操作數(shù)輸入到ALU,并且需要A、B兩個緩沖寄存器。優(yōu)點(diǎn):控制電路比較簡單。缺點(diǎn):操作速度較慢。雙總線結(jié)構(gòu)兩個操作數(shù)同時加到ALU進(jìn)行運(yùn)算,只需一次操作控制,可得到運(yùn)算結(jié)果。ALU的輸出不能直接加到總線上去。必須在ALU輸出端設(shè)置緩沖寄存器。兩條總線都被輸入數(shù)據(jù)占據(jù)雙總線結(jié)構(gòu)操作的控制要分兩步完成:(1)在ALU的兩個輸入端輸入操作數(shù),形成結(jié)果并送入緩沖寄存器;(2)暫存器將結(jié)果送入目的寄存器。暫存器暫存器三總線結(jié)構(gòu)ALU兩個輸入端分別連接兩條總線,ALU的輸出與第三條總線相連。附加直接傳送功能,當(dāng)一個操作數(shù)不需要修改,可通過總線開關(guān)將數(shù)據(jù)從輸入總線直接傳送到輸出總線。特點(diǎn)是操作時間快。缺點(diǎn)是結(jié)構(gòu)復(fù)雜。(4)指令執(zhí)行分析ADDR0,R1;兩個控制信號不能同時有效。暫存器A控制信號暫存器B控制信號AB(3)指令執(zhí)行分析ADDR0,R1;在時鐘上升沿有效,暫存器A控制信號有效,R0
總線暫存器A
。暫存器A控制信號有效AB(4)指令執(zhí)行分析ADDR0,R1;在下一個時鐘上升沿有效的時候,暫存器B控制信號有效,R1
總線暫存器B。暫存器B控制信號有效AB兩個控制信號在不同的時鐘節(jié)拍內(nèi)有效,實(shí)現(xiàn)暫存器的控制選擇。(4)指令執(zhí)行分析ADDR0,R1;暫存器A控制信號暫存器B控制信號運(yùn)算類型選擇信號操作選擇信號進(jìn)位輸入信號AB10.ALU單總線結(jié)構(gòu)的特點(diǎn)是所有部件連接到同一條總線在同一時間內(nèi),只能有一個操作數(shù)放在總線上進(jìn)行傳輸。需要A、B兩個緩沖寄存器ALU的輸出不能直接加到總線上去。ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕(5)ALU設(shè)計實(shí)現(xiàn)基于器件電路的ALU設(shè)計基于硬件描述語言的ALU設(shè)計FPGA驗(yàn)證6.6.6.38位ALU設(shè)計基于器件的8位ALU設(shè)計基于VHDL的8位ALU設(shè)計(1)基于器件的8位ALU設(shè)計8位D觸發(fā)器742734位算術(shù)邏輯運(yùn)算部件74181(1)基于器件的8位ALU設(shè)計暫存器設(shè)計算術(shù)邏輯運(yùn)算部件設(shè)計暫存器電路實(shí)現(xiàn)鎖存器選擇信號清零信號CLRN接高電平R0,R1的數(shù)據(jù)送入到暫存器A和B。
ADD R0,R1;算術(shù)邏輯運(yùn)算部件設(shè)計根據(jù)設(shè)計的指令集,包括加法、減法、與或非等算術(shù)邏輯運(yùn)算。如何利用現(xiàn)有的多位的算術(shù)邏輯器件構(gòu)建ALU中的算術(shù)邏輯運(yùn)算部件。4位算術(shù)邏輯運(yùn)算器件74181M運(yùn)算類型選擇輸入S3—S0操作選擇輸入Cn進(jìn)位輸入A3—A0數(shù)據(jù)A輸入B3—B0數(shù)據(jù)B輸入4位算術(shù)邏輯運(yùn)算器件74181Cn+4進(jìn)位輸出FA=BA=B比較輸出G進(jìn)位產(chǎn)生輸出P進(jìn)位傳送輸出F3—F0運(yùn)算結(jié)果輸出74181運(yùn)算功能“加”指算術(shù)加;符號“+”指“邏輯加”;減法采用補(bǔ)碼進(jìn)行。算術(shù)邏輯部件電路實(shí)現(xiàn)暫存器A暫存器BCN為進(jìn)位輸入CN4為低4位向高4位的進(jìn)位ADD R0,R1;加法運(yùn)算實(shí)現(xiàn)過程ADDR0,R1;
指令編碼為01100100,即64H取指操作
IR使能,指令通過總線傳送到IR,PC+1。LDIR1;M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器使能,IR送入指令,生成控制信號。M_uROMIR-->Microcontrol;addr[7:0]->CM[47:0]加法運(yùn)算實(shí)現(xiàn)過程微操作控制信號功能說明R0-->BUSRDRi,/Ri_EN寄存器讀使能,讀信號有效,R0數(shù)據(jù)送到數(shù)據(jù)總線BUS-->AM_A暫存器A使能,數(shù)據(jù)從總線輸入到暫存器AR1-->BUSRDRi,/Ri_EN寄存器讀使能,讀信號有效,R1數(shù)據(jù)送到數(shù)據(jù)總線BUS-->BM_B暫存器B使能,數(shù)據(jù)從總線輸入到暫存器B取操作數(shù)
暫存器電路鎖存器選擇信號加法運(yùn)算實(shí)現(xiàn)過程微操作控制信號功能說明A-->ALU,B-->ALUM=0;Cn=1;
S3…S0=1001暫存器數(shù)據(jù)送到ALU,選擇不帶進(jìn)位算術(shù)加法運(yùn)算ALU-->BUS/ALU_EN=0ALU輸出使能,ALU運(yùn)算結(jié)果輸出到數(shù)據(jù)總線BUS-->R0M_Rn;WRRi寄存器使能,寫信號有效,數(shù)據(jù)通過總線寫入R0寄存器執(zhí)行指令
算術(shù)邏輯部件電路實(shí)現(xiàn)暫存器A暫存器B程序狀態(tài)標(biāo)志設(shè)計算術(shù)邏輯運(yùn)算影響程序狀態(tài)AC(PSW.0)輔助進(jìn)位標(biāo)志位,用于BCD碼的十進(jìn)制調(diào)整運(yùn)算。CY(PSW.1)進(jìn)位標(biāo)志位在執(zhí)行算術(shù)指令時,指示運(yùn)算是否產(chǎn)生進(jìn)位。ZN(PSW.2)零標(biāo)志位用來判斷最近一次的運(yùn)算結(jié)果是否為零。OV(PSW.3)溢出標(biāo)志位在執(zhí)行算術(shù)指令時,指示運(yùn)算是否產(chǎn)生溢出。程序狀態(tài)標(biāo)志設(shè)計用戶可以訪問和控制程序狀態(tài)具有置位、清零、數(shù)據(jù)存儲功能集成置位、清零功能的D觸發(fā)器程序狀態(tài)電路實(shí)現(xiàn)AC輔助進(jìn)位標(biāo)志CY進(jìn)位標(biāo)志ZN零標(biāo)志位OV溢出標(biāo)志11.本課程設(shè)計的CPU程序狀態(tài)信息包括進(jìn)位零標(biāo)志位溢出奇偶標(biāo)志位ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕移位寄存器設(shè)計邏輯左移邏輯右移循環(huán)邏輯左移循環(huán)邏輯右移移位寄存器電路實(shí)現(xiàn)F[1..0]操作選擇[00]直接傳送[01]循環(huán)右移[10]循環(huán)左移[11]邏輯左移當(dāng)ALU_EN信號使能時,通過74244三態(tài)緩沖器,將結(jié)果輸出到數(shù)據(jù)總線上。四選一選擇電路RLR0;循環(huán)左移循環(huán)左移運(yùn)算實(shí)現(xiàn)過程RLR0;
指令編碼為01111000,即78H取指操作
微操作控制信號功能說明PC-->ADDR[11..0]M_ROM;/ROM_ENROM片選信號有效,PC指向程序入口地址BUS-->IR;PC+1-->PCLDIR1;M_PCIR使能,微指令通過總線傳送到IR,PC+1。循環(huán)左移運(yùn)算實(shí)現(xiàn)過程微操作控制信號功能說明R0-->BUSRDRi,/Ri_EN寄存器讀使能,讀信號有效,R0數(shù)據(jù)送到數(shù)據(jù)總線BUS-->AM_A暫存器A使能,數(shù)據(jù)從總線輸入到暫存器A取操作數(shù)
循環(huán)左移運(yùn)算實(shí)現(xiàn)過程微操作控制信號功能說明A-->ALU,M=0;Cn=1;
S3…S0=0000暫存器數(shù)據(jù)送到ALU,直接輸出到移位寄存器ALU-->BUS
F1F0=10;/ALU_EN=0循環(huán)左移運(yùn)算,ALU輸出使能,ALU運(yùn)算結(jié)果輸出到總線BUS-->R0M_Rn;WRRi寄存器使能,寫信號有效,數(shù)據(jù)通過總線寫入寄存器R0執(zhí)行指令
ALU模塊(2)基于VHDL語言的ALU設(shè)計clk_ALU=nclk212.本課程所設(shè)計的ALU功能包括算術(shù)邏輯運(yùn)算乘法運(yùn)算移位運(yùn)算程序狀態(tài)字ABCD提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.6.7數(shù)據(jù)存儲器RAM設(shè)計MOVRi,direct;MOVdirect,Ri;RAM功能分析數(shù)據(jù)存儲功能數(shù)據(jù)讀寫操作(1)RAM端口定義高電平寫操作有效,低電平讀有效clk_RAM=W2MOVR0,[16H](2)RAM功能實(shí)現(xiàn)讀數(shù)據(jù)操作 clk_RAM上升沿有效,RAM_CS高電平,wr_nRD低電平,nRAM_EN低電平,[AR]
data
。寫數(shù)據(jù)操作 clk_RAM上升沿有效,RAM_CS高電平,wr_nRD高電平有效,data[AR]。6.6.8堆棧指針SP設(shè)計MOVSP,#data;PUSHRi;POPRi;SP功能分析數(shù)據(jù)存儲功能加1功能(出棧)減1功能(壓棧)(1)SP端口定義clk_SP=nclk1&nclk2&W2(2)SP功能實(shí)現(xiàn)分析數(shù)據(jù)存儲功能
clk_SP上升沿有效,SP_CS高電平,dataSP。加1功能(出棧)clk_SP上升沿有效,SP_CS高電平,SP_UP高電平,nSP_EN低電平有效,SP+1SP,SPAR。減1功能(壓棧)clk_SP上升沿有效,SP_CS高電平,SP_DN高電平,nSP_EN低電平有效,SP-1SP,SPAR。13.本課程所設(shè)計的堆棧最大容量是多少1024B512B256B128BABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.6.9IO端口設(shè)計MOVP0,Ri;MOVRi,P0;IO端口功能分析輸入鎖存輸出鎖存(1)IO端口定義clk_P0=nclk2(2)IO功能實(shí)現(xiàn)分析輸入鎖存clk_PO上升沿有效,P0_CS高電平,nP0_IEN低電平,P0_IN
data。輸出鎖存clk_PO上升沿有效,P0_CS高電平,nP0_OEN低電平,data
P0_OUT。6.6.10微程序控制器設(shè)計微程序控制器基本原理微程序控制器基本結(jié)構(gòu)微程序控制器設(shè)計方法基于VHDL的微程序控制器設(shè)計6.6.10.1微程序控制器基本原理將指令分解為基本的微命令序列,把操作控制信號編制成微指令,存放到控制存儲器(CM)。運(yùn)行時,從控存中取出微指令,產(chǎn)生指令運(yùn)行所需的操作控制信號。微操作、微命令、微指令、微程序機(jī)器指令A(yù)DDR0,R1MOVR0,R1微操作、微命令、微指令、微程序T1:微操作1(微命令1,2…i)T2:微操作2(微命令1,2…j)T3:微操作3(微命令1,2…k)………Tm:微操作n(微命令1,2…x)機(jī)器指令A(yù)DDR0,R1MOVR0,R1微操作、微命令、微指令、微程序T1:微操作1(微命令1,2…i)T2:微操作2(微命令1,2…j)T3:微操作3(微命令1,2…k)………Tm:微操作n(微命令1,2…x)機(jī)器指令A(yù)DDR0,R1MOVR0,R1微指令(取指令/取操作數(shù)/執(zhí)行)微操作、微命令、微指令、微程序T1:微操作1(微命令1,2…i)T2:微操作2(微命令1,2…j)T3:微操作3(微命令1,2…k)………Tm:微操作n(微命令1,2…x)機(jī)器指令A(yù)DDR0,R1MOVR0,R1微指令(取指令/取操作數(shù)/執(zhí)行)一段微程序微操作、微命令、微指令、微程序應(yīng)用程序
a=b微操作
PC->ADDR(11:0)
機(jī)器指令(微程序)MOVR0,R1
微命令(控制信號)M_ROM,ROM_EN微指令
取指令6.6.10.2微程序控制器基本結(jié)構(gòu)微地址形成電路
IR微地址寄存器
μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR6.6.10.2微程序控制器基本結(jié)構(gòu)控制存儲器CM--存放微程序微指令寄存器μIR--存放現(xiàn)行微指令微地址形成電路--提供下一條微地址微地址寄存器μAR--存放現(xiàn)在微地址加法指令的微程序分析ADDR0,R1;取指令
IR使能,指令通過總線傳送到IR,PC+1。LDIR1;M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器使能,IR送入指令,生成控制信號。M_uROMIR-->Microcontrol;addr[7:0]->CM[47:0]加法指令的微程序分析微操作控制信號功能說明R0-->BUSRDRi,/Ri_EN寄存器讀使能,讀信號有效,R0數(shù)據(jù)送到數(shù)據(jù)總線BUS-->AM_A暫存器A使能,數(shù)據(jù)從總線輸入到暫存器AR1-->BUSRDRi,/Ri_EN寄存器讀使能,讀信號有效,R1數(shù)據(jù)送到數(shù)據(jù)總線BUS-->BM_B暫存器B使能,數(shù)據(jù)從總線輸入到暫存器B取操作數(shù)
加法指令的微程序分析微操作控制信號功能說明A-->ALU,B-->ALUM=0;Cn=1;
S3…S0=1001暫存器數(shù)據(jù)送到ALU,選擇不帶進(jìn)位算術(shù)加法運(yùn)算ALU-->BUS/ALU_EN=0ALU輸出使能,ALU運(yùn)算結(jié)果輸出到數(shù)據(jù)總線BUS-->R0M_Rn;WRRi寄存器使能,寫信號有效,數(shù)據(jù)通過總線寫入R0寄存器執(zhí)行指令
14.微程序控制器基本結(jié)構(gòu)包括控制存儲器CM微指令寄存器μIR微地址形成電路微地址寄存器ABCD提交程序計數(shù)器E多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕(1)控制存儲器CM控制存儲器與主存儲器的區(qū)別控制存儲器主存儲器位置CPU內(nèi)CPU外器件ROMRAM和ROM內(nèi)容微程序、微指令程序、指令和數(shù)據(jù)(2)微指令寄存器μIR微命令(微操作)控制字段:提供當(dāng)前操作所需的微命令。微地址(順序控制)字段:微命令字段微地址字段指明后續(xù)微地址的形成方式。提供微地址的給定部分。(3)微地址形成電路微程序入口地址:由機(jī)器指令操作碼形成。后續(xù)微地址:由微地址字段、現(xiàn)行微地址等形成。工作過程微地址形成電路
IR微地址寄存器
μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令(1)取機(jī)器指令CM取指微指令μIR控制存儲器取指微指令微命令字段微地址字段譯碼器微命令序列
IR微命令字段譯碼器控制存儲器微命令主存機(jī)器指令微命令字段微地址字段IR譯碼器微命令序列(2)轉(zhuǎn)微程序入口IR操作碼微地址形成電路入口μAR微命令字段CM首條微指令微地址形成電路
IR微地址寄存器
μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR取指微指令控制存儲器取指微指令微命令字段微地址字段譯碼器微命令序列
IR控制存儲器微命令字段微地址字段譯碼器微命令序列微地址形成電路
IR微地址寄存器微地址形成電路控制存儲器微地址寄存器微命令字段微地址字段(3)執(zhí)行首條微指令控制存儲器譯碼器μIRμIR譯碼器微命令字段微地址字段微命令序列微命令操作部件微地址形成電路
IR微地址寄存器
μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR(4)取后續(xù)微指令微地址字段現(xiàn)行微地址微地址形成電路微命令字段微地址字段微地址寄存器微地址形成電路微命令字段微地址字段微地址寄存器微地址寄存器后續(xù)微地址μAR微地址形成電路控制存儲器CM后續(xù)微指令μIR微地址寄存器微命令字段微地址字段(5)執(zhí)行后續(xù)微指令同(3)微地址形成電路
IR微地址寄存器
μAR控制存儲器CM譯碼器微命令序列微命令字段微地址字段μIR微命令字段微地址字段微地址寄存器微地址形成電路微命令字段微地址字段微地址寄存器微地址寄存器微地址形成電路微地址寄存器微命令字段微地址字段(6)返回微程序執(zhí)行完,返回CM(存放取指微指令的固定單元)。15.微地址形成電路的微地址來自指令的操作碼后續(xù)微地址程序計數(shù)器ABC提交多選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕6.6.10.3微程序控制器設(shè)計方法根據(jù)指令系統(tǒng),列出微操作序列微指令編碼控制微程序流確定指令格式微程序?qū)懭肟刂拼鎯ζ鞴δ苣K設(shè)計(1)指令的微操作分析IR使能,指令通過總線傳送到IR,PC+1。LDIR1;M_PCBUS-->IR;PC=PC+1;ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微控制器使能,IR送入指令,生成控制信號。M_uROMIR-->Microcontrol;addr[7:0]->CM[47:0](2)微指令編碼直接控制法字段直接編譯法字段間接編譯法假設(shè)控存容量為4K,則需12位來表示下一個微指令地址??刂拼鎯ζ鞯娜萘坑蓪?shí)現(xiàn)指令系統(tǒng)所需要的微程序長度決定。12…2324…35下址字段控制字段直接控制編碼不譯碼法:微指令的控制字段中,每一位代表一個微命令。是否發(fā)出某個微命令,只要將控制字段中相應(yīng)位置成“1”或“0”,就可以打開或關(guān)閉某個控制門。優(yōu)點(diǎn):控制簡單、速度快、并行好。缺點(diǎn):微指令字長度長,需要大容量存儲空間。互斥與相容互斥的微操作:是指不能同時或不能在同一個節(jié)拍內(nèi)并行執(zhí)行的微操作。相容的微操作:是指能夠同時或在同一個節(jié)拍內(nèi)并行執(zhí)行的微操作。把互斥的微操作組合在同一字段中,采用編碼方式存取。把相容的微操作組合在不同字段中,各段單獨(dú)譯碼。把互斥的微命令編成一組,用二進(jìn)制編碼表示,成為微指令字的一個字段。在微指令寄存器的輸出端,為該字段增加一個譯碼器。優(yōu)點(diǎn):縮短了微指令長度。字段直接編譯法字段1字段2字段3字段4
譯碼器1譯碼器2譯碼器3譯碼器4……..……..微操作微操作微操作微操作
IR下一地址分段間接編譯法在字段直接編譯法的基礎(chǔ)上,進(jìn)一步縮短微指令字長的一種編譯法。一個字段的某些微命令,要兼由另一些字段中的某些微命令來解釋。缺點(diǎn):可能會削弱微指令的并行控制能力。譯碼器1譯碼器2譯碼器3譯碼器4……..……..微操作微操作微操作
IR后繼地址譯碼12微操作(3)控制微程序流當(dāng)前正在執(zhí)行的微指令,稱為現(xiàn)行微指令,現(xiàn)行微指令所在的控存單元的地址稱為現(xiàn)行微地址?,F(xiàn)行微指令執(zhí)行完畢后,下一條要執(zhí)行的微指令稱為后繼微指令,后繼微指令所在的控存單元地址稱為后繼微地址。(3)控制微程序流微程序流的控制:是指當(dāng)前微指令執(zhí)行完畢后,怎樣控制產(chǎn)生后繼微指令的微地址。由指令操作碼譯碼器產(chǎn)生由微指令的下址字段指出以增量方式產(chǎn)生后繼地址順序執(zhí)行微程序。
后繼微地址由現(xiàn)行微地址加上一個增量(通常為1)操作碼地址碼譯碼器微程序計數(shù)器(μPC)控制存儲器控制字段轉(zhuǎn)移條件后繼地址+1μPC+1微程序入口以增量方式產(chǎn)生后繼地址轉(zhuǎn)移的控制操作碼地址碼譯碼器控制地址寄存器(μPC)控制存儲器控制字段轉(zhuǎn)移條件后繼地址微程序入口邏輯控制轉(zhuǎn)移地址以增量方式產(chǎn)生后繼地址“計數(shù)器”方式下址部分很短,只有兩位,它選擇三個輸入源中的一個作為μPC的輸入①(μPC)+1→μPC②轉(zhuǎn)移微地址③操作碼譯碼器的輸出。譯碼器下址控制字段控制存儲器μPC譯碼器地址碼操作碼+1微程序入口IRμIR轉(zhuǎn)移邏輯轉(zhuǎn)移微地址非順序執(zhí)行的下址初始地址:控制存儲器的0號或1號單元開機(jī)時,微地址形成部件復(fù)位;開機(jī)后,執(zhí)行后續(xù)指令時,由現(xiàn)行微程序的最后一條微指令給出。轉(zhuǎn)移地址:由微指令給出。微中斷地址:入口地址是固定的,由硬件直接賦值給微地址形成部件(微中斷信號由程序的中斷引起)。(4)微指令格式垂直型微指令一條微指令定義并執(zhí)行一種基本操作優(yōu)點(diǎn):微指令短、簡單、規(guī)整、便于編寫微程序缺點(diǎn):微程序長,執(zhí)行速度慢,工作效率低水平型微指令一條微指令定義并執(zhí)行幾種并行的基本操作優(yōu)點(diǎn):微程序短、執(zhí)行速度快缺點(diǎn):微指令長,編寫微程序較麻煩水平微指令與垂直微指令比較水平微指令垂直微指令能力效率靈活性高強(qiáng)低弱速度執(zhí)行時間快短慢長字長長短掌握難度難容易(5)微指令設(shè)計思路采用直接控制編碼,增量方式產(chǎn)生后繼地址,水平型微指令。所有模塊控制信號控制信號匯總PC模塊(4條)LD_PC:instd_logic;--裝載新地址M_PC:instd_logic;--PC加1控制信號nPCH,nPCL::instd_logic;--PC輸出總線控制信號ROM模塊(2條)M_ROM:instd_logic;--ROM片選信號ROM_EN:instd_logic;--ROM使能信號控制信號匯總IR模塊(4條)LD_IR1,LD_IR2,LD_IR3:instd_logic;--IR指令存儲控制信號nARen:instd_logic;--IR中RAM地址控制信號RN模塊(4條)Ri_CS :instd_logic;--RN選擇信號Ri_EN:instd_logic;--RN寄存器使能RDRi,WRRi:instd_logic;--RN讀寫信號控制信號匯總ALU模塊(13條)M_A,M_B :instd_logic; --暫存器控制信號M_F :instd_logic; --程序狀態(tài)字控制信號nALU_EN :instd_logic; --ALU運(yùn)算結(jié)果輸出使能nPSW_EN :instd_logic; --PSW輸出使能C0 :instd_logic; --進(jìn)位輸入 S:instd_logic_vector(4downto0);--運(yùn)算類型和操作選擇F_in:instd_logic_vector(1downto0);--移位功能選擇RAM模塊(3條)RAM_CS:instd_logic;--RAM片選信號nRAM_EN:instd_logic;--RAM輸出使能信號wr_nRD:instd_logic;--讀寫信號控制信號匯總SP模塊(4條)SP_CS:instd_logic;--SP選擇信號SP_UP:instd_logic;--SP+1控制SP_DN:instd_logic;--SP-1控制信號nSP_EN:instd_logic;--SP輸出使能P0模塊(3條)P0_CS:instd_logic;--P0選擇信號nP0_IEN:instd_logic;--P0輸入使能信號nP0_OEN:instd_logic;--P0輸出使能信號CM模塊(2條)M_uA :INstd_logic;--微地址控制信號CMROM_CS:INstd_logic;--控制存儲器選通信號(6)控制信號設(shè)計39條控制信號(39位編碼)27條指令(5位編碼)8位微地址取指公操作指令集中每條指令的執(zhí)行都先進(jìn)行取指操作,獨(dú)立出來作為公共微操作。取指公操作微程序入口地址:00H微指令碼分析ROM片選信號有效,ROM讀使能,PC指向程序入口地址M_ROM;/ROM_ENPC-->ADDR[11..0]功能說明控制信號微操作微指令碼分析IR使能,指令通過總線傳送到IR,PC+1。LDIR1;M_PCBUS-->IR;PC=PC+1;IR-->Microcontrol;微指令代碼執(zhí)行分析PCM_PCARROMM_ROMARnROMENDATAIRIR[7:2]LDIR1uCMCM_ROMCSM_uA①②③④
微程序設(shè)計MOVRi,#data
微程序入口地址:24H微指令代碼執(zhí)行分析PCM_PCARROMM_ROMARnROMENDATAIRIR[7:2]LDIR1uCMCM_ROMCSM_uA①②
③④
RNRi_CSWRRi微程序設(shè)計SUBCRi,Rj;微程序入口地址:74HSUBRi,Rj;微程序入口地址:74H微程序設(shè)計SUBRi,Rj;微程序入口地址:74H微程序設(shè)計微指令代碼執(zhí)行分析S4-S0RNWRRiRDRiDATAuCMCM_ROMCSM_uA①②
③④
ALURi_CSBAM_BM_AnALU_EN16.本課程所設(shè)計的微程序控制器發(fā)出的控制信號是多少16324864ABCD提交單選題1分此題未設(shè)置答案,請點(diǎn)擊右側(cè)設(shè)置按鈕微程序控制器設(shè)計控制存儲器CM--存放微程序微指令寄存器μIR--存放現(xiàn)行微指令微地址形成電路--提供微地址微地址寄存器μAR--存放現(xiàn)在微地址微程序控制器設(shè)計微地址形成電路微地址寄存器
μAR控制存儲器CM微命令序列微命令字段微地址字段μIRROM256*48bit
IR寄存器寄存器多路選擇器6.6.10.4微程序控制器VHDL描述clk_MC=clk2時鐘驅(qū)動分析clkW0W1W2W3W0W1nclk1nclk2clk2Clk_MCClk_MC=clk2ADDR0,R1時鐘驅(qū)動分析clkW0W1W2W3W0W1nclk1nclk2clk2Clk_ROMClk_ROM=clk2&nclk1ADDR0,R1Clk_MCClk_MC=clk2時鐘驅(qū)動分析clkW0W1W2W3W0W1nclk1nclk2clk2Clk_ROMclk_PCclk_IRClk_ROM=clk2&nclk1Clk_PC/IR=nclk2ADDR0,R1Clk_MCClk_MC=clk2clk_PCclk_IR時鐘驅(qū)動分析clkW0W1W2W3W0W1nclk1nclk2clk2clk_RNClk_P0Clk_ALU=nclk2clk_RAMclk_SPClk_RAM=W2Clk_SP=nclk1&clk2&W2ADDR0,R1clk_ALU時鐘驅(qū)動分析clkW0W1W2W3W0W1nclk1nclk2clk2clk_RAMclk_SPClk_RAM=nclk1&w1Clk_SP=clk1&clk2&w1Clk_ROMClk_ROM=clk2&nclk1MOVR0,[36H]第七講SOC系統(tǒng)測試與分析SoC系統(tǒng)驗(yàn)證方法SoC系統(tǒng)測試原理及方法7.1SoC系統(tǒng)驗(yàn)證方法
在系統(tǒng)芯片的設(shè)計過程中,系統(tǒng)規(guī)約確定之后進(jìn)行系統(tǒng)級設(shè)計。首先對系統(tǒng)行為進(jìn)行建模,根據(jù)功能規(guī)范要求對行為模型進(jìn)行驗(yàn)證;然后將行為模型映射到由芯核和功能塊組成的架構(gòu)之上。目的就是去驗(yàn)證該架構(gòu)的功能和性能。7.1SoC系統(tǒng)驗(yàn)證方法在功能設(shè)計和架構(gòu)映射之后,都需要進(jìn)行驗(yàn)證,分別是功能驗(yàn)證和性能驗(yàn)證。功能驗(yàn)證:
目的是檢查行為設(shè)計是否滿足功能需求。性能驗(yàn)證:
目的是檢查所選出的架構(gòu)是在滿足功能需求之外是否能滿足性能需求。7.1SoC系統(tǒng)驗(yàn)證方法在整個驗(yàn)證過程中,都將使用測試平臺來檢驗(yàn)設(shè)計對象的功能,系統(tǒng)級測試平臺是整個驗(yàn)證過程的一個關(guān)鍵。7.1SoC系統(tǒng)驗(yàn)證方法從系統(tǒng)規(guī)約中提取出一項(xiàng)功能要求,并定義出檢驗(yàn)其功能的具體測試,重復(fù)進(jìn)行,直至為每一項(xiàng)功能都建立了測試。7.1SoC系統(tǒng)驗(yàn)證方法在實(shí)際中對SoC進(jìn)行驗(yàn)證時,由于它是由多個功能塊組成,可以將SoC的整個系統(tǒng)級測試平臺運(yùn)用于系統(tǒng)芯片的每一個子模塊(功能塊),實(shí)現(xiàn)對每個功能塊的細(xì)節(jié)進(jìn)行驗(yàn)證。SOC系統(tǒng)驗(yàn)證方法包括模塊/IP核級驗(yàn)證軟硬件協(xié)同仿真驗(yàn)證FPGA驗(yàn)證功能驗(yàn)證ABCD提交性能驗(yàn)證E多選題1分7.1SoC系統(tǒng)驗(yàn)證方法對SoC功能塊的細(xì)節(jié)進(jìn)行驗(yàn)證時,可以采用如下多種方法:硬件建模、接口驗(yàn)證、軟/硬件協(xié)同驗(yàn)證、隨機(jī)測試、基于應(yīng)用程序的驗(yàn)證、門級驗(yàn)證等。
硬件建模為了達(dá)到足夠高的無故障率,需要運(yùn)行大量的應(yīng)用程序來進(jìn)行測試。對于規(guī)模較小的設(shè)計,可以使用單個FPGA對整個芯片進(jìn)行建模對于規(guī)模較大的設(shè)計,可以使用多個FPGA進(jìn)行建模,配合專門開發(fā)的軟件,構(gòu)建硬件仿真器7.1.1硬件仿真器硬件仿真器提供了對可重配置邏輯、可編程互連、大容量邏輯以及特殊存儲器和處理器的支持。對SoC的設(shè)計,若要使用硬件仿真,就需要提供適合于硬件仿真器的各種模型,如微處理器、存儲器、總線功能模型、監(jiān)控器、時序產(chǎn)生器等。這些模型的建立應(yīng)該在SoC設(shè)計階段的早期就開始進(jìn)行,可以與芯核的提供商一起來共同解決。7.1.2協(xié)同驗(yàn)證與仿真在設(shè)計階段的早期建立協(xié)同驗(yàn)證環(huán)境,進(jìn)行軟件/硬件協(xié)同驗(yàn)證。使用協(xié)同驗(yàn)證可以達(dá)到如下目標(biāo):讓電路工程師們能夠同時設(shè)計、開發(fā)和調(diào)試軟件和硬件,同時在系統(tǒng)集成和制造芯片之前將設(shè)計錯誤去除。7.1.3協(xié)同驗(yàn)證與仿真7.1.3協(xié)同驗(yàn)證與仿真從理論上講,在協(xié)同仿真中,硬件可以用C/C++建模,整個系統(tǒng)可以像單個C/C++程序一樣執(zhí)行。實(shí)際上,對硬件的實(shí)現(xiàn),仍是采用HDL/RTL描述。因此,協(xié)同仿真需要一個或多個HDL仿真器和一個C/C++平臺(編譯器、裝入程序、鏈接器和計算機(jī)操作系統(tǒng)的其他部分)。7.1.4硬件仿真在協(xié)同仿真中,包括HDL仿真器和軟件仿真器在內(nèi)的兩個或多個仿真器需要互相鏈接,因此不同仿真器之間的通信是關(guān)鍵問題,可以采用主/從模式、分布式模式兩種方案。
7.1.5系統(tǒng)級時序驗(yàn)證時序驗(yàn)證是用來檢查設(shè)計對象是否滿足預(yù)期的時序要求。對所設(shè)計電路中的每一個存儲單元和鎖存器都存在需要滿足的時序要求,如建立時間、保持時間、延遲時間等。時序分析有動態(tài)分析和靜態(tài)分析兩種類型。動態(tài)時序分析使用仿真向量去驗(yàn)證;對于給定的輸入,電路的輸出結(jié)果是否符合時序的規(guī)定。靜態(tài)時序分析檢查電路中的所有時序路徑7.1.6物理驗(yàn)證物理設(shè)計是在邏輯設(shè)計或電路設(shè)計之后實(shí)現(xiàn)物理版圖的過程。物理版圖是由各層次的版圖編輯而成,形成晶體管和其他器件相互間的連線。物理驗(yàn)證是物理設(shè)計的一個重要環(huán)節(jié)。7.1.6物理驗(yàn)證7.1.6物理驗(yàn)證物理驗(yàn)證階段的任務(wù)是對最后結(jié)果進(jìn)行驗(yàn)證,主要有功耗分析、設(shè)計規(guī)則檢查、版圖邏輯圖一致性檢查、物理效應(yīng)分析等工作。
7.2SoC系統(tǒng)測試原理及方法現(xiàn)在人們對電路的測試通常是在測試系統(tǒng)所提供的硬件、軟件環(huán)境下實(shí)現(xiàn)的。測試矢量是影響測試效果的關(guān)鍵,它可通過測試生成(ATPG)算法獲得。7.2SoC系統(tǒng)測試原理及方法計算機(jī)主要用于為被測電路生成測試矢量;數(shù)據(jù)信號發(fā)生器根據(jù)計算機(jī)的要求產(chǎn)生測試波形,并加載到被測電路上;邏輯分析儀采集被測電路的響應(yīng)信號并進(jìn)行一定的分析,然后將結(jié)果送到計算機(jī)中進(jìn)行處理。7.2.1基于神經(jīng)網(wǎng)絡(luò)的電路測試生成方法人工神經(jīng)網(wǎng)絡(luò)(ANN)由于其優(yōu)良的特性,能較好的處理目前串行計算機(jī)難于解決的NP完全問題(如Hopfield神經(jīng)網(wǎng)絡(luò)用于TSP問題的求解)。根據(jù)組合電路測試生成的特點(diǎn),選用Hopfield神經(jīng)網(wǎng)絡(luò)作為電路建模的基礎(chǔ),用神經(jīng)網(wǎng)絡(luò)的能量函數(shù)來表征電路的邏輯特性。
7.2.2二元判定圖BDD
二元判定圖(BDD)就是一種較有效的方法,它將布爾函數(shù)的功能用有向無環(huán)圖來表示,圖中從根節(jié)點(diǎn)到葉節(jié)點(diǎn)的路徑對應(yīng)了布爾函數(shù)值為1的一個輸入矢量。電路的可測性一般定義為測試的簡便性或經(jīng)濟(jì)而有效測試的能力,主要涉及如下三個基本方面:測試矢量的產(chǎn)生、測試的評估和計算、測試的施加。電路可測性設(shè)計的基礎(chǔ)是可測性的度量方法7.2.3大規(guī)模集成電路與系統(tǒng)的可測性設(shè)計7.2.4VLSI與系統(tǒng)的可測性設(shè)計邊界掃描可測性設(shè)計數(shù)摸混合電路的邊界掃描測試專用集成電路設(shè)計中的邊界掃描7.2.4VLSI與系統(tǒng)的可測性設(shè)計邊界掃描可測性設(shè)計
邊界掃描測試是一種可應(yīng)用于數(shù)字器件的具有結(jié)構(gòu)化特性的測試技術(shù),它通過在集成電路的設(shè)計階段采取一些措施,能在很大程度上簡化印制電路板級的測試,從而降低測試費(fèi)用。7.2.4VLSI與系統(tǒng)的可測性設(shè)計數(shù)摸混合電路的邊界掃描測試
通過數(shù)?;蚰?shù)轉(zhuǎn)換器(ADC或DAC)將模擬電路的模擬信號轉(zhuǎn)換為數(shù)字信號,并由邊界掃描鏈輸出,或者把測試模擬電路的模擬信號先把其數(shù)字信號形式由邊界掃描管腳輸入,加到相應(yīng)的模數(shù)轉(zhuǎn)換器上,完成對模擬器件的測試。專用集成電路設(shè)計中的邊界掃描
對規(guī)模較小的FPGA器件,若它未含有邊界掃描測試端口,則進(jìn)行可測性設(shè)計時應(yīng)為其設(shè)計邊界掃描測試端口,并連入邊界掃描鏈。JTAG(JointTestActionGroup,聯(lián)合測試行動小組)TCK為測試時鐘輸入TDI為測試數(shù)據(jù)輸入TDO為測試數(shù)據(jù)輸出TMS為測試模式選擇/TRST為測試復(fù)位,輸入引腳,低電平有效。
JTAG接口JTAG大致分兩類,一類用于測試芯片的電氣特性,檢測芯片是否有問題;一類用于Debug
一個含有JTAGDebug接口模塊的CPU,只要時鐘正常,就可以通過JTAG接口訪問CPU的內(nèi)部寄存器和掛在CPU總線上的設(shè)備,如RAM,F(xiàn)LASH,GPIO等JTAG時序圖JTAG接口包括哪些信號TCKTDITDOTMSABCD提交TRSTESDIFSCKG多選題1分第八講邏輯設(shè)計基礎(chǔ)
1
第八講SoC典型實(shí)例及技術(shù)展望
基于ARM的SoC系統(tǒng)圖形圖像處理與GPU系統(tǒng)基于PowerPC的SoC系統(tǒng)多核處理器、眾核處理器及并行處理器系統(tǒng)片上網(wǎng)絡(luò)系統(tǒng)8.1基于ARM的SoC系統(tǒng)
ARMcore:ARM966E
AMBA總線:AHB+APB
外設(shè)IP(PeripheralIPs):VIC(VectorInterruptController),DMA,UART,RTC,SSP,WDT……
Memoryblocks:SRAM,FLASH……
模擬IP:ADC,PLL……8.1基于ARM的SoC設(shè)計1.ARM內(nèi)核選擇8.1基于ARM的SoC設(shè)計2.ARM總線結(jié)構(gòu)選擇ASB,AHB,AHBlite,AXI總線評估總線頻率是否滿足需求,同時不會消耗過多的功耗和片上面積。抽象級別很高的TLM(TransactionLevelModels)模型建模。TLM模型提供了比RTL仿真快100~10000倍的軟硬聯(lián)仿性能,并提供系統(tǒng)的分析功能。8.1基于ARM的SoC設(shè)計3.外設(shè)IP核選擇現(xiàn)成的IP?自己定制?8.1基于ARM的SoC設(shè)計4.自設(shè)計IP核與AMBA總線驗(yàn)證基于元件的驗(yàn)證方法8.1基于ARM的SoC設(shè)計5.平臺驗(yàn)證ARMcore的DSM(DesignSimulationModel)模型驗(yàn)證硬件加速器FPGA原型驗(yàn)證8.1基于ARM的SoC設(shè)計6.FPGA原型驗(yàn)證ARM公司提供的Integratorprototypingboard第三方供應(yīng)商提供的FPGA驗(yàn)證平臺自己開發(fā)FPGA原型板8.1基于ARM的SoC設(shè)計7.集成ARM硬核的FPGAXilinx的ZYNQ7000系列ZYNQ7020Intel的CycloneV系列Cyclone?
VSoC925MHz,dual-coreARM?Cortex?-A9
ZYNQ架構(gòu)ZYNQ架構(gòu)
CycloneVSXSoCFPGA系列器件5CSXC45CSXC55CSXC6LE40,00085,000110,000ALM15,09432,07541,509M10K存儲器模塊224397514M10K存儲器(Kb)2,2403,9725,140MLAB(Kb)22048062118位x19位乘法器116174224精度可調(diào)DSP模塊5887112收發(fā)器最大數(shù)量699PCIe硬核IP模塊222FPGAPLL566HPSPLL333FPGA用戶I/O最大數(shù)量124288288HPSI/O最大數(shù)量188188188FPGA硬核存儲器控制器111HPS硬核存儲器控制器111處理器內(nèi)核(ARMCortexTM-A9MPCoresTM)兩個兩個兩個集成ARM硬核的FPGA中PS與PL通信總線為AXIAHBWishboneAvalonABCD提交單選題1分8.2GPU系統(tǒng)圖形處理器(GraphicProcessingUnit,GPU),是相對于CPU的一個概念。8.2.1GPU應(yīng)用范圍8.2.2GPU性能優(yōu)勢(1)高效的并行性。通過GPU多條繪制流水線的并行計算來體現(xiàn)的。在目前主流的GPU中,配置多達(dá)16個片段處理流水線,6個頂點(diǎn)處理流水線。(2)高密集的運(yùn)算。GPU通常具有128位或256位的內(nèi)存位寬。(3)超長圖形流水線。GPU超長圖形流水線的設(shè)計以吞吐量的最大化為目標(biāo)(如NVIDIAGeForce3流水線有800個階段)。8.2.3GPU與CPU比較CPU中的大部分晶體管主要用于構(gòu)建控制電路(如分支預(yù)測等)和Cache,只有少部分的晶體管來完成實(shí)際的運(yùn)算工作。GPU大部分晶體管可以組成各類專用電路和多條流水線,使GPU的計算速度有了突破性的飛躍,擁有驚人的處理浮點(diǎn)運(yùn)算的能力。CPU與GPU的區(qū)別CPU控制資源多CPU存儲資源多GPU計算資源多GPU對Cache需求小ABCD提交多選題1分8.3基于PowerPC的SoC系統(tǒng)PowerPC(PerformanceOptimizedWithEnhancedRISC)是一種RISC架構(gòu)的CPU,Apple、IBM、Motorola組成的AIM聯(lián)盟所發(fā)展出的微處理器架構(gòu)。PowerPC處理器有32個(32位或64位)GPR(通用寄存器)以及諸如PC(程序計數(shù)器)、LR(鏈接寄存器)、CR(條件寄存器)等各種其它寄存器。8.3.1PowerPC產(chǎn)品系列IBM主要的PowerPC產(chǎn)品有PowerPC604s,PowerPC405,PowerPC750,PowerPCG3。Motorola主要有MC和MPC系列。(1)Motorola
MPC860MPC860PowerQUICC(QuadIntegratedCommunicationsController)內(nèi)部集成了微處理器和一些控制領(lǐng)域的常用外圍組件,特別適用于通信產(chǎn)品。集成了兩個處理塊(PowerPC核,通信處理模塊(CPM,Communications
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國社區(qū)養(yǎng)老服務(wù)行業(yè)開拓第二增長曲線戰(zhàn)略制定與實(shí)施研究報告
- 2025-2030年中國美甲行業(yè)并購重組擴(kuò)張戰(zhàn)略制定與實(shí)施研究報告
- 脂肪酶活檢測原理及方法
- 服裝品牌意向調(diào)查問卷
- 建設(shè)廉潔政治讀書心得體會-總結(jié)報告模板
- 2024年游記作文300字
- 商品知識培訓(xùn)課件下載
- 打造高績效團(tuán)隊培訓(xùn)課件2
- 年產(chǎn)7000噸銅、鋁電磁線項(xiàng)目可行性研究報告模板-立項(xiàng)拿地
- 二零二五年度安全生產(chǎn)標(biāo)準(zhǔn)化體系完善與維護(hù)服務(wù)合同3篇
- 清朝的八旗制度及其影響
- 拇外翻護(hù)理查房課件
- 2023年采購電子主管年度總結(jié)及下一年展望
- 高考語用必考點(diǎn)-理解詞語的含義+課件
- 混凝土采購組織供應(yīng)、運(yùn)輸、售后服務(wù)方案
- 新版?zhèn)€人簡歷Excel表格模板共2聯(lián)
- PDCA在靜脈留置針規(guī)范管理中的應(yīng)用
- (完整)中國象棋教案
- 熱工自動化系統(tǒng)檢修運(yùn)行維護(hù)規(guī)程
- 顱內(nèi)壓增高病人的護(hù)理
- 裝配式混凝土建筑構(gòu)件識圖-疊合板識讀(裝配式混凝土建筑)
評論
0/150
提交評論