版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
沈阳航空航天大学课程设计报告课程设计名称:计算机组成原理课程设计课程设计题目:定点补码一位乘法器的设计院(系):计算机学院专业:计算机科学与技术班级:84010101学号:2008040101002姓名:边爽指导教师:曹一鹏完成日期:2011年1月14日目录TOC\o"1-5"\h\z第1章总体设计方案1设计原理1设计思路2设计环境4第2章详细设计方案5顶层方案图的设计与实现5创建顶层图形设计文件5器件的选择与引脚锁定6编译、综合、适配7功能模块的设计与实现7取补模块的设计与实现7选择器模块的设计与实现9乘数补码移位寄存器模块的设计与实现12部分积移位寄存器模块的设计与实现14加法器模块的设计与实现16仿真调试16第3章编程下载与硬件测试19编程下载19硬件测试及结果分析19参考文献22附录(电路原理图)23第1章总体设计方案设计原理由于机器都采用补码做加减运算,所以设计补码乘法器能避免码制转换,提高机器效率。在计算两个补码相乘时,可以通过Booth算法来实现定点补码一位乘的功能。布斯(Booth)算法采用相加和相减的操作计算补码数据的乘积,Booth算法对乘数从低位开始判断,根据后两个数据位的情况决定进行加法、减法还是仅仅进行移位操作。补码一位乘法的运算规则:被乘数一般取双符号位参加运算。乘数可取单符号位以决定最后一步是否需要校正,即是否加[-X]补。乘数末位增设附加位yn+,且初值为00部分积[Zo]补初始值为00被乘数[x]补乘以对应的相邻两位乘数(yn书-yn)之差值,再与前部分积累加,然后右移一位(乘2-1),形成该步的部分积累加和。yn书与yn构成各步运算的判断值,以决定如何操作[X]补,见图I.IBooth算法操作说明:丫式高位)工+1(低位)(ymrJ判断值操作说明000部分积加零后右移一位011部分积分加因朴后,右移一位10—1部分积加[—X]补后,右移一位110部分积加零后,右移一位图1.1Booth算法操作说明(5)按照上述算法进行n+1步操作,但第n+1步不再移位,仅根据yo与必的比较结果作相应的运算即可。设计思路课程设计的要求为:(1)采用原码值输入,乘数和被乘数皆为8位。(2)设计的电路应该包括ALU被乘数寄存器,乘数寄存器,部分积寄存器,门电路和移位电路。课程设计的思路为:(1)由于课程设计要求采用原码值输入,就需要设计一个原码值取反码的电路模块,同时只对符号位取反同时也可以实现求[-X]补。(2)实现Booth算法需添加附加位外书,并将其初始值置零,此操作通过外部输入来实现的。(3)Booth算法在运算中要将部分积初始值置零,此操作是通过给FD寄存器的清零端一个高电平的脉冲信号,使寄存器的数据全部为0,即输出的部分积为000000000(4)取乘数末尾两位来判断,为00、11则部分积加0,为01则部分积加被乘数的补码,为10则部分积加乘数相反数的补码。为了实现此操作,需要设计一个二输入四输出选择器及选择电路。(5)乘数逻辑右移一位,部分积算术右移一位,并用乘数最高位存放部分积溢出的位。此功能的实现,分别设计了乘数移位寄存器,以及部分积移位寄存器。(6)依次反复直到原乘数部分只剩下最后两位,由于最后一次只运算不移位,所以在输出时要在部分积移位之前输出结果。(7)加统一的时钟信号,保持各部件同步工作。定点补码一位乘法器的设计总框图如图1.2所示;定点补码一位乘法器的设计流程图如图1.3所示。计数器i移位器移位器74153选择器R图1.2定点补码一位乘法器设计总框图定点补码一位乘法器设计流程图图1.31.3设计环境(1)硬件环境?伟福COP2000型计算机组成原理实验仪COP2000计算机组成原理实验系统由实验平台、开关电源、软件三大部分组成。实验平台上有寄存器组R0-R3、运算单元、累加器等组成。COP2000计算机组成原理实验系统各单元部件都以计算机结构模型布局,系统在实验时即使不借助PC机,也可实时监控数据流状态及正确与否,实验系统的软硬件对用户的实验设计具有完全的开放特性,系统提供了微程序控制器和组合逻辑控制器两种控制器方式,系统还支持手动方式、联机方式、模拟方式三种工作方式,系统具备完善的寻址方式、指令系统和强大的模拟调试功能。?COP2000集成调试软件COP2000集成开发环境是为COP2000实验仪与PC机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA实验等功能,该软件在Windows下运行。EDA环境?Xilinxfoundationf3.1设计软件Xilinxfoundationf3.1是Xilinx公司的可编程期间开发工具,该平台功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。---*7*55制纣---*7*55制纣B2MXE7£5i?IInuE1店IIVHIQU13ZONGLOC=P147LOC=P152LOC=P178LOC=P184LOC=P185LOC=P203LOC=P111LOC=P110第2章详细设计方案顶层方案图的设计与实现顶层方案图是用来实现补码一位乘法器乘数与被乘数的输入和取补,以及结果的寄存和输出、二输入三输出选择器和运算控制电路、移位电路等逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200可编程逻辑芯片。在完成原理图的功能设计后,把输入以及输出信号安排到XCV200指定的弓|脚上去,实现芯片的引脚锁定。创建顶层图形设计文件顶层图形文件的设计实体主要由取补电路(封装为QUBU),二输入三输出选择器(基于D2-4E的改装),乘数移位寄存器(封装为U11),部分积移位寄存器(基于FD实现),加法器(基于ADD8的改装),等模块组装而成的一个完整的可编程逻辑芯片U30。顶层图形文件结构如图2.1所示:LOC=PSOLOC=P213LOC=F103LOC=P102LOC=P101LOC=PlOOLOC=P97L0C=P9GLOOP96LOC=P37LOC=P36LOC=P86LOC=P34LOC=PB2LOC=P31LOC=P0OLOC=P47LOC=P64LOC=P65LOC=P66LOC=P70LOC=P71LOC=P72LOC=P73LOC=P63LOC=P49LOC=P48图2.1顶层图形文件结构图器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片为XilinxXCV200可编程逻辑芯片。(2)引脚锁定把顶层图形文件中的所有输入、输出信号对应到XilinxXCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及XilinxXCV200芯片引脚对应关系如表2.1所小:表2.1信号和芯片引脚对应关系图形文件中的输入/输出信号XCV200芯片弓1脚佶号GRDP50ZCLOCKP213FJWP47CLRP49VCCP48S1P80S2P81S3P82S4P84S5P85S6P86S7P87Y1P95Y2P96Y3P97Y4P100Y5P101Y6P102Y7P103E0P63E1P73E2P72E3P71E4P70E5P66E6P65E7P64编译、综合、适配利用Xilinxfoundationf3.1的原理图编辑器对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。功能模块的设计与实现功能模块主要由取补电路,二输入三输出选择器,移位寄存器,部分积移位寄存器等模块组成,由XilinxXCV200可编程逻辑芯片分别实现。取补模块的设计与实现进行求补的方法就是从数的最右端a。开始,由右向左,直到找出第一个“1”,例如a=1,0<i<n0则ai以左的每一个输入位都求反,即1变0,0变1。最右端的起始链式输入C」必须永远置成“0”。当控制信号线E为“1”时,启动对2求补的操作;当控制信号线E为“0”时,输出将和输入相等。可以利用符号位来作为控制信号E。(1)创建求乘数补码电路模块设计原理图。求乘数补码电路原理结构如图2.2(a)所示,实际电路如图2.2(b)所示。
图2.2(a)求乘数补码电路模块逻辑框图U[>—图2.2(a)求乘数补码电路模块逻辑框图U[>—«[>—图2.2(b)实际取补电路(2)创建元件图形符号其元件图形符号如图2.3所示:
XEEIE0A1B1A2B2A3AjiB3A4B4A5B5A6B6图2.3求乘数补码电路模块元件图形符号(3)功能仿真对创建的取补模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。仿真结果如图2.4所示:LogicSimulaftor-XilinxFoundatioiriFB.li[li]-[WaveformiViewerFileSignalWavefoirmDeviceOpticinsToolsViewWindowHelp四回昌|凡|d|&|Functional6|&|十金含川领],佗金后|寓|||……,・,12——>11j三4.0ua1111111118口-LUu|-500ns_lus1.5u3~2us2.Stig_Bus3.Etia_4ui_4.Eti0r0111111p11111111p1111111ii11111111ii111ii111nn11n111111111111111n11111111p11111111p1111111111li111图2.4取补模块仿真结果选择器模块的设计与实现选择器主要由一个D2-4E芯片和逻辑门电路控制选择输出。输入端输入的值
分别为[-X]补,[X]补以及“ooooooo。(八个输入端为一组)D2-4E芯片的4和人端白“o”和“1”控制Do,D1,D2,D3当A0Al为。1时,输出为D2高电平,即为D2输出值为1,通过逻辑门电路实现输出为[-X]补的值;当AoA为10时,输出为Di为高电平,即为Di输出值为1,通过逻辑门电路实现输出为[X]补的值;当AoA为00时,输出为Do为高电平,即为Do输出值为1,同时当AoA为11时,输出为D3为高电平,即为D3输出值为1,由于此时Do和D3输出值为相同,故此两条数据线通过一个或门输出一条数据线,此时输出值为“oooooooo”。正好实现三输入一输出的选择器模块。(1)创建选择器设计原理图。三输入一输出选择器原理结构如图2.5所示:IIU-T..■步AAi»kA6*1IIU-T..■步AAi»kA6*1AA图2.5选择器原理框图(2)创建元件图形符号其元件图形符号如图2,6所示:图2.6选择器元件图形符号(3)功能仿真对创建的三输入一输出器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3,1编译器的Simulator模块实现。仿真结果如图2.7所示:H|^|电I春I|Fiairtgn^色|g阖面倒@15二匕足一般|/-IH|^|电I春I|Fiairtgn^色|g阖面倒@15二匕足一般|/-I日i三]■!a口If耶i1J12.YH..i312.VO:a31J.F0iJ12.P1...a312.F2...i31J.FJii-1_■口1111kMlmJ力《匚a312.FE...a012Ti;J12由…i312.G0...aQU.GlJ13.G2...二312.G3...iDll.04s312.G6...aQIJG?lJli.HO.二312.HI..IPl?1:H3.H3...iH12.:U...a01;ITSiDlf.lU...i312.K7...AO口Ul—.□312.i2...sOlfA3sUl—AL…□312.A.5...UL2.¥lfl1112.W.W12VCCVIZ.F0.U12.F1.□12F?.U12.F3..U12.P4□12.F5.U12.Ffi□12.F?.1112.GO..G1tll2.(Si.□12.G3.U12.G5.Di2.G&.V12.G?UL2.HD.U12.H1.W12H21112H3.U12.U4.012.EK.1112H6U12.H7.V12.A(H.MN.AlUl2.12..□12.AJ..口I*A*UI2.A5.V12.A&.V12A?MI
(c)由旦]■](c)由旦]■]知固0|F^K»md5|、•4/©(d)图2.7选择模块仿真结果图乘数补码移位寄存器模块的设计与实现乘数补码移位寄存器模块由八个二选一选择器(MUXCY乘数补码移位寄存器模块由八个二选一选择器(MUXCY9个寄存器(FD)组成,CP端输入的是1个低电平信号其余都为高电平信号。MUXC丫择器由控制信号S端,输入端Dj和Cj,以及输出端O组成,当S端为低电平信号时,选择输存到FD中,出Di值,当S存到FD中,MUXC输出端O连接下一位的寄存器,这样就实现了移位寄存的功能。移位的丫。7和08两个输出端恰好为yn和yn+的两个值,yn和外书的两个值要分别接到选择器的A)和A端。(1)创建乘数补码移位寄存器模块设计原理图。乘数补码移位寄存器原理结构如图2.8所示:(2)创建元件图形符号(2)创建元件图形符号其元件图形符号如图2.9所示:图2.8乘数补码移位寄存器原理结构图U11CPYOOCLKYQ1YIO¥02YI1YO3¥12YQ4¥1?VO5YI4YO6VI5YQ7YI6YOSYI7丫用图2.9乘数补码移位寄存器电路模块元件图形符号(3)功能仿真对创建的乘数补码移位寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。仿真结果如图2.10所示:a回至In&@|Fundiaidl布|回a回至In&@|Fundiaidl布|回UXm]SOni/diV("("CZCLOCK..IlY2.¥3YJ¥5T&¥7FJU....U15.YOOUI5.TOIU15.YO2U15.TO3UIS.Y04Ui5.¥05U1S.TQEU15.YO7[JIS.Y08UIS.¥10U15.YI1U15.YI2HIE.¥13U15.Y14UIS.IISU15.TI6U15.¥170.0j=<=cola昌白白立91U.91.&IJL9图2.10乘数补码移位寄存器模块仿真结果部分积移位寄存器模块的设计与实现部分积移位寄存器模块是由一个8位寄存器(FD8CE和四个逻辑门电路组成,实现部分积移位寄存功能。由于部分积的初始值为“0000000。,这样就要求FD8CE寄存器的初始值为“0000000。,只需要给清零端CLR一个高电平的信号即可实现。进行部分积移位时,要求移位过程中保证符号位相同,这样就需要把第一位符号位复制为两个数,而其余的6位相继向下用一位,这样就实现了移位功能,同时还保证的符号位相同。(1)部分积移位寄存器设计原理图。部分积移位寄存器原理结构如图2.11所示:
's.B接加法玲=―•器的已输叼划入端图2.11部分积移位寄存器原理图(2)功能仿真对创建的寄存器模块进行功能仿真,验证其功能的正确性,可用Xilinxfoundationf3.1编译器的Simulator模块实现。仿真结果如图2.12所示:&LogcSimuator-XilinxFoundatioriF3.1i[1i]-r,.Vaveforme.,.er口|^|FikSignalWavtfoirmDeviceOptionsToolsViewWindowHelp闻倒/勾FunMionN司贵|12gtt:j|#|[B修*色|玄曷|TOC\o"1-5"\h\z|i…山…।~Jld差|errs|"二s1111111111SDn^/div\-l-Lu\500nsIuh1.5ua2ub2.Sub3uh3.5us4□.0|l111|IIIIIIIIIII111I111I11HIIIIIIIIHII111I111IIIIIIIIIIIH1111I111IIIIIIIIIIIK1111I111IIIIIIIIoooooooo1iiiiioooooooo1iiiiiii8195.S4.CSI95.S3.„>SI95.S2一一>1195.SI....>$195.SO...LBF7BF6………BF5BF4BF3………BF2BF1.,a......图2.12部分积移位寄存器仿真结果BFO图2.12部分积移位寄存器仿真结果2.2.5加法器模块的设计与实现加法器模块是在系统提供的八位加法器(ADD8)的基础上,根据实际情况改造而来。由于系统ADD8的输入输出的高低位与前几个模块的正好相反,所以为了实现功能对ADD8进行了改装。改装后内部结构如图2.13所示。3中安尊K3中安尊K图2.13改装后加法器内部结构图2.3仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。通过多组数据进行仿真测试,分别对两个正
数相乘,一个正数与一个负数相乘,两个负数相乘结果进行检验(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,选择仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.3所示。表2.3仿真信号相关参数表输入信号输出信号S1—S7Y1—Y7CLRCLOCKFJWI0—17011101100001001000000001010101000000011111101100001001000000001010101011111100111101110001001000000001010101000000011(2)功能仿真结果与分析仿真结果分别如图2.14(a)、(b)、(c)所示1U13.VCC1sm.生1U13.VCC1sm.生i.一..i013.52....i019.昌aimm.&i..i.55iHJ19.5i&......■Ai013.ZCLOCK..1Ul2.E0iIH3El...i013.E2......sU12E2....,.i□13E4...iIU13.EGiU133i013E7iU13.CLR...।UNY1,,i0I3.Y2i013¥3.....i013Y4i013.¥SsUl?i013Y7.....im13FJU....钟口...013.1□二IU13.Il.....oU1312.二013.13......二HJ13.14...d□13.15....二013.16口凶工W.17....1LJ(a)(113.VCC二f2U13.S1Cs(a)(113.VCC二f2U13.S1Cs□.(T13.52匚注JLU13.53.一一匚母1U13.54.一c7*U1LW鼻....CsNU13.S7二与2IT13.ZC10CK..匚曰ZOTS.Ea匚n2.U13.E1....Gs1U13.E2.一CsUi$.E3匚翼3ET13.E4一..CsNCT13.E5:=ZU13.E6Cs3.U13.E7CsJLU13.CLE....Gs1U13.Y1,…Cs匚毋3UI2.¥3....CsNUI3.¥4....二5ZU13.YS匚!SXU13.Y6匚&JLU13.Y7匚事1U13.FJW..一CsUi^.GRDCsOUI2.IQ.....O(113.Il....二,U13.I2口U13.I3CT13.H...■U13.15..一Ui3.16....OU12.I7....“1,(b)图2.14功能仿真波形结果由表2.3和图2.14所示信息对比可知,多组仿真都完全正确,说明本设计能实现补码一位乘法计算功能。第3章编程下载与硬件测试编程下载利用COP2000仿真软件的编程下载功能,将得到.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。硬件测试及结果分析利用XCV200实验板进行硬件功能测试。定点补码一位乘法器的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,具对应关系如表3.1所示。表3.1XCV200实验板信号对应关系XCV200芯片弓唧佶号XCV200实验板P95K0:6P96K0:5P97K0:4P100K0:3P101K0:2P102K0:1P103K0:0P80K1:6P81K1:5P82K1:4P84K1:3P85K1:2P86K1:1P87K1:0P63K2:7P73K2:0P72K2:1P71K2:2P70K2:3P66K2:4P65K2:5P64K2:6
P213P213P48K3:1P49K3:2P47K3:3利用表2.3中的输入参数作为输入数据,逐个测试输出结果,即用XCV200实验板的开关K0、K1及K2控制数据输入,同时观察数码显示管和发光二极管显示结果,得到如图3.1(a)、(b)、(c)所示的硬件测试结果。rru_L[D[X修构由A«ts|UUUUUUR$1加000080—■中■不■lQ%■,■豆E«"。::::片堂we★★★总L事“k1HJ*J裾IMJ温1HmL认修*"父12.g.XkmP4.JA154.><a阳J。1W建工血必R,,Kll\IM^IX皿拉.划]J7工年工心皿血沏17]MO陇01工怔工tn.QU1ttgg,6d6a*mOn+0^c)^oR,dit,nit[加(ftr<Let,t«Hfn121miK1"皿“1.12n\tn^OMCDV.iH^ML小肛(noiHt.M111M704,**4工口0"1.。,工。」QU.g-E—厢EgT,皿I"皿10JXCV200111.lit.lt^CLTJ-t3R;l;LM,IK.I4L110.11I.iti-,ii^in.ixiL;3,L?ki?t.i*:(kttL(CM「ipm心lmUhKCOto。。。。
bftmHK明叩印明:OOOODOOO*OOOQOQOQ;£4OOIC)I©«H鲂]匕otwah中5,PlCv-。S£n£S£££mam;II»KS)h争G.E门.口KHftiffi,BOBBQBINoK>CMU3»wotirr
T2HFl帧II」7韩・±IWWE出修.UUUUUU1瓯1仙」鸣:3E立IU.博小修mgM】Kg»k#L砌1T5JMk3地IM出单心IO»Xm斯.标I4Z】《|1.I』nnuunnuuOf?1乳工2端211期%ZXi=匕叫Kmm皿gst,肛外卸Z3t,m,HgOfM,皿W,回0M.IM3L喊KiffitW.fiB.ni咽£E31,3HIKXD2S,心心吟工,M0»,0«||011.斯工0!1,01„制立EM%W.WrdgMLHE4%匕£I―144,Ils,皿IHJIQUJ',DH.u!^OM.01工E.DH,MJOS&iSF!柒M.MUCM,0阴,慎人忡l.EggEVM,WCkOt%M4,0%-&T3GM.映曲」HL|g3QI.1晚1Q1T1-T-hi由-Tstl。・。000
tsvR.XCV200U1.:l丸LI*]]4117,UK,J3%IMIM141.IMlIIXsi112IEk1%13L(IUlIMWajxxnrr安”打她K4Kfl。》幅(1•■睢・■■■a25?s?*22S200000009,atmm—66WkQEE£E£E££,…・rznW5ie)0"9019
KKlfeaEBMKK
■U■口.月而总■r■心骷■,青*|上芹•贰]忤“比|(b)料单・|hhnnnnuuuuuu・・・・•・♦♦FT■■'KM|R:餐:加0nnnnnriuuuuuu用为JHn2l\J用出CL4A*mMiXf.151.*133%ar,hsktQkow,w帕匕M一吹附,Sg.mIW031,ggu乜4皿5M。皿On.加工M*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论