組成原理課程設(shè)計(jì)--硬布線控制器的設(shè)計(jì)與調(diào)試_第1頁(yè)
已閱讀1頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  計(jì)算機(jī)組成原理</b></p><p><b>  課程設(shè)計(jì)</b></p><p>  硬布線控制器的設(shè)計(jì)與調(diào)試</p><p>  學(xué) 院 計(jì)算機(jī)工程學(xué)院 </p><p>  專業(yè)班級(jí) 2010計(jì)算機(jī)科學(xué)與技術(shù)2班 </

2、p><p>  小組成員 </p><p>  指導(dǎo)教師 </p><p><b>  目錄</b></p><p>  本報(bào)告包括以下內(nèi)容:</p><p>  一.(總框圖) 數(shù)據(jù)通路圖&

3、lt;/p><p>  二. 硬布線控制器邏輯模塊圖</p><p>  三. 模塊ABEL語(yǔ)言源程序</p><p>  四. 硬布線控制器指令周期流程圖</p><p><b>  五. 設(shè)計(jì)說(shuō)明書</b></p><p>  六. 設(shè)計(jì)與調(diào)試小結(jié)</p><p><

4、b>  七. 調(diào)試過(guò)程</b></p><p>  八. 本組成員實(shí)驗(yàn)心得</p><p><b>  一.?dāng)?shù)據(jù)通路圖</b></p><p><b>  實(shí)驗(yàn)電路:</b></p><p>  說(shuō)明:數(shù)據(jù)通路是將雙端口存儲(chǔ)器模塊和雙端口通用寄存器模塊連接在一起形成的。</p

5、><p>  雙端口通用寄存器(RF)由一個(gè)ispLSI1016實(shí)現(xiàn),功能相當(dāng)于四個(gè)八位通用寄存器,用于保存參與運(yùn)算的數(shù)據(jù),運(yùn)算后的結(jié)果也要送到RF中保存。雙端口寄存器堆模塊的控制信號(hào)中,RS1、RS0用于選擇從右端口讀出的通用寄存器,RD1、RD0用于選擇從左端口讀出的通用寄存器。而WR1、WR0用于選擇寫入的通用寄存器。LDRi是寫入控制信號(hào),當(dāng)LDRi=1時(shí),數(shù)據(jù)總線DBUS上的數(shù)據(jù)在T3寫入由WR1、WR0指

6、定的通用寄存器。左右端口分別與操作數(shù)暫存器DR1和DR2相連,RF的右端口通過(guò)三態(tài)門連接到數(shù)據(jù)總線DBUS上,因而RF中的數(shù)據(jù)可以直接通過(guò)右端口送到DBUS上。</p><p>  DR1和DR2各由一片74LS273構(gòu)成,用于暫存參與運(yùn)算的數(shù)據(jù)。ALU由兩片74LS181構(gòu)成,ALU的輸出通過(guò)一個(gè)三態(tài)門發(fā)送到數(shù)據(jù)通路DBUS上。</p><p>  雙端口寄存器使用一片IDT7132(2

7、048×8位),兩個(gè)端口的地址輸入A8-A10引腳接地,因此實(shí)際使用的存儲(chǔ)容量為256字節(jié)。左端口的數(shù)據(jù)輸出端接在數(shù)據(jù)總線DBUS,右端口的數(shù)據(jù)輸出接指令總線IBUS。CEL#、LR/W#、OEL#控制左端口讀寫操作;CER#、RR/W#、OER#控制右端口讀寫操作。CEL#為左端口片選信號(hào),低電平有效;當(dāng)CEL#=1時(shí),禁止對(duì)左端口的讀寫操作;當(dāng)LR/W#=0時(shí),左端口進(jìn)行讀寫。OEL#的作用等同于三態(tài)門,當(dāng)OEL#=0時(shí),

8、允許左端口讀出的數(shù)據(jù)送到數(shù)據(jù)總線DBUS上;當(dāng)OEL#=1時(shí),禁止左端口的數(shù)據(jù)放到DBUS上。因此將OEL#寫作RAM-BUS#。右端口控制信號(hào)與左端口完全類似。左端口負(fù)責(zé)所有數(shù)據(jù)和指令的寫入,右端口作為指令端口,不需要進(jìn)行數(shù)據(jù)寫入,將右端口處理為只讀端口,RR/W#固定接高電平,OER#固定接地。</p><p>  存儲(chǔ)器左端口的地址寄存器AR和右端口的地址寄存器PC都是2片74LS163,具有地址遞增功能。

9、同時(shí),PC也起到程序計(jì)數(shù)器的功能。</p><p>  指令由雙端口寄存器的右端口送到指令總線IBUS,再送入指令寄存器IR,再通過(guò)操作控制器產(chǎn)生各控制信號(hào)從而實(shí)現(xiàn)程序運(yùn)行,本次實(shí)驗(yàn)編寫的控制器是硬布線控制器。</p><p>  二.硬布線控制器邏輯模塊圖</p><p>  硬布線控制器邏輯模塊圖</p><p>  首先根據(jù)硬連線指令流

10、程圖列出譯碼表,再設(shè)計(jì)出譯碼邏輯電路圖。</p><p>  下面給出本組的組合邏輯譯碼表:</p><p>  說(shuō)明:水平方向表示一個(gè)信號(hào),縱向?yàn)槟骋粻顟B(tài)或指令,單元格中的內(nèi)容表示該控制信號(hào)在該指令中有效的條件,根據(jù)譯碼表可以寫出每個(gè)控制信號(hào)的邏輯表達(dá)式。</p><p>  接著按照上面的組合邏輯譯碼表寫出各信號(hào)的邏輯表達(dá)式:</p><p&

11、gt;  LDDR1=ADD*W2+SUB*W2+AND*W2+STA*W2</p><p>  LDDR2= ADD*W2+SUB*W2+AND*W2</p><p>  CEL#=STA*W3+LDA*W3+RRF2*W1+WRF2*W1+RRM2*W1+WRM2*W1</p><p>  CER#=RP2*W1+RRF2*W2+WRF2*W2 LDAR#=ST

12、A*W2+LDA*W2+RRF*W3+WRF*W3+RRM*W3+WRM*W3</p><p>  AR+1=RRM2*W3+WRM2*W3</p><p>  LDPC#=JC*W3*C+RRF*W3+WRF*W3+RP*W3</p><p>  PC+1=(ADD+SUB+AND+STA+LDA+STP+OUT)*W3+JC*W2</p><

13、p>  LDRi=ADD*W3+SUB*W3+AND*W3+LDA*W3+ WRF2*W3</p><p>  LR/W#=STA*W3#+LDA*W3+RRF2*W1#+WRF2*W1#+RRM2*W1+WRM2*W1#</p><p>  LDIR=RP2*W1+RRF2*W2+WRF2*W2</p><p>  SW-BUS#=RRF*W3+RRF2*W

