资源描述:
《设计并实现一个简单的ALU()》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、设计并实现一个简单的ALU集成13-3刘璐瑶1314020314一、实验目的1.掌握ALU的工作原理,ALU集多种运算功能于一身,可以实现多种简单的算术运算和逻辑运算;2.进一步掌握VerilogHDL语言的编程方法,理解分支结构的用法;二、实验内容用VerilogHDL编写一个字长6位的ALU,其能实现的功能和结构框图如下:(a)ALU的符号图功能选择FA/i7o实现功能助记符说明()0()result<="00000000"Null空操作001result<=x^yAdd加010resultv=x*Sub减Oilresult<=xANDyAND逻辑与100result<
2、=xORyOR逻辑或101result<=xXORyXOR逻辑异或110result<=srlxsrl逻辑右移1位111result<=sll兀sll逻辑左移1位(b)ALU的功能列表1.其中的加减运算均为补码加减,运算的过程中要考虑溢出,溢出判断采用双符号为的方式。2.在执行逻辑运算的过程中不考虑溢出。3・运算的功能由输入信号F(2..O)决定。三、实验要求1.通过对操作性实验的练习,自行完成设计实例。2.熟悉QuartusII的设计流程。3.在实验报告中写出完整的设计过程。程序代码:modulealu(input[5:0]x,input[5:0]y,i叩ut[2:0JF
3、,outputregoverflow,outputreg[5:0]result);reg[6:0]xr,yr,resultr;parameterNULL=3'b000,ADD=3,b001,SUB=3'b010,AND=3*b011,OR=3,blOO,XOR=3,blOI,SRL=3'bll0,SLL=3'blll;always@(xory)beginxr={x[5],x};yr={y⑸,y};case(F)NULL:beginresult<=6*b000000;overflow<=rbO;endADD:beginresultr=xr+yr;result<=resultr
4、[5:0];overflow<=xr[6]Ayr[6];endSUB:beginresultr=xr+-yr+1'b1;result<=resultr[5:0];overflow<=xr[6]Ayr[6];endAND:beginresult<=x&y;overflow<=rbO;endOR:beginresult<=x
5、y;overflow<=rbO;endXOR:beginresult<=xAy;overflow<=rbO;endSRL:beginresult<={l'b0,x「5:l]};overflow<=rbO;endSLL:beginresult<={x[4:0
6、],rb0};overflow<=rbO;endendcaseendendmodule□画区波形仿真图:Quartus11C:/DocuaentsandSettmgx/Adainistrator/桌建义件夬/jtlu一alu一[alu.vwf]也ZihEditYi“Project事““““近ProcessingToolsWindow-Help3alu-0X□zgC•&忖kO0►◎◎&❼•^ojectIntityAX
7、LocicZfills
8、D«dic*t<4CycloneIIEP2C35T672O6J—-jbfl41a為45(45)
9、o(0)<:1,•上皂s,◎akvMt;
10、TasksFlw[Conpilation?S-►Fitter(PlaceftRoute)?til--►AzzttibltriGenwtQpro^ririftin^flits)?[♦!••►Cl・mcTiiungAnOyw"円ABDAMeiliitVriter®Pro€r«nD«vic*(OponProcr«m«r)±JInfo:Info:Info:Info:Info:Info:Mas^ecTirreBar7.35mJJPohter.11.4n$Interv^:4.05mStart:0
11、»End0p$迅duvwf3Y?,01>1l>2I>3Ss32333435I>163718
12、09200n«[±iresult■x[5]74]-x[3]72]■x[l]7.3S10.9■r(2)•rd)So]...flow—⑴7.35h[0]?to]UsingvectorsourcefilewC:/DocinentsandSettin9s/JLdxlni3tratcr/^T/?T5E5:f^S/alu.wf*Optioncopreservefewersignal•ransizicnszcreducexencryrequireMntsisenabledSimulationparririonedinto1»ub