计算机组成基本原理课程计划设计(桂林电子科技大学)_第1页
计算机组成基本原理课程计划设计(桂林电子科技大学)_第2页
计算机组成基本原理课程计划设计(桂林电子科技大学)_第3页
计算机组成基本原理课程计划设计(桂林电子科技大学)_第4页
计算机组成基本原理课程计划设计(桂林电子科技大学)_第5页
已阅读5页,还剩33页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-/'去b/' GUILIN UNIIVER5ITT OF ELECTRONIC TECHMOLOGYt- 壬 fc.F 计算机组成原理课程设计说明题目:设计 台嵌入式 CISC模型计算机院(系):计算机科学与工程学院专业:网络工程学生姓名:唐波学号:1100380219指导教师:陈智勇、课设题目:设计一台嵌入式 CISC模型计算机(采用定长CPU周期、联合控制方式),并运行能完成一定 功能的机器语言程序进行验证,实现方法可从以下4类中任选一个:连续输入5个有符号整数(8位二进制补码表示,用十六进制数输入) 数的绝对值并输出显示。,求最小的负说明:5个有符号数从外部输入;一定要

2、使用符号标志位(比如说 JNS)指令。SF),并且要使用为负的时候转移(比如或不为负的时候转移(比如CISC模型机系统总体设计捋令启谟工HUSau n cs DT red l cs ii r4 心 3>细据 Uachc *+ I I iCALU £IIJO-USo=x 丰路亓尹_匕:地2止1ULI3111仝%104!J5ID16£生hr地址阳令hcHiJV Ri, 1121LAB CKi J. Ks竺MJLI Ki, Kownrwc "Ri24DEC R±E爭JiSZ £12eSTO Rr Id2TjTur scT*A地址恙跌研I :tt

3、uji哥存辭上npr托序i十数带LBTCBOAlDUIKi2 : 4 i辛百可钿状倉宁-审疗甜LUFSif壬旳庁产土器片: 幡低炸sa课回XX通往I/O按厂I三.操作控制器的逻辑框图指令寄存器IRIRT.riT-RKn说明:在T4内形成微指令的微地址,并访问控制存储器, 在T2的上边沿到来时,将读出的微指令打入微指令寄存器,即图中的微命令寄存器和微地址寄存器。四. 模型机的指令系统和所有指令的指令格式由此可见,本模型机中的指令系统中共有 8条基本指令,下表9列出了每条指令的格式、 汇编符号和指令功能。指令助记符指令格式功能15-1211 109 870IN1 Rd0101XXRdXXXXXXX

4、X(Rd)+1 7 Rd,锁存标志位MOV Rd,im0001XXRdim立即数7 RdCMP Rs,Rd0011RsRdXXXXXXXXRs,Rd比较,INC Rd0010XXRdXXXXXXXX输入设备7 RdJNS addr0100XXXXaddr若大于,则addr 7 pcJMP addr0110XXXXaddraddr 7 pcOUT1 Rs1001RsXXXXXXXXXX(Rs) 7输出设备MOV1Rs,Rd1000RsRdXXXXXXXX(Rs) 7 RdNOT Rd0111XXRdXXXXXXXXData取反指令格式:(1) I/O指令(单字节)I说明:对Rs和Rd的规定:Rs

5、 或 Rd选定的寄存器0 0R00 1R11 0R21 1R3五. 所有机器指令的微程序流程图00设计操作控制器单元(即微程序控制器)(1)设计微指令格式和微指令代码表25位,其中微命令字段为CISC模型机系统使用的微指令采用全水平型微指令,字长为17位,P字段为2位,后继微地址为6位,其格式如下:25 24 23 22 21 20 19 18 17 16 1514 13 12 1110 987 65 4 3 2 1 0LOAD LDPC LDAR LDIR LDRi RD B RS B S2 S1 SO ALU B SW-B LED B RD D CS D RAM B CS I ADDR B

6、 P1 p2 后继微地址由微指令格式和微程序流程图编写的微指令代码表如下所示,在微指令的代码表中微命令字段从左边到右代表的微命令信号依次为:load LDPC LDAR LDIR LDRi RD_B RS_B S2 S1S0 ALU B SW B LED B RD D CS D RAM B CS I ADDR B微地址微命令字段P1P2后继微地址001101001000111111011000001001100010100011111110000000000210001110100111111100000001031000011001111111110000000004100000100011

7、01111101000011051000101000101111110000010006010000100011111110001000000710001111000111111100000000081000 1 1011010111111100010010091000 0000001101111100010100100100 0010001111111000000000(2)设计地址转移逻辑电路地址转移逻辑电路是根据微程序流程图3-2中的棱形框部分及多个分支微地址,利用微地址寄存器的异步置“ 1”端,实现微地址的多路转移。由于微地址寄存器中的触发器异步置“1”端低电平有效,与卩A4卩A对应的

8、异步置“1”FS P(2) T4I7 P(1) T4 I6 P(1) T4I5 P(1) T4 I4 P(1) T4控制信号SE5- SE1的逻辑表达式为:(卩A5勺异步置“1”端SE6实际未使用)SE5SE4SE2SE1SE3六. 嵌入式CISC模型计算机的顶层电路图玄 UaJ-u D 片.EiA Jn E|iTFiMl tn占舌 JtitBL gtian 祜nd” 2p tfCI-DLTVU7JT 14A'-11吗 fc 5 $ B 出 m 1£ a, 4 g a 肉 a g 工冃is£I - IJLa: 二L " 11 ' .-T r_t:r

9、-三电A J B V A网10 * wlL帀巴Io It rCROM:* * - 3 f M囂I产AA;A0-EiA JmOttIde HAndch Fpr 网自虫 mi£ a"B- ,| H W廻此帀旦七.汇编代码:MOV R0,00H功能:将0赋给R0MOV R1,FFH将FF赋给R1MOV R2,05H将05赋给R2L0:INC R0计数加1CMP R0,R2R0与R2比较,是否输入五个数JNS L3是跳转L2输出IN1 R3输入一个数到R3CMP R3,R1R3和R1比较,锁存CF,ZFJNS L2跳转L2输出JMP L1跳转L1L1:MOV1 R1,R3(R3)7

10、( R1)JMP L0跳转L0L2: NOT R1R1取反INC R1R1加1输出R1OUT1 R1八.机器语言源程序地址(十六进制)汇编语言源程序机器语言源程序代码00MOV R0,00H0001 0000 0000 0000100001MOV R1,FFH0001 0001 1111 111111FF02MOV R2,05H0001 0010 0000 0101102503L0:INC R00010 0000 0000 0000200004CMP R0,R20011 1000 0000 0000380005JNS L30100 0000 0000 1100400C06IN1 R30101

11、0011 0000 0000530007CMP R3,R10011 1101 0000 00003D0008JNS L20100 0000 0000 1010400A09JMP L10110 0000 0000 001160030AL1:MOV1 R1,R31000 1101 0000 00008D000BJMP L00110 0000 0000 001160030CL2: NOT R10111 0001 0000 000071000DINC R10010 0001 0000 000021000EOUT1 R11001 0100 0000 00009400九.机器语言源程序的功能仿真波形图及结

12、果分析1.MOV RO,OOH 2.M0V R1,FFH3.M0V R2,05H4.C MP R2,R0 5.IN1 R3(F4存到R3)6. M0V1 R3,R1(F4存入 R1)fttW栖一*H 炳町_W bWC-Lfl D R. EiA Jm 4h *iu LUh. Cricn vCnAca htapI虚g母' F 也赳昂5 2曲£ mia. Agol遐ra冋 j1吕 7 21«TISJ bn£ <h*4TEl4k 9 Cu "0 tua ?1 tkxa l2 4l» 1J Ota 14 IXja iSCkia : 

13、3; lXi» 1? iXn1 却 Ai*14 AmvOureuEf? a触wfjFlTip MHd也iSz mHF3阳詁呼w钿*1WI J/ IQ«KcO V【Hfl吕a? miHFF11/ Mh4*屮 G时聊4口qm qH 9& E|i& qnOQw £=0c尊D吋刚锢t %眉岬4LU|T qH 15tfi-U-RcumiuuuinMiwiLfuiMMJUMWwuiinmfwniMJiwiuiq 五 OdQI4C壯|1起)x'卄Tsry" "1;"M 匸需币厂祁H 严 “1! ym當“丁丫 打需 ii1訂i

14、nc M已rfc10niftKK02和s 谢.A J、 ; 9 AtlFFi" d.挣站說加S風© ¥Tii丄FT I旦阿阿iSlm ( M 105二L ". 門l .unTj叫"oj wn iw叭 j涮flTztzn 伽 I 如 7.IN1 R3(02存到R3) 8 .02是大于F4的正数,不跳到 L1存R1,直接跳回L0。6 bW(-u D R. EiA Jinr 4h biigr L-AUh.htap gHi < '2. jk?惟g暮工 g屮血一朋並b 14 hr 17 IE叶 wgw ng# ?ipuT ?fpuT 71&

15、quot;齐跖 pl畔 障脚ft Bh" Ifl 旧 pn Vfrn H 虫“ PR 习g 知加电r加吧茨i 4|wOfJg斗PCHdr 11/ q?iHflZ 心剧w “ :idO OifMFl2 F2HM* ft1mF*dz遍hUz西耳的叩寸酬呃©Wi 0M E -2n卩呂cqHQED-bp ifD-BCrD朗网忌订IM幅4N.U|7 EHFt0 里dnCLk»MLi呷QDPCT kT"垃仆可打一田;15FTFd仙 I厂ifcc诫何TW阿P)jm W!5 3ccaID?- 厂SMB X amp Y HHIIMi « Mw _ rhiE