14、1+WRF*W3+WRF2*(W1+W3)+RRM*W3+WRM*W3+WRM2*W1+RP*W3</p><p>  RS-BUS#=STA*W2+LDA*W2+JC*W3*C+OUT*W3+RRF2*W3</p><p>  RAM-BUS#=LDA*W3+RRM2*W1</p><p>  ALU-BUS#=ADD*W3+SUB*W3+AND*W3+STA*W

15、3</p><p>  TJ=STP*W3+OUT*W3+RRF*W3+RRF2*W3+WRF*W3+WRF2*(W2+W3)+RRM2*W1+WRM*W3+WRM2*W3</p><p>  SKIP=RRF*W1+WRF*W1+RRM*W1+WRM*W1+RP*W1</p><p>  S3=ADD*W3+SUB*W3#+AND*W3+STA*W3</p&

16、gt;<p>  S2=ADD*W3#+SUB*W3+AND*W3+STA*W3</p><p>  S1= ADD*W3#+SUB*W3+AND*W3+STA*W3</p><p>  S0=ADD*W3+SUB*W3#+AND*W3#+STA*W3</p><p>  M=ADD*W3#+SUB*W3#+AND*W3+STA*W3</p>

17、;<p>  Cn#=ADD*W3+SUB*W3#</p><p>  其中,以上各式右側(cè)所用變量展開(kāi)成輸入信號(hào)的對(duì)應(yīng)關(guān)系如下:</p><p>  RRF0 ((NOT STO) AND SWC AND (NOT SWB) AND (NOT SWA))</p><p>  RRF1 (STO AND SWC AND (NOT SWB) AND

18、 (NOT SWA))</p><p>  WRF0 ((NOT STO) AND (NOT SWC) AND SWB AND SWA)</p><p>  WRF1 (STO AND (NOT SWC) AND SWB AND SWA)</p><p>  RRM0 ((NOT STO) AND (NOT SWC) AND SWB AND (NOT SWA)

19、)</p><p>  RRM1 (STO AND (NOT SWC) AND SWB AND (NOT SWA))</p><p>  WRM0 ((NOT STO) AND (NOT SWC) AND (NOT SWB) AND SWA)</p><p>  WRM1 (STO AND (NOT SWC) AND (NOT SWB) AND SWA)<

20、;/p><p>  RP0 ((NOT STO) AND (NOT SWC) AND (NOT SWB) AND (NOT SWA))</p><p>  RP1 (STO AND (NOT SWC) AND (NOT SWB) AND (NOT SWA))</p><p>  ADD ((NOT IR7) AND (NOT IR6) AND (NOT

21、IR5) AND (NOT IR4))</p><p>  SUB ((NOT IR7) AND (NOT IR6) AND (NOT IR5) AND IR4)</p><p>  AND ((NOT IR7) AND (NOT IR6) AND IR5 AND (NOT IR4))</p><p>  STA ((NOT IR7) AND (NO

22、T IR6) AND IR5 AND IR4)</p><p>  LDA ((NOT IR7) AND IR6 AND (NOT IR5) AND (NOT IR4))</p><p>  JC ((NOT IR7) AND IR6 AND (NOT IR5) AND IR4)</p><p>  STP ((NOT IR7) AND IR6 A

23、ND IR5 AND (NOT IR4))</p><p>  OUT ((NOT IR7) AND IR6 AND IR5 AND IR4)</p><p>  三.模塊ABEL語(yǔ)言源程序</p><p>  在用ABEL語(yǔ)言實(shí)現(xiàn)硬連線控制器時(shí),我們?cè)黾恿?個(gè)標(biāo)志位RUN。由于按CLR#按鈕復(fù)位后,實(shí)驗(yàn)系統(tǒng)的時(shí)序停止在T4、W3,ST0的值為0,這樣SST0

24、= !ST0 & W3的值為1。按QD啟動(dòng)按鈕后,由于立即產(chǎn)生T1信號(hào),在T1的上升沿使ST0置1,在第一組W1、W2、W3時(shí),ST0的值為1,這是我們不希望看到的。增加了標(biāo)志位RUN后,按CLR#按鈕復(fù)位,使RUN為0。由于SST0 = !ST0 * W3 * RUN,因此復(fù)位后的SST0 = 0。按QD啟動(dòng)按鈕,在T1的上升沿,使RUN = 1。根據(jù)SST0的布爾表達(dá)式,在W1、W2時(shí),SST0 = 0,直到W3時(shí),才使SS

25、T0 = 1。由于 ST0 := CLR# * SST0 # CLR * ST0,在W3過(guò)后的下一個(gè)T1的上升沿,才使ST0置1,從而將控制臺(tái)操作的兩種狀態(tài)區(qū)分開(kāi)來(lái)。</p><p>  在下面的ABEL語(yǔ)言源程序中,為了閱讀方便,沒(méi)有將邏輯表達(dá)式化簡(jiǎn),編譯時(shí)ispEXPERT會(huì)自動(dòng)將其化簡(jiǎn)。為了和ABEL語(yǔ)言的規(guī)則一致,不發(fā)生沖突,對(duì)以下信號(hào)名進(jìn)行了改變。</p><p>  ALU_B

26、US# 改為 ALU_BUS</p><p>  RAM_BUS# 改為 RAM_BUS</p><p>  RS_BUS# 改為 RS_BUS</p><p>  SW_BUS# 改為 SW_BUS</p><p><b>  Cn# 改為 Cn</b></p><p>  LDAR# 改為 L

27、DAR</p><p>  LDPC# 改為 LDPC</p><p>  PC+1 改為PC_INC</p><p>  AR+1 改為AR_INC</p><p>  LR/W# 改為 LRW</p><p>  TEC-5硬連線控制器的ABEL源程序如下:</p><p>  MODULE

28、 ctl_1</p><p>  TITLE 'tec-5 hard-wired control unit'</p><p><b>  "INPUT</b></p><p>  CLR PIN59;"CLR=CLR#</p><p>  MF,T1,W1,W2

29、,W3PIN69,16,9,49,14;</p><p>  IR4,IR5,IR6,IR7PIN4,18,27,33;</p><p>  SWC,SWB,SWA,CPIN50,15,57,51;</p><p><b>  "OUTPUT</b></p><p>  MF1,SST0

30、 NODE ISTYPE 'COM';</p><p>  RUN,ST0 NODE ISTYPE 'REG';</p><p>  S3,S2,S1,S0 PIN 26,34,7,30 ISTYPE 'COM';</p><p>  M,Cn,LRW,CEL,CERPIN 35,37,

31、47,46,5 ISTYPE 'COM';</p><p>  "Cn=Cn#,CEL=CEL#,CER=CER#,LRW=LR/W#</p><p>  RAM_BUS,ALU_BUS,RS_BUS,SW_BUSPIN 45,10,29,12 ISTYPE 'COM';</p><p>  "RAM_BUS=R

