数字系统设计-CH8_第1页
数字系统设计-CH8_第2页
数字系统设计-CH8_第3页
数字系统设计-CH8_第4页
数字系统设计-CH8_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

CH8基本逻辑电路设计8.1基本组合电路设计8.2基本时序电路设计8.3加法电路设计8.4乘法电路设计8.5乘累加电路设计8.4.1浮点数的表示及乘运算IEEE754–1985标准定义单精度浮点格式s是符号域,字长1bit;e是指数域,字长8bits;m是尾数域,字长23bitss=0/1正/负数,E为整数且Emax=127,Emin=-126,ai=0/l,bias=127为指数的偏置值,指数域阶码e=E+bias,且0<e<255。浮点数表示为:单精度浮点格式的动态范围和运算精度绝对值最大值e=254-127,m=23’H7FFFFF,即2127+1=1.7E+38绝对最小值e=1-127,m=23’H000000,即2-126=1.2E-38精度2-23=1E-07浮点数乘法运算设2个浮点数:如果积的尾数是大于“1”的数,则需要将尾数右移一位,同时将指数加1,即normalization=1;如果尾数积不大于“1”,则normalization=0,不需要进行规范化处理。浮点数乘法运算浮点数乘法运算流程尾数全由原码表示,相当于无符号数相乘,24×24位尾数乘积P的公式为:P=Am

×Bm部分积压缩—BOOTH编码Booth编码逻辑BOOTH编码输入编码操作y2i+1y2iy2i-1add2add1zerosub1sub200000100被乘数×000101000被乘数×101001000被乘数×101110000被乘数×110000001被乘数×(-2)10100010被乘数×(-1)11000010被乘数×(-1)11100100被乘数×0部分积的产生partialproductgeneration部分积产生电路采用改进的Booth编码器,24×24位的部分积由原来的24个压缩为14个积分积压缩电路partialproductgeneration规范化、舍入及后规范

部分积进行累加后的结果为最后的48位积,首先要判断该数是否大于1,即第48位是否为1,如为1,则将其右移1位,同时normalization=1,与指数相加。指数加运算也只在这时进行,它是事实上一个8位加法器,normalization送到的是它的进位输入位。这个过程称为规范化。第二步是将48位结果舍入为24位(含隐藏位1)。我们这里采用的Roundtonearest。根据保护位(guard)、舍入位(round)及粘贴位(sticky)来共同确定进位。进位引起的尾数大于1时,再进行右移操作,并将指数做加1处理单精度浮点乘法电路综合频率206.058MHzBooth编码部分积产生部分积压缩舍入、规范化浮点乘法运算分为3个运算单元,即符号运算、指数运算及尾数运算单元。符号运算只限于异或运算,指数则是加法运算单元尾数则是两个24×24位的乘法电路尾数乘运算分为3个流水线阶段:第一阶段是部分积的产生,第二阶段为部分积的累加过程,最后一个流程为规范化处理阶段,对尾数进行舍入处理,并对指数进行加1减1操作。---------mantissamultiplication----------entitym_multiplierisport(am,bm:instd_logic_vector(22downto0);sum,carry:outstd_logic_vector(47downto0);clk:instd_logic);endm_multiplier;尾数乘运算VHDL设计—实体尾数乘运算VHDL设计—结构体architectureBehavioralofm_multiplieriscomponentppg----部分积产生电路port(ma,mb:instd_logic_vector(22downto0);p10:outstd_logic_vector(25downto0);p11,p12,p13,p14,p15,p16,p17,p18,p19,p110,p111:outstd_logic_vector(27downto0);p112:outstd_logic_vector(25downto0);p113:outstd_logic_vector(22downto0);clk:instd_logic);endcomponent;componentwallace-----WALLACETREE压缩电路port(p0:instd_logic_vector(25downto0);p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11:instd_logic_vector(27downto0);p12:instd_logic_vector(25downto0);p13:instd_logic_vector(22downto0);sum,carry:outstd_logic_vector(47downto0);clk:instd_logic);endcomponent;尾数乘运算VHDL设计—COMPONENTPPGWallacePPG实体entityppgisport(ma,mb:instd_logic_vector(22downto0);p10:outstd_logic_vector(25downto0); p11,p12,p13,p14,p15,p16,p17,p18,p19,p110,p111:outstd_logic_vector(27downto0); p112:outstd_logic_vector(25downto0); p113:outstd_logic_vector(22downto0); clk:instd_logic);endppg;PPG结构体描述architectureBehavioralofppgiscomponentbooth_encodeport(y:instd_logic_vector(2downto0); multiplicand:instd_logic_vector(22downto0);pp:outstd_logic_vector(25downto0); pad:outstd_logic_vector(1downto0); clk:instd_logic);endcomponent;

--signalbeginprocess(clk,ma)begin

--datadivideendprocess;forIin0to11generateproduct:booth_encodeportmap(y(i),mb,p1(i),pad(i),clk);Endgenerate;process(pad0,pad1,pad2,pad3,pad4,pad5,pad6,pad7,pad8,pad9,pad10,pad11,clk)begin

--dataoutendprocess;endBehavioral;PPG部分积产生电路12组PPG电路BoothEncoder综合BoothEncoderUnitBoothEncoderEntity---------boothencoderlogic----------entitybooth_encodeisport(y:instd_logic_vector(2downto0);multiplicand:instd_logic_vector(22downto0);pp:outstd_logic_vector(25downto0);pad:outstd_logic_vector(1downto0);clk:instd_logic);endbooth_encode;WallaceTree压缩电路顶层4:2压缩电路4:2压缩电路

WallaceTreeEntity---------wallacetree----------entitywallaceisport(p0:instd_logic_vector(25downto0); p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11:instd_lo

温馨提示

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

评论

0/150

提交评论