16、9;了两"百旷阿回t«i TT &E 】Xuoc&aSnHMDsnzzaiD四)亚一网帅理I巴 阳_匡y可辱Q2ifg回內MS罰邑I© ¥品色帀因砸工兰冋 W gti 巴二W ;(f卫可帀"ur9.IN1 R3 ( F1 存到 R3)o 10. F1 是小于于 F4 的负数,跳到 L1,MOV1 R3,R1(F1 存入 R1)J&iw9jMig» 应齐F:卩 Pr 4 gh我:V adfejji* U-曰 EiA Jinr 4h Suf LiflUiLhtafi EBAI丽二殳由Z耳_ Nfla E盟鼻2国丨“

17、时r=ffJAlF卜CLKd片加TB站卵4DM时oFJBuSp 対 FPa? PCnor11/ q?1H(UA <MwFF酣OittiFF卫F2HM* R1mHd/哪nA异屮寸ihFi&併1)cqM G4n|iE 0HUED= iFD-arfi bD号中(网.-HMqai2 利UU PlHOTOU-A. J /.X -ni3HM 4EDC XsowJ9 OA卫闻宙-口 JL m XH丫 站I 站孑 肚DT萨1厂fl*匸飞 ¥厂币"Y而一厂町阿岡C-辿亡J »»h WixH li manIDOA;I * EM T EmJi -x'iM

18、: y aZMin:»1|S炉匚一些 阿 呼画汕阿何_虫_炉1;w厕L叫 冋 白白 画 汕4回_妙.回二一费一囤匚.啖.归帀仞 IP 阳丁 更E卡兀讥徨_1C珂W阳F画阿y町弟 气 * itT可*日!M回八电;*e|二於码© 匕帀旦C巨:11. FNOT R1, INC R1 (F1取反加1存入 R1)。 12 。 0UT1 R1 (输出 R1,最终结果是OF)£ UaJC-u 冃 Eifthb» buy LiikiiL Oribm 帖fsAcu htafi icBI k? *踐g&曲虫 miia ag刖I德B I CLH iCL 札 pOUTf

19、iFF mXSt«n ika J1 (kn jOia1 帀枯n 0 ?!仙 ATBhii TfllJhn 77 bn 对 tig T»4ui H %a 11B tka U (kn KQg lu tTChia ttOia* nFq 円 F2 RCi 3 IQ严iQ/阳 f皿R3A融3呻匸OP|3 q 4 口I诉 fl 7予0MdDHOChU(mFp«KHUEHoe初虧H 7hT1«h< FlMlHEEjwifionnni 川uuinuuiMinnfinfi呗iiuin肌vunMwuiMvuinfiftiuiminnjinjuuu I<Fs?QE

20、WwTTJg.CZi<aiwmZ3CZO®L 珂百回砒_is故障现象和故障分析故障一:在进行仿真的时候,当输入一个正数存进JNS L0,而是错将正数也存入故障二:X w 丫了 Ji H G X 归 k 眄 I 桁 ¥ 灯 I ' I F : 0 K 阳 lir fiFftH刁&WO'R3之后,执行 CMP R3,R1之后,没有执行R1。查看之后发现是 ALU里“CMP运算代码有问题。计数(R0) 直加,到5时不会跳转输出,检查机器指令发现JNS L2的地址写成了06故障三:,输出结果时,取反都变成FB,检查很久之后发现原本应该对AC里的数取反的

21、,结果弄成了 DR的.故障N:汇编程序出错、连线错误、微指令错误、修改器件没有重新编译等。.心得体会刚开始去上老师的课时,听得一头雾水,因为发现好多地方自己同不懂。然 后我就去看课本,同时问老师一些问题,当看到其他同学也问老师问题时,自己 也跑过去凑热闹,因为这样可以了解更多的知识。 直到后来才发现,原来除了设 计自己的指令外,我们需要写MCOMMAND,写CONTROM来解析我们写的指 令,这或许可以算得上一个极简单的 CPU模型了吧。就是有了微程序控制器, 计算机才认识我们自己设计的指令,才知道当读取到什么指令时该执行什么操 作。听得多了,看得多了,就渐渐的明白了一些课设的相关知识,然后画

22、指令流 程图,设计指令,写程序完成任务,这些几乎都是水到渠成的工作了,很多都可 以依葫芦画瓢来完成。本次课设,由于汇编学的很差,期汇编代码是和班级同学的相同,但是自己 重新设计了指令周期流程图,经过调试得出的结果其实只要把最基本的原理搞明白了,后续工作开展是非常快的。但在没明白 原理前,千万不要畏惧困难,慢慢的一点一点学习,特别是仿真软件的学习和使 用,需要花费相当的时间。只要认真了,就有可能实现。十二.软件清单AA里的MMM:弓ET2UHOCI-RLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY MMM ISP ORT(SE:IN STD_LOG

23、IC;CLK:IN STD_LOGIC;D:IN STD_LOGIC; CLR:IN STD_LOGIC;UA:OUT STD LOGIC);END MMM;ARCHITECTURE A OF MMM ISBEGINP ROCESS(CLR,SE,CLK) BEGINIF(CLR='0') THENUA<='0'ELSIF(SE='O')THENUA<='1'ELSIF(CLK'EVENT AND CLK='1') THENUA<=D;END IF;END P ROCESS;END A;C

24、RO啲:ADDRftDDR-1 T1 &世c忌r1 5否":11 4=1fSE 3-5- E XP- 3"0LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ADDR ISP ORT(I15,I14,I13,I12:IN STD_LOGIC;ZF,CF,T4 ,P1,P 2:IN STD_LOGIC;SE5,SE4,SE3,SE2,SE1,SE0:OUT STD_LOGIC );END ADDR;ARCHITECTURE A OF ADDR ISBEGINSE5<='1'-预留给JB或JAE指令使用

25、SE4<=NOT(NOT ZF AND CF)AND P2 AND T4);SE3<=NOT(I15 AND P1 AND T4);SE2<=NOT(I14 AND P1 AND T4);SE1<=NOT(I13 AND P1 AND T4);SE0<=NOT(I12 AND P1 AND T4);END A;Fl-UAEUA4un3D 5 .-O1unaunj.-uno总.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F1 ISP ORT(UA5,UA4,UA3,UA2,UA1,UA0: IN STD_LOGIC

26、;D:OUT STD_LOGIC_VECTOR(5 DOWNTO 0) );END F1;ARCHITECTURE A OF F1 ISBEGIND( 5)<=UA5;D(4) <=UA4;D( 3)<=UA3;D( 2)<=UA2;D(1)<=UA1;D(O)<=UAO;END A;F2unsU H 41D 5:. . Qunsun£UMlURO-15.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F2 ISP ORT(D:IN STD_LOGIC_VECTOR(5 DOWNTO 0);UA5,U

27、A4,UA3,UA2,UA1,UA0: OUT STD_LOGIC );END F2;ARCHITECTURE A OF F2 ISBEGINUA5<=D(5);UA4<=D(4);UA3<=D(3);UA2<=D(2);UA1<=D(1);UA0<=D(0);END A;CONTROMUHs. . <aDU IB. . D=J3 ,LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CO

28、NTROM ISP ORT(ADDR: IN STD_LOGIC_VECTOR(5 DOWNTO 0); UA:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); O:OUT STD_LOGIC_VECTOR(19 DOWNTO 0);END C0NTR0M;ARCHITECTURE A 0F C0NTR0M ISSIGNAL DATA0UT: STD_L0GIC_VECT0R(25 D0WNT0 0);BEGINPROCESSBEGINCASE ADDR ISWHEN "000000" => DATAOUT<="11010010001

29、111110110000000"WHEN "000001" => DATA0UT<="10001010001111111000000000"WHEN "000010" => DATA0UT<="10001110100111111100000000"WHEN "000011" => DATA0UT<="10000110011111111100000000"WHEN "000100" => DATA0UT&l

30、t;="10000010001111111001000000"WHEN "000101" => DATA0UT<="10001010001011111100000000"WHEN "000110" => DATA0UT<="01000010001111111000000000"WHEN "000111" => DATA0UT<="10001111000111111100000000"WHEN "001000&q

31、uot; => DATA0UT<="10001011010111111100000000"WHEN "001001" => DATA0UT<="10000000001101111100000000"WHEN "010000" => DATA0UT<="01000010001111111000000000"WHEN OTHERS=> DA TA0UT<="10000010001111111100000000"END CASE;UA

32、(5 DOWNTO 0)<=DATAOUT(5 DOWNTO 0);0(19 DOWNTO 0)<=DA TAOUT(25 DOWNTO 6); END P ROCESS;END A;F3Uft7un6Urt5D 7 . - U n 4UH3-UA壬-UAlU A LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY F3 ISP ORT(D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);UA3,UA2,UA1,UA0: OUT STD_LOGIC);END F3;ARCHITECTURE A OF F3 ISBEGINU

33、A3<=D(3);UA2<=D(2);UA1<=D(1);UAO<=D(O);END A;nconnftNDPiLDPOLDRll_DFt3F>Qn_ns_Bo 1 a. . OJ«al_ Df=ICI- DDRC5S«_BLDFRLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY MCOMMAND ISP ORT(T2,T3,T4:IN STD_LOGIC;D:IN STD_LO

34、GIC_VECTOR(19 DOWNTO 0);LOAD,LD PC,LDAR,LDIR,LDRI,LD PSW,RS_B,S2,S1,S0:OUT STD_LOGIC;ALU_B,SW_B,LED_B,RD_D,CS_D,RAM_B,CS_I,ADDR_B ,P1,P 2:OUTSTD_LOGIC);END MCOMMAND;ARCHITECTURE A OF MCOMMAND ISSIGNAL DATAOUT:STD_LOGIC_VECTOR(19 DOWNTO 0);BEGINP ROCESS(T2)BEGINIF(T2'EVENT AND T2='1') THE

35、NDATAOUT(19 DOWNTO 0)<=D(19 DOWNTO 0);END IF;LOAD<=DATAOUT(19);LDP C<=DATAOUT(18) AND T4;LDAR<=DA TAOUT(17) AND T3;LDIR<=DA TAOUT(16) AND T3;LDRI<=DA TAOUT(15) AND T4;LDPSW<=DA TAOUT(14) AND T4;RS_B<=DA TAOUT(13);S2<=DATAOUT(12);S1<=DATAOUT(11);S0<=DATAOUT(10);ALU_B&

36、lt;=DATAOUT(9);SW_B<=DA TAOUT(8);LED_B<=DA TAOUT(7);RD_D<=NOT(NOT DATAOUT(6) AND (T2 OR T3);CS_D<=NOT(NOT DATAOUT(5) AND T3);RAM_B<=DA TAOUT(4);CS_I<=DATAOUT(3);ADDR_B<=DATAOUT(2);P 1<=DATAOUT(1);P 2<=DATAOUT(0);END P ROCESS;END A;Top顶层图的:NUX3 _II D r 7. . QI h«CSEMIT

37、, . O LM 1 E 7. O J;H2 E 7. O1ieMUX3功能表输出输入SW-BCSID7.0N17.0N27.0EW7.OIN7.0N27.0N17.0LIBRARY IEEE;1164.ALL;USE IEEE.STD_LOGICENTITY MUX3 ISP ORT(ID:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SW_B,CS:IN STD_LOGIC;N1,N2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);EW:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END MUX3;ARCHITECTURE A OF

38、 MUX3 ISBEGINP ROCESS(SW_B,CS)BEGINIF(SW_B='0') THENEW<=ID;ELSIF(CS='0')THENEW<=N2;ELSEEW<=N1;END IF;END P ROCESS;END A;ROMROM功能CS=1,不选择CS=0,读LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY ROM ISP ORT(DOUT:OUT STD

39、_LOGIC_VECTOR(15 DOWNTO 0);ADDR:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CS_I:IN STD_LOGIC);END ROM;ARCHITECTURE A OF ROM ISBEGINDOUT<="0001000000000000" WHEN ADDR="00000000" AND CS l='O' ELSE"0001000111111111" WHEN ADDR="00000001" AND CS I='O' ELSE&

40、quot;0001001000000101" WHEN ADDR="00000010" AND CS I='0' ELSE"0010000000000000" WHEN ADDR="00000011" AND CS I='0' ELSE"0011100000000000" WHEN ADDR="00000100" AND CS I='0' ELSE"0100000000001100" WHEN ADDR="0

41、0000101" AND CS I='0' ELSE"0101001100000000" WHEN ADDR="00000110" AND CS I='0' ELSE"0011110100000000" WHEN ADDR="00000111" AND CS I='0' ELSE"0100000000001010" WHEN ADDR="00001000" AND CS I='0' ELSE"

42、0110000000000011" WHEN ADDR="00001001" AND CSI='0' ELSE"1000110100000000" WHEN ADDR="00001010" AND CSI='0' ELSE"0110000000000011" WHEN ADDR="00001011" AND CSI='0' ELSE"0111000100000000" WHEN ADDR="00001100&

43、quot; AND CSI='0' ELSE"0010000100000000" WHEN ADDR="00001101" AND CSI='0' ELSE"1001010000000000" WHEN ADDR="00001110" AND CSI='0' ELSE"0000000000000000"END A;4Ta1OLRTST勻;COUNTER.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEE

44、E.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY COUNTER ISP ORT(CLK,CLR: IN STD_LOGIC;T2,T3,T4: OUT STD_LOGIC);END COUNTER;ARCHITECTURE A OF COUNTER ISSIGNAL X:STD_LOGIC_VECTOR(1 DOWNTO 0):="00"BEGINP ROCESS(CLK,CLR)BEGINIF(CLR='0') THENT2<='0'T3<='0&

45、#39;T4<='0'X<="00"ELSIF(CLK'EVENT AND CLK='1') THENX<=X+1;T2<=(NOT X(1)AND X(0);T3<=X(1) AND(NOT X(0);T4<=X(1) AND X(0);END IF;END P ROCESS;END A;LS2V3DE OOC7-eCUK可+ 1 III nLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY LS273 ISP ORT(D: IN STD_LOGIC_V

46、ECTOR(7 DOWNTO 0);CLK: IN STD_LOGIC;Q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);END LS273;ARCHITECTURE A OF LS273 ISBEGINP ROCESS(CLK)BEGINIF(CLK'EVENT AND CLK='1') THENQ<=D;END IF;END P ROCESS;END A;ALUBCDOUT lr. D«FSo11 aALUS2功能表S1SO功能ADD,锁存 CF , ZFCMP(比较指令)INC (加1指令)NOT(取反指令)MOV1 (Rs)

47、7 (Rd)LIBRARY IEEE;USE IEEE.STDJLOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.all;ENTITY ALU ISP ORT(X: IN STD_LOGIC_VECTOR(7 DOWNTO 0);Y: IN STD_LOGIC_VECTOR(7 DOWNTO 0);S2,S1,S0: IN STD_LOGIC;ALUOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);CF,ZF: OUT STD_LOGIC);END ALU;ARCHITECT

48、URE A OF ALU ISSIGNAL AA,BB,TE MP:STD_LOGIC_VECTOR(8 DOWNTO 0);SIGNAL TEMP 1:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESSBEGINIF(S2='0' AND S1='0' AND S0='0') THEN -ADDAA<='0' &X;BB<='0'&Y;TEMP <=AA+BB;ALUOUT<=TE MP(7 DOWNTO 0);CF<=TE MP (8

49、);IF (TE MP="100000000" OR TEMP="000000000") THEN ZF<='1'ELSEZF<='0'END IF;-C MP( SUB)ELSIF(S2='0' AND S1='0' AND S0='1') THENAA<='0' &X;BB<='0'&Y;TEMP <=AA-BB;ALUOUT<=TE MP(7 DOWNTO 0);TEMP 1<=TE MP(7 DOWNTO 0);CF<=TEM P1(7);IF (TE MP 1="00000000") THENZF<='1'ELSEZF<='0'END IF;-INC-DECELSIF(S2='0' AND S1='1' AND S0='0') THENAA<='0'&Y;TEMP <=AA+1;ALUOUT<=TE MP(7 DOWNTO 0);CF<=TE MP (8);IF (TE MP="

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论