32、AM_BUS#,ALU_BUS=ALU_BUS#</p><p>  "RS_BUS=RS_BUS#,SW_BUS=SW_BUS#</p><p>  LDRi,LDDR2,LDDR1,LDAR,AR_INCPIN 32,31,13,48,71 ISTYPE 'COM';</p><p>  "LDAR=LDAR#,AR_INC

33、=AR+1</p><p>  LDPC,PC_INC,LDIR,TJ,SKIP PIN 28,8,6,3,36 ISTYPE 'COM';</p><p>  "LDPC=LDPC#,PC_INC</p><p>  CLK = .C.;</p><p><b>  EQUATIONS&l

34、t;/b></p><p>  MF1 = !CLR & MF # T1;</p><p>  RUN := CLR & !ST0 # CLR & RUN;</p><p>  RUN.CLK = MF1;</p><p>  SST0 = !ST0 & RUN & W3;</p>

35、<p>  ST0 := CLR & SST0 # CLR & ST0;</p><p>  ST0.CLK = MF1;</p><p>  S3 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W3</p><p

36、>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W3;</p><p>  S2 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & IR4 & W3;</p

37、><p>  S1 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 &

38、 W3;</p><p>  S0 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 &

39、 !IR4 & W3;</p><p>  M = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W3;</p><p>  Cn = !(ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6

40、& !IR5 & IR4 & W3);</p><p>  LRW = ST0 & !SWC & SWB & !SWA & W1</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W3;&l

41、t;/p><p>  CEL = !(ST0 & !SWC & !SWB & SWA & W1</p><p>  # ST0 & !SWC & SWB & !SWA & W1</p><p>  # ST0 & !SWC & SWB & SWA & W1</p>

42、<p>  # ST0 & SWC & !SWB & !SWA & W1</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & IR4 & W3</p><p>  # ST0 & !SWC & !SW

43、B & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W3);</p><p>  CER = !(ST0 & !SWC & !SWB & !SWA & W1</p><p>  # ST0 & !SWC & SWB & SWA & W2</p>

44、<p>  # ST0 & SWC & !SWB & !SWA & W2);</p><p>  RAM_BUS = !(ST0 & !SWC & SWB & !SWA & W1</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & I

45、R6 & !IR5 & !IR4 & W3);</p><p>  ALU_BUS = !(ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA

46、 & !IR7 & !IR6 & !IR5 & IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB &

47、; !SWA & !IR7 & !IR6 & IR5 & IR4 & W3);</p><p>  RS_BUS = !(ST0 & SWC & !SWB & !SWA & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6

48、 & IR5 & IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 &

49、 IR6 & !IR5 & IR4 & C & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & IR5 & IR4 & W3);</p><p>  SW_BUS = !(!ST0 & !SWC & !SWB &

50、; !SWA & W3</p><p>  # !ST0 & !SWC & !SWB & SWA & W3</p><p>  # !ST0 & !SWC & SWB & !SWA & W3</p><p>  # !ST0 & !SWC & SWB & SWA &

51、; W3</p><p>  # !ST0 & SWC & !SWB & !SWA & W3</p><p>  # ST0 & !SWC & !SWB & SWA & W1</p><p>  # ST0 & !SWC & SWB & SWA & W3</p>

52、;<p>  # ST0 & !SWC & SWB & SWA & W1</p><p>  # ST0 & SWC & !SWB & !SWA & W1);</p><p>  LDRi = ST0 & !SWC & SWB & SWA & W3</p><p

53、>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & IR4 & W3</p>

54、<p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W3;<

55、;/p><p>  LDDR2 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & IR

56、4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W2;</p><p>  LDDR1 = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 &

57、!IR5 & !IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6

58、 & IR5 & !IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & IR4 & W2;</p><p>  LDAR = !(!ST0 & !SWC & !SWB & SWA & W3

59、</p><p>  # !ST0 & !SWC & SWB & !SWA & W3</p><p>  # !ST0 & !SWC & SWB & SWA & W3</p><p>  # !ST0 & SWC & !SWB & !SWA & W3</p>

60、<p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W2);<

61、/p><p>  AR_INC = ST0 & !SWC & !SWB & SWA & W3</p><p>  # ST0 & !SWC & SWB & !SWA & W3;</p><p>  LDPC = !(!ST0 & !SWC & !SWB & !SWA & W3

62、</p><p>  # !ST0 & !SWC & SWB & SWA & W3</p><p>  # !ST0 & SWC & !SWB & !SWA & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR

63、6 & !IR5 & IR4 & C & W3);</p><p>  PC_INC = ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & !IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !

64、SWA & !IR7 & !IR6 & !IR5 & IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & !IR6 & IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB &

65、amp; !SWA & !IR7 & !IR6 & IR5 & IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & !IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !

66、SWB & !SWA & !IR7 & IR6 & !IR5 & IR4 & W2</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & IR5 & !IR4 & W3</p><p>  # ST0 & !SWC &am

67、p; !SWB & !SWA & !IR7 & IR6 & IR5 & IR4 & W3;</p><p>  LDIR = ST0 & !SWC & !SWB & !SWA & W1</p><p>  # ST0 & !SWC & SWB & SWA & W2</p&g

68、t;<p>  # ST0 & SWC & !SWB & !SWA & W2;</p><p>  TJ = !ST0 & !SWC & !SWB & SWA & W3</p><p>  # !ST0 & !SWC & SWB & SWA & W3</p><

69、p>  # !ST0 & SWC & !SWB & !SWA & W3</p><p>  # ST0 & !SWC & SWB & SWA & W2</p><p>  # ST0 & !SWC & !SWB & SWA & W3</p><p>  # ST0

70、& !SWC & SWB & !SWA & W1</p><p>  # ST0 & !SWC & SWB & SWA & W3</p><p>  # ST0 & SWC & !SWB & !SWA & W3</p><p>  # ST0 & !SWC &am

71、p; !SWB & !SWA & !IR7 & IR6 & IR5 & !IR4 & W3</p><p>  # ST0 & !SWC & !SWB & !SWA & !IR7 & IR6 & IR5 & IR4 & W3;</p><p>  SKIP = !ST0 &

72、; !SWC & !SWB & !SWA & W1</p><p>  # !ST0 & !SWC & !SWB & SWA & W1</p><p>  # !ST0 & !SWC & SWB & !SWA & W1</p><p>  # !ST0 & !SWC &a

73、mp; SWB & SWA & W1</p><p>  # !ST0 & SWC & !SWB & !SWA & W1</p><p>  # ST0 & !SWC & !SWB & SWA & W1</p><p>  # ST0 & !SWC & SWB &

74、 !SWA & W1;</p><p><b>  END</b></p><p>  四.硬布線控制器指令周期流程圖</p><p>  說(shuō)明:上圖為PPT中給出的參考硬連線控制器的指令周期流程圖。</p><p>  在本次試驗(yàn)中,選用3個(gè)節(jié)拍電位對(duì)大多數(shù)指令就夠用,所以節(jié)拍電位發(fā)生器產(chǎn)生3個(gè)點(diǎn)位信號(hào)(W1~

75、W3)。</p><p>  對(duì)于所需節(jié)拍電位時(shí)間較多的指令如何處理,這里采用的是將一條機(jī)器指令的執(zhí)行化為占用兩條(或者更多)機(jī)器指令的節(jié)拍,例如執(zhí)行一條指令可以占用W1、W2、W3、W1、W2、W3六拍時(shí)間。為了區(qū)分一條指令的兩個(gè)不同階段,可用某些特殊的寄存器標(biāo)志將其區(qū)分,例如,F(xiàn)LAG=0時(shí),表示該指令執(zhí)行第一個(gè)W1、W2、W3;FLAG=1時(shí),表示該指令執(zhí)行第二個(gè)W1、W2、W3。由于有些控制臺(tái)指令只需要4

76、拍,占用2條機(jī)器指令周期(6拍)則浪費(fèi)了時(shí)間。為了減少浪費(fèi),在時(shí)序電路中加入了一個(gè)控制信號(hào)SKIP的輸入,該信號(hào)的作用是使節(jié)拍發(fā)生器在任意狀態(tài)下直接跳到最后1拍(W3)。這樣,設(shè)計(jì)控制流程時(shí),在所需節(jié)拍較少的指令流程適當(dāng)?shù)奈恢檬筍KIP控制信號(hào)有效,多余的節(jié)拍就可以跳過(guò),從而提高了性能。</p><p><b>  五.設(shè)計(jì)說(shuō)明書</b></p><p>  一、教學(xué)

77、目的、任務(wù)與實(shí)驗(yàn)設(shè)備</p><p><b> ?。ㄒ唬┙虒W(xué)目的</b></p><p> ?。?)融會(huì)貫通計(jì)算機(jī)組成原理課程、計(jì)算機(jī)組織和結(jié)構(gòu)的內(nèi)容,通過(guò)知識(shí)的綜合運(yùn)用,加深對(duì)計(jì)算機(jī)系統(tǒng)各模塊的工作原理及相互聯(lián)系的認(rèn)識(shí),特別是對(duì)硬連線控制器的認(rèn)識(shí)。</p><p> ?。?)學(xué)習(xí)運(yùn)用ISP(在系統(tǒng)編程)技術(shù)進(jìn)行設(shè)計(jì)和調(diào)試的基本步驟和方法,熟悉

78、集成開(kāi)發(fā)軟件中設(shè)計(jì)、模擬調(diào)試工具的使用,體會(huì)ISP技術(shù)相對(duì)于傳統(tǒng)開(kāi)發(fā)技術(shù)的優(yōu)點(diǎn)。</p><p> ?。?)培養(yǎng)科學(xué)研究的獨(dú)立工作能力,取得工程設(shè)計(jì)與組裝調(diào)試的實(shí)踐經(jīng)驗(yàn)。</p><p>  (二)設(shè)計(jì)與調(diào)試任務(wù)</p><p> ?。?)按給定的數(shù)據(jù)格式和指令系統(tǒng),在所提供的器件范圍內(nèi),設(shè)計(jì)一臺(tái)硬連線控制器控制的模型計(jì)算機(jī)。</p><p>

79、;  (2)根據(jù)設(shè)計(jì)圖紙,在通用實(shí)驗(yàn)臺(tái)上進(jìn)行組裝,或?qū)ξ⒊绦蚩刂品桨傅哪P蜋C(jī)進(jìn)行改裝,并調(diào)試成功。</p><p>  (3)在組裝調(diào)試成功的基礎(chǔ)上,整理出設(shè)計(jì)圖紙和其他文件,包括:</p><p> ?。保偪驁D(數(shù)據(jù)通路圖);</p><p> ?。玻策B線控制器邏輯模塊圖;</p><p> ?。常KABEL語(yǔ)言源程序(如果有的話);

80、</p><p> ?。矗策B線控制流程圖;</p><p> ?。担M向量測(cè)試方程(可以和ABEL源程序合并);</p><p><b> ?。叮帕袌D;</b></p><p><b> ?。罚O(shè)計(jì)說(shuō)明書;</b></p><p><b>  8.調(diào)試小結(jié)

81、。</b></p><p>  如果沒(méi)有第3點(diǎn)的ABEL源程序,則文件中必須包含控制信號(hào)的譯碼函數(shù)方程組,用邏輯表達(dá)式表示出每個(gè)控制信號(hào)。</p><p><b>  (三)實(shí)驗(yàn)設(shè)備</b></p><p> ?。?)TEC-5一臺(tái)</p><p>  (2)雙蹤示波器一臺(tái)</p><p&

82、gt;  (3)直流萬(wàn)用表一只</p><p> ?。?)邏輯測(cè)試筆一支(在TEC-5上)</p><p>  集成電路建議使用ISP芯片(一片ispLSI1032)。采用ISP器件,則需要一臺(tái)PC機(jī)運(yùn)行設(shè)計(jì)自動(dòng)化軟件(例如ispEXPERT)作設(shè)計(jì)、編程和下載使用。</p><p>  二、數(shù)據(jù)格式和指令系統(tǒng)</p><p>  采用與模型

83、計(jì)算機(jī)相同的指令系統(tǒng),即8條機(jī)器指令。</p><p><b>  三、總體設(shè)計(jì)</b></p><p>  硬連線控制器模型機(jī)所使用的時(shí)序信號(hào)比微程序控制器的要多一些,除了原有的時(shí)序信號(hào)T1至T4外,還需要節(jié)拍信號(hào),一拍等于一個(gè)T1至T4循環(huán)。實(shí)驗(yàn)儀提供的節(jié)拍信號(hào)有三個(gè):W1至W3。如果實(shí)驗(yàn)臺(tái)提供的節(jié)拍信號(hào)不能滿足需要(例如需要4拍),可以用寄存器或GAL等自行構(gòu)造

84、,再?gòu)臅r(shí)序發(fā)生器引入T1至T4信號(hào),也可以直接將節(jié)拍發(fā)生器設(shè)計(jì)到ISP芯片內(nèi)部。</p><p>  四、硬連線控制器的設(shè)計(jì)特點(diǎn)</p><p>  本次實(shí)驗(yàn)的重點(diǎn)就在于硬連線控制器的設(shè)計(jì),因?yàn)橛策B線控制器大部分線路連接都在ispLSI1032芯片內(nèi)部,因此設(shè)計(jì)方案的優(yōu)劣,不取決于使用器件的多少,主要取決于設(shè)計(jì)的思路和質(zhì)量。</p><p> ?。?)控制器的設(shè)計(jì)思

85、路</p><p>  硬連線控制器能夠?qū)崿F(xiàn)控制功能,關(guān)鍵在于它的組合邏輯譯碼電路。譯碼電路的任務(wù)就是將一系列有關(guān)指令、時(shí)序等的輸入信號(hào),轉(zhuǎn)化為一個(gè)個(gè)控制信號(hào),輸出到各執(zhí)行部件中。</p><p>  根據(jù)硬連線控制器的基本原理,針對(duì)每個(gè)控制信號(hào)S,可以列出它的譯碼函數(shù) S = f( Im, Mi, Tk, Bj ) 其中Im是機(jī)器指令操作碼譯碼器的輸出信號(hào),Mi是

86、節(jié)拍信號(hào)發(fā)生器的節(jié)拍信號(hào),Tk是時(shí)序信號(hào)發(fā)生器的時(shí)序信號(hào),Bj是狀態(tài)條件判斷信號(hào)。</p><p>  在TEC—5實(shí)驗(yàn)系統(tǒng)中,因?yàn)闀r(shí)序信號(hào)Tk(T1—T4)已經(jīng)直接輸送給數(shù)據(jù)通路,所以譯碼電路不需Tk作為輸入。又因?yàn)闄C(jī)器指令系統(tǒng)比較簡(jiǎn)單,操作碼只有4位,不需要專門的操作碼譯碼器,因此Im直接就是操作碼,即指令寄存器的IR4—IR7信號(hào)。Mi的來(lái)源就是時(shí)序模塊的節(jié)拍信號(hào),例如W3—W1。Bj的信號(hào)包括:</

87、p><p> ?。薄?lái)自數(shù)據(jù)通路中運(yùn)算器ALU的進(jìn)位信號(hào)C; 2、來(lái)自控制臺(tái)的開(kāi)關(guān)信號(hào)SWC、SWB、SWA; 3、其他信號(hào)。</p><p>  其中C、SWC、SWA和SWB信號(hào)在微程序控制器中同樣存在,不用加以解釋。由于硬連線控制器設(shè)計(jì)和微程序控制器設(shè)計(jì)的不同需求和特點(diǎn)以及控制器的設(shè)計(jì)方案的不同,可能需要其他信號(hào),也可能不需要其他信號(hào),根據(jù)設(shè)計(jì)方案而定。</

88、p><p>  每個(gè)控制信號(hào)的函數(shù)式都是上述輸入信號(hào)的邏輯表達(dá)式,因此可以用各種組合邏輯構(gòu)造電路網(wǎng)絡(luò),實(shí)現(xiàn)這些表達(dá)式的邏輯功能。理論上,只要對(duì)所有控制信號(hào)都設(shè)計(jì)出譯碼函數(shù),這個(gè)硬連線控制器的方案也就得到了。</p><p><b> ?。?)控制流程設(shè)計(jì)</b></p><p>  設(shè)計(jì)硬連線控制器的控制流程,也就是解決Mi、Im、Bj如何起作用的

89、問(wèn)題。設(shè)計(jì)微程序控制器時(shí)可以使用流程圖,設(shè)計(jì)硬連線控制器同樣可以使用流程圖。微程序控制器的控制信號(hào)以微指令周期為時(shí)間單位,硬連線控制器以節(jié)拍為時(shí)間單位,兩者本質(zhì)上是一樣的,1拍和1個(gè)微指令周期都是從時(shí)序T1的上升沿到T4的下降沿的一段時(shí)間。在微程序控制流程圖中,1個(gè)執(zhí)行框代表1個(gè)微指令周期,而在硬連線控制流程圖中,1個(gè)執(zhí)行框就代表1拍。 不過(guò),在微程序控制器中,控制流程可以直接轉(zhuǎn)化為微指令程序,存放于控制存儲(chǔ)器內(nèi),受到的限制較少

90、;而設(shè)計(jì)硬連線控制器的控制流程,要考慮的因素就多一些。1、執(zhí)行一條機(jī)器指令的節(jié)拍數(shù)</p><p>  微程序控制器中,執(zhí)行一條機(jī)器指令所需要的微指令數(shù)目可根據(jù)需要而定,不同的機(jī)器指令需要的微指令數(shù)目可以差別很大,有的指令使用的微指令數(shù)目較多,只要控制存儲(chǔ)器中能安排得下就行。執(zhí)行一條機(jī)器指令所需的微指令數(shù)目,在硬連線控制器中相當(dāng)于機(jī)器指令所需的節(jié)拍數(shù)。決定執(zhí)行一條指令需要的節(jié)拍數(shù),要根據(jù)所有指令而定。既不能只

91、考慮某些需要最多節(jié)拍的指令,也不能只考慮節(jié)拍數(shù)最少的指令,一般要根據(jù)大多數(shù)機(jī)器指令所需的節(jié)拍數(shù)而定,設(shè)計(jì)才比較合理。在本實(shí)驗(yàn)中,由于選用3拍對(duì)大多數(shù)指令就夠用,所以節(jié)拍發(fā)生器產(chǎn)生3個(gè)節(jié)拍信號(hào)(W1—W3)。 機(jī)器指令選用3拍以后,對(duì)于所需節(jié)拍較多的指令如何處理?采用的方法大致有兩種,一種是修改時(shí)序電路,采用變節(jié)拍的方式實(shí)現(xiàn),即對(duì)于所需節(jié)拍較多的指令,時(shí)序電路產(chǎn)生較多的節(jié)拍,許多計(jì)算機(jī)系統(tǒng)就是這樣做的。另一種方法是將一條機(jī)器指令的

92、執(zhí)行化為占用兩條(或者更多)機(jī)器指令的節(jié)拍,例如執(zhí)行一條指令可以占用W1、W2、W3、W1、W2、W3六拍時(shí)間。為了區(qū)分一條指令的兩個(gè)不同階段,可用某些特殊的寄存器標(biāo)志將其區(qū)分,例如,F(xiàn)LAG = 0時(shí),表示該指令執(zhí)行第一個(gè)W1、W2、W3;FLAG </p><p>  2、控制臺(tái)操作的問(wèn)題 機(jī)器指令的執(zhí)行流程設(shè)計(jì)出來(lái)后,還要有微程序控制器那樣的控制臺(tái)操作。這部分不屬于機(jī)器指令系統(tǒng),而又要象完成機(jī)器指令

93、那樣以不超過(guò)3拍的時(shí)間來(lái)執(zhí)行,以便與機(jī)器指令的執(zhí)行方式統(tǒng)一起來(lái)。微程序控制器中有微地址寄存器,通過(guò)微程序地址可以記住是處于控制臺(tái)狀態(tài)還是程序運(yùn)行狀態(tài)。在硬連線控制器中,就要設(shè)置一個(gè)或者幾個(gè)標(biāo)志來(lái)記錄當(dāng)前的狀態(tài)。根據(jù)這個(gè)(些)標(biāo)志,就可以區(qū)分控制臺(tái)初始狀態(tài)、控制臺(tái)讀內(nèi)存、控制臺(tái)寫內(nèi)存、程序運(yùn)行狀態(tài)。</p><p><b>  3、硬連線控制器</b></p><p>

94、  使用ISP技術(shù),則控制器的電路設(shè)計(jì)完全是在開(kāi)發(fā)軟件上進(jìn)行的。只要在計(jì)算機(jī)上畫出電路的原理圖和/或編寫好必要的源程序,軟件會(huì)自動(dòng)完成控制器內(nèi)部的線路連接,無(wú)須自己去接線,因此,本次實(shí)驗(yàn)的工作量可能會(huì)比微程序控制器要小一些。</p><p>  設(shè)計(jì)出了硬連線控制流程圖后,就可以據(jù)此設(shè)計(jì)出譯碼邏輯電路。先根據(jù)流程圖列出譯碼表,作為邏輯設(shè)計(jì)的依據(jù)。與微程序表的設(shè)計(jì)相似,譯碼表的內(nèi)容也包括橫向設(shè)計(jì)和縱向設(shè)計(jì)。流程圖中

95、橫向?yàn)橐慌模╓1、W2、W3等),縱向?yàn)橐粭l指令,而譯碼邏輯是針對(duì)每一個(gè)控制信號(hào)的,因此在譯碼表中,橫向變成了一個(gè)信號(hào)。下表是譯碼表的一般格式,單元格中的內(nèi)容表示該控制信號(hào)在該指令中有效的條件(主要是節(jié)拍信號(hào)條件)。</p><p>  表6 組合邏輯譯碼表的一般格式</p><p>  根據(jù)譯碼表可以寫出每個(gè)控制信號(hào)的邏輯表達(dá)式,這個(gè)表達(dá)式就是它所在的行各乘積項(xiàng)相加(邏輯或)。如果使

96、用可編程邏輯電路(GAL、ISP等),只要將表達(dá)式直接寫成ABEL源程序,編譯軟件會(huì)自動(dòng)完成電路優(yōu)化的工作。這樣做除了可以減少出錯(cuò)的幾率外,未經(jīng)簡(jiǎn)化的表達(dá)式也便于閱讀和理解。五、組裝與調(diào)試 數(shù)據(jù)通路、時(shí)序發(fā)生器的組裝和分調(diào)試可參閱第七節(jié)中的介紹,下面是硬連線控制器的分調(diào)試和最后的總調(diào)試。</p><p>  由于使用在系統(tǒng)可編程邏輯電路,集成度高,靈活性強(qiáng),編程、下載方便,用于硬連線控制器將使分調(diào)變得

97、相當(dāng)簡(jiǎn)單??刂破鲀?nèi)部連線集中在芯片內(nèi)部,由程序自動(dòng)完成,其速度、準(zhǔn)確率和可靠性都是人工接線所不可比擬的。</p><p>  ISP技術(shù)設(shè)計(jì)的硬連線控制器,其分調(diào)試完全是軟件模擬的向量測(cè)試。但應(yīng)注意,向量測(cè)試方程的設(shè)計(jì)應(yīng)全面,盡量覆蓋所有的可能性,避免將錯(cuò)漏帶到總調(diào)試中。另外要注意兩個(gè)細(xì)節(jié)問(wèn)題:</p><p>  (1)測(cè)試軟件要求測(cè)試狀態(tài)連續(xù),即上一方程的終結(jié)狀態(tài)作為下一方程的初始狀態(tài)

98、,不能中斷;</p><p>  (2)如果方程的輸入向量組中有某些影響輸出向量的項(xiàng)缺失,測(cè)試仍能進(jìn)行,但缺失項(xiàng)將會(huì)以隨機(jī)值影響輸出。</p><p>  分調(diào)正常后,可進(jìn)行將控制器與數(shù)據(jù)通路等模塊連接,進(jìn)行全機(jī)總調(diào)試。</p><p>  與微程序控制器相類似,總調(diào)的第一步是檢查全部硬連線控制流程,以單拍(DP)方式執(zhí)行指令。進(jìn)行的順序也是先執(zhí)行控制臺(tái)指令,然后執(zhí)

99、行機(jī)器指令。當(dāng)全部控制流程圖檢查完畢后,如果數(shù)據(jù)通路的執(zhí)行部件(運(yùn)算器、存儲(chǔ)器等)功能正確,就算總調(diào)第一步完成。</p><p>  第二步是在內(nèi)存中裝入包括有全部指令系統(tǒng)的一段程序和有關(guān)數(shù)據(jù),進(jìn)一步可采用單步(DB)方式或連續(xù)方式執(zhí)行,以驗(yàn)證機(jī)器執(zhí)行指令的正確性。</p><p>  第三步是編寫一段表演程序,令機(jī)器運(yùn)行。</p><p>  第四步是運(yùn)行指導(dǎo)老師

100、給出的驗(yàn)收程序。如果通過(guò),則設(shè)計(jì)和調(diào)試完成。</p><p><b>  六、參考設(shè)計(jì)方案</b></p><p>  在上文中對(duì)設(shè)計(jì)硬連線控制器的要點(diǎn)和注意事項(xiàng)已進(jìn)行了扼要的說(shuō)明,本部分提供一個(gè)設(shè)計(jì)方案,作為參考。設(shè)計(jì)方案可以有多種,不存在標(biāo)準(zhǔn)答案。一個(gè)設(shè)計(jì)方案,只要能實(shí)現(xiàn)指令系統(tǒng)的功能,就是正確的。當(dāng)然,各個(gè)設(shè)計(jì)方案,可能有優(yōu)劣之分,主要取決于朝什麼方向優(yōu)化,以及

101、優(yōu)化的程度。一個(gè)好的計(jì)算機(jī)設(shè)計(jì)方案,應(yīng)從指令系統(tǒng)開(kāi)始設(shè)計(jì),包括指令的功能和格式,然后設(shè)計(jì)數(shù)據(jù)通路和控制器。設(shè)計(jì)數(shù)據(jù)通路和控制器的過(guò)程中,可能又要對(duì)指令系統(tǒng)進(jìn)行修改,幾經(jīng)反復(fù),才可能確定總體方案。當(dāng)指令系統(tǒng)和數(shù)據(jù)通路已經(jīng)確定之后,只要再確定了指令的節(jié)拍,控制器就容易設(shè)計(jì)了。</p><p>  本參考方案采用一條指令最多用3拍完成,即W1、W2、W3。對(duì)于控制臺(tái)指令,不能用3拍完成,則用控制臺(tái)標(biāo)志ST0加以區(qū)分。按

102、復(fù)位按鈕CLR#后,使ST0復(fù)位為0,當(dāng)執(zhí)行完一組W1、W2、W3后,使ST0為1。T1、T2、T3、T4仍用實(shí)驗(yàn)系統(tǒng)的連接。</p><p><b>  硬連線控制器流程圖</b></p><p>  硬連線控制器流程圖如圖3.10所示。它是對(duì)微程序控制器流程圖稍加改造產(chǎn)生的。此圖是沒(méi)有經(jīng)過(guò)歸并和化簡(jiǎn)的流程圖,目的是使控制流程中的信號(hào)看得更清楚。</p>

103、<p><b>  ABEL語(yǔ)言源程序</b></p><p><b>  編譯、下載和接線</b></p><p><b>  編譯和下載</b></p><p>  首先,在PC機(jī)上運(yùn)行ispEXPERT軟件,建立一個(gè)新項(xiàng)目,在該項(xiàng)目下,輸入ABEL語(yǔ)言源文件,經(jīng)過(guò)編譯和適配,生成J

104、ED文件。用出廠時(shí)提供的下載電纜將PC機(jī)的打印機(jī)接口和實(shí)驗(yàn)臺(tái)上的下載插座(編程插座)相連。打開(kāi)實(shí)驗(yàn)系統(tǒng)電源,即可在ispEXPERT軟件內(nèi)向ISP1032下載。有關(guān)ispEXPERT的使用,可參考第二章,這里不再敘述。</p><p><b>  接線</b></p><p>  1.時(shí)序電路和ISP1032的接線</p><p>  2.控制

105、臺(tái)和ISP1032的接線</p><p>  3.?dāng)?shù)據(jù)通路和ISP1032的接線</p><p><b>  數(shù)據(jù)通路內(nèi)部接線</b></p><p><b>  參考程序和實(shí)驗(yàn)步驟</b></p><p>  可參考3.5節(jié)的實(shí)驗(yàn)程序和步驟。</p><p><b&g

106、t;  六.設(shè)計(jì)與調(diào)試小結(jié)</b></p><p>  設(shè)計(jì)硬布線控制器,先根據(jù)設(shè)計(jì)好的硬布線控制器的指令周期流程圖,分別列出每條控制信號(hào)的邏輯表達(dá)式,這部分設(shè)計(jì)主要是和時(shí)序中的W1-W3有關(guān),T1-T4是在數(shù)據(jù)通路中由與門已經(jīng)與各信號(hào)連接好的,所以編程時(shí)不用考慮。</p><p>  在列寫邏輯表達(dá)式及編程下載調(diào)試過(guò)程的出現(xiàn)的問(wèn)題:</p><p> 

107、 關(guān)于RS_BUS和RS_DBUS的問(wèn)題。在設(shè)計(jì)的指令流程圖中有兩個(gè)從RS將數(shù)據(jù)打到總線上的控制信號(hào)。</p><p>  解決方案:其實(shí)質(zhì)是一樣的,編寫程序時(shí),只需要編寫一個(gè)控制信號(hào)即可。</p><p>  在指令流程圖中ALU=A+B這樣的信號(hào)應(yīng)該如何編寫控制信號(hào)?</p><p>  解決方案:ALU是由一片74LS181構(gòu)成,通過(guò)S0-S3以及M和Cn#可

108、以直接控制ALU做算術(shù)運(yùn)算還是邏輯運(yùn)算,以及是做何種算術(shù)運(yùn)算或邏輯運(yùn)算,所以,其實(shí)真正控制ALU的信號(hào)是S0-S3以及M和Cn#,通過(guò)74181ALU算術(shù)/邏輯運(yùn)算功能表編寫各需要實(shí)現(xiàn)的功能。</p><p>  在JC跳轉(zhuǎn)指令中,需要通過(guò)C進(jìn)位來(lái)判斷下一條指令是跳轉(zhuǎn)還是順序執(zhí)行,這個(gè)C應(yīng)該如何編寫?</p><p>  解決方案:C是ALU的運(yùn)算進(jìn)位信號(hào),在編碼時(shí)候要考慮進(jìn)去,就像時(shí)序W

109、一樣與在邏輯表達(dá)式中,就和IR7-4和SW3-0一樣是多路選擇的條件。</p><p>  在ALU功能表中沒(méi)有A-B運(yùn)算,應(yīng)該如何處理?</p><p>  解決方案:ALU的邏輯功能表中算術(shù)運(yùn)算部分又分為兩行,一行是Cn#=0,另一行是Cn#=1,Cn#是一個(gè)強(qiáng)制進(jìn)位,低電平有效,當(dāng)Cn#=0時(shí),產(chǎn)生強(qiáng)制進(jìn)位,則運(yùn)算出的A-B-1再加上末位的強(qiáng)制進(jìn)位之后正好輸出的就是A-B,而在編寫其

110、他功能比如A+B時(shí),則還是讓Cn#=1不產(chǎn)生強(qiáng)制進(jìn)位。即Cn#也是一控制信號(hào),需要編寫到程序當(dāng)中。</p><p>  重要的控制信號(hào)為了保證其穩(wěn)定工作,都需要用低電平有效,對(duì)于低電平有效的信號(hào),應(yīng)該如果編寫邏輯表達(dá)式?</p><p>  解決方案:對(duì)于低電平有效,還是將出現(xiàn)該控制信號(hào)的位置和時(shí)序相與,之后再整體取非即可。</p><p>  對(duì)于像LR/W#之類

111、的信號(hào),高低電平代表不同的意思時(shí)怎么編邏輯表達(dá)式?</p><p>  解決方案:還是只看為1有效的情況,為0的情況不用寫入邏輯表達(dá)式的或中,否則會(huì)出現(xiàn)只有在全部都為0有效時(shí)結(jié)果才會(huì)為0,而這種情況是不可能出現(xiàn)的,導(dǎo)致LR/W#會(huì)一直為1。相同的情況也出現(xiàn)在S0-S3和M的編寫上。</p><p>  如何編寫STO以使得控制臺(tái)可以自動(dòng)轉(zhuǎn)化?</p><p>  解

112、決方案:增添標(biāo)志位FLAG用于實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn)。當(dāng)CLR信號(hào)有效時(shí),標(biāo)記FLAG置0,SST0和STO也都置0,此時(shí)控制臺(tái)的處于W3,下一節(jié)拍到來(lái),控制臺(tái)進(jìn)入W1,由FLAG有效表達(dá)式,可知FLAG有效,這時(shí)通過(guò)用SST0變量來(lái)記錄FLAG有效的信息,將SST0置1,這樣即使FLAG下一節(jié)拍變?yōu)?(因?yàn)檫M(jìn)入了W2拍),也可以通過(guò)查看SST0的值來(lái)確認(rèn)FLAG曾經(jīng)有效,然后使用條件SST0有效和W1節(jié)拍的到來(lái)來(lái)使STO值置1有效,這樣在下一個(gè)

113、W1節(jié)拍,由STO,SWC,SWB,SWA即確定了此刻控制器進(jìn)入的控制臺(tái),實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn)的功能。</p><p>  編寫的程序出現(xiàn)過(guò)and overload的錯(cuò)誤,怎么回事?</p><p>  解決方案:發(fā)現(xiàn)當(dāng)std_logic類型變量和bit類型變量共同使用and時(shí),就會(huì)報(bào)錯(cuò),即兩種不同類型的變量不能用同一個(gè)and,將變量類型統(tǒng)一后問(wèn)題解決。</p><p> 

114、 9. 在編程中,process中的敏感信號(hào)需要把各個(gè)控制變量寫出來(lái)嗎?</p><p>  解決方案:不需要,只需要將實(shí)際產(chǎn)生影響的信號(hào),如CLR寫入敏感信號(hào)中即可,其他信號(hào)可以隨意,它們是否變化仍取決于敏感信號(hào)表中各敏感信號(hào)的變化。</p><p>  10. 程序編譯通過(guò)后,下載時(shí)找不到 .jed 文件,即未生成 .jed 文件,怎么回事?</p><p>

115、  解決方案:編程過(guò)程中選錯(cuò)了器件,應(yīng)該選擇器件ispLSI1032E-70LJ84而非默認(rèn)器件。</p><p>  11. 在編譯生成管腳時(shí),出現(xiàn)了芯片上沒(méi)有對(duì)應(yīng)序號(hào)的管腳,原因是什么?</p><p>  解決方案:同上一個(gè)問(wèn)題,也是選錯(cuò)了器件,而且在重選完器件后會(huì)出現(xiàn)提示是否擴(kuò)充管腳的對(duì)話框,要選擇否,否則器件又會(huì)變成ispLST1032E-70LJ100。</p>

116、<p>  12. 下載成功后,開(kāi)始檢驗(yàn)程序正確性,有的管腳出現(xiàn)錯(cuò)誤,原因是?</p><p>  解決方案:有時(shí)是因?yàn)槌绦蚓帉懙腻e(cuò)誤,此時(shí)重新修改程序并編譯下載;有時(shí)是因?yàn)橛袛嗑€,用邏輯筆測(cè)定后,更換連線即可。 </p><p>  13. 如何進(jìn)行最后的程序運(yùn)行?</p><p>  解決方案:按照要求將所需程序和數(shù)據(jù)存入寄存器和內(nèi)存中,確認(rèn)數(shù)據(jù)均正確

117、存入后,選擇DB(單步)或者DP(單拍)或者連續(xù)方式運(yùn)行程序,檢查所有可能輸出及相關(guān)管腳電平變化情況,無(wú)誤后結(jié)束。</p><p><b>  七.調(diào)試過(guò)程</b></p><p>  關(guān)于調(diào)試驗(yàn)收所用程序:</p><p>  1. SWC、SWB、SWA為控制臺(tái)指令的定義開(kāi)關(guān),卻別控制臺(tái)指令對(duì)應(yīng)的微程序流程,IR7~IR4為機(jī)器指令操作

118、碼字段,卻別不同機(jī)器指令對(duì)應(yīng)的微程序流程。試驗(yàn)臺(tái)上均接到芯片相應(yīng)的管腳,而IR3~IR0應(yīng)提供給數(shù)據(jù)通路,接線如下:</p><p>  2. 調(diào)試過(guò)程:首先按照芯片管腳分配將控制器與數(shù)據(jù)通路相連接,檢查全部硬連線控制流程,以單拍(DP)方式執(zhí)行指令。進(jìn)行的順序也是先(選擇SWC、SWB、SWA相應(yīng)值)執(zhí)行控制臺(tái)指令,然后(SWC~SWA選000,根據(jù)IR7~IR4不同取值)執(zhí)行機(jī)器指令。檢查各個(gè)控制信號(hào)是否

119、有效,全部控制流程圖是否執(zhí)行正確,若數(shù)據(jù)通路的執(zhí)行部件(運(yùn)算器、存儲(chǔ)器)功能正確,即可在內(nèi)存中裝入包括有全部指令系統(tǒng)的一段程序和相關(guān)數(shù)據(jù),進(jìn)一步可采用單步(DB)方式或者連續(xù)方式(DP=DB=0)執(zhí)行,以驗(yàn)證機(jī)器執(zhí)行指令的正確性。</p><p><b>  程序譯碼:</b></p><p>  需要注意的幾個(gè)問(wèn)題:</p><p>  1.

120、 在VHDL語(yǔ)言中,不允許對(duì)于同一個(gè)控制信號(hào)寫兩個(gè)條件相關(guān)的IF語(yǔ)句,雖然不會(huì)產(chǎn)生報(bào)錯(cuò),但是最終的結(jié)果會(huì)產(chǎn)生問(wèn)題,要寫成if-else if的形式。</p><p>  2. 在CLR之后時(shí)序停在了W3的T4節(jié)拍脈沖上。</p><p>  3. 若用CLR邊沿觸發(fā)來(lái)改變標(biāo)志位,則要兩次進(jìn)入process,導(dǎo)致此時(shí)SST0的值又變?yōu)?了,所以應(yīng)該用CLR電平來(lái)改變標(biāo)志位。</p

121、><p>  4. 斷電后內(nèi)存和寄存器中的數(shù)據(jù)將會(huì)丟失,而下載到系統(tǒng)中的程序?qū)?huì)保持,故重啟時(shí)需要重新寫入所需數(shù)據(jù)到內(nèi)存和寄存器中。</p><p>  5. 在連線時(shí),注意IR3-IR0在生成對(duì)應(yīng)管腳時(shí)是沒(méi)有的,但是連線必須要按照數(shù)據(jù)通路信號(hào)對(duì)照表連接,否則在讀寫寄存器堆的時(shí)候會(huì)出現(xiàn)嚴(yán)重問(wèn)題。</p><p>  八.本組各成員實(shí)驗(yàn)心得體會(huì)</p>

122、<p>  這次我們做的是硬連線控制器的運(yùn)用與調(diào)試,這是一個(gè)軟件與硬件結(jié)合的實(shí)驗(yàn),在其中我們不僅要在電路箱中連接電路,還要通過(guò)電腦來(lái)設(shè)計(jì)芯片。我覺(jué)得這個(gè)實(shí)驗(yàn)是綜合了組成原理我們之前所做的所有試驗(yàn)的要求,在之前的實(shí)驗(yàn)的基礎(chǔ)上來(lái)做出這個(gè)實(shí)驗(yàn),就像在電路連接的部分,我們不僅要分別連接時(shí)序電路、控制臺(tái)、數(shù)據(jù)通路和ISP1032的接線,還要連接3.5節(jié)的關(guān)于CPU組成的實(shí)驗(yàn)電路。這次試驗(yàn)很好地鍛煉了我們的自學(xué)、協(xié)作和動(dòng)手能力還有耐心。&

123、lt;/p><p>  雖然實(shí)驗(yàn)的步驟并不是很多,但是整個(gè)過(guò)程中,我們還是遇到了很多問(wèn)題,首先,對(duì)于ISP這個(gè)軟件我們一點(diǎn)了解都沒(méi)有,得去慢慢深入了解,因?yàn)樵囼?yàn)里編程過(guò)程中,要寫入很多代碼,那么打代碼這就成了一件很需要耐心的事情,由于我們是分工作業(yè),所以代碼是由一個(gè)人打,因?yàn)榇a太多,出錯(cuò)就成了很容易出現(xiàn)的情況,所以在寫程序的過(guò)程中也遇到這種問(wèn)題,最終還是在大家的幫助下完成了編譯。編譯成功后,下載找不到.jed.文件

溫馨提示

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

評(píng)論

0/150

提交評(píng)論