版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CH8 基本逻辑电路设计8.1 基本组合电路设计8.2 基本时序电路设计8.3 加法电路设计8.4 乘法电路设计8.5 乘累加电路设计8.4.1 浮点数的表示及乘运算IEEE754 1985标准定义单精度浮点格式Sign1-bitExponent8-bitMantissa 23-bitSEM32位s是符号域,字长1bit;e是指数域,字长8bits;m是尾数域,字长23bitss=0/1正/负数,E为整数且Emax=127,Emin=-126,ai=0/l,bias=127为指数的偏置值,指数域阶码e=E+bias,且0e255。Sign1-bitExponent8-bitMantissa 2
2、3-bitSEM32位Eaa2. 1022biasEsaa2. 11022浮点数表示为:浮点数表示为:单精度浮点格式的动态范围和运算精度绝对值最大值e=254-127,m=23H7FFFFF,即2127+1=1.7E+38绝对最小值e=1-127,m=23H000000,即2-126=1.2E-38精度2-23=1E-07浮点数乘法运算11112. 11EsmX212). 1. 1 () 1(212121EEssmmXXXbisaionnormalizatEEssm212. 1) 1(21Esm2. 1) 1(设设2个浮点数:个浮点数:11112. 11EsmX22222. 11EsmXbis
3、aionnormalizatEEssmXX212. 1) 1(2121如果积的尾数是大于“1”的数,则需要将尾数右移一位,同时将指数加1,即normalization=1;如果尾数积不大于“1”,则normalization=0,不需要进行规范化处理。 浮点数乘法运算4321001. 101.10)1 . 1 ()1 . 1 ( :eeee例如浮点数乘法运算流程尾数全由原码表示,相当于无符号数相乘, 24 24 位尾数乘积P 的公式为:P = A m B m部分积压缩BOOTH编码Booth编码逻辑)()(1221212212iiiiiiYYYYYYzero122122iiiYYYadd)(1
4、12212iiiYYYadd)(112212iiiYYYsub122122iiiYYYsubBOOTH编码输入编码操作y2i+1y2iy2i-1add2add1zerosub1sub200000100被乘数000101000被乘数101001000被乘数101110000被乘数110000001被乘数(-2)10100010被乘数(-1)11000010被乘数(-1)11100100被乘数0u部分积的产生partial product generation02 1349 8 7 6 51921232447460 10 1 11 0011 0 1 010 1100 1 0 111 0010000
5、00000000000000000000n0n1n2n3n4n5n6n7n8n9n10n11s1s0s2s3s4s5s6s7s8s9s10s11被乘数乘数部分积产生电路采用改进的Booth编码器,2424位的部分积由原来的24个压缩为14个 积分积压缩电路partial product generationXORXORXORXORMUXMUXp1p2p3p4cincoutcs0011sccoutcinpppp0112224321cinpppps432144321)4321(pppppcinppppc1213)21(ppppppcout规范化、舍入及后规范规范化、舍入及后规范 部分积进行累加后的
6、结果为最后的48位积积,首先要判断该数是否大于是否大于1,即第48位是否为1,如为1,则将其右移1位,同时normalization=1,与指数相加。指数加运算也只在这时进行,它是事实上一个8位加法器,normalization送到的是它的进位输入位。这个过程称为规范化。第二步是将48位结果舍入舍入为24位(含隐藏位1)。我们这里采用的Round to nearest。根据保护位(guard)、舍入位(round)及粘贴位(sticky)来共同确定进位。进位引起的尾数大于1时,再进行右移操作,并将指数做加1处理 n单精度浮点乘法电路综合频率综合频率206.058MHzBooth编码编码部分积部
7、分积产生产生部分积部分积压缩压缩舍入、舍入、规范化规范化23823548480mb0mb1mb2mb19mb20mb21mb221masbsasumcarry8-bit SubtractExp-adjustExponent8XORBooth Encoder11Booth Encoder0Booth Encoder1Booth Encoder10PPG11PPG10PPG1PPG048-bit CLANormalizationWallace Tree24pp1124pp1024pp124pp02s112s102s02s1555MantissaExp-adjustRound and Postnor
8、malizationSigneaeb8stage1stage2stage3浮点乘法运算分为3个运算单元,即符号运算、指数运算及尾数运算单元。符号运算只限于异或运算,指数则是加法运算单元尾数则是两个2424位的乘法电路尾数乘运算分为3个流水线阶段:第一阶段是部分积的产生,第二阶段为部分积的累加过程,最后一个流程为规范化处理阶段,对尾数进行舍入处理,并对指数进行加1减1操作。 -mantissa multiplication-entity m_multiplier isport(am,bm:in std_logic_vector(22 downto 0); sum,carry:out std_lo
9、gic_vector(47 downto 0); clk:in std_logic);end m_multiplier;尾数乘运算VHDL设计实体尾数乘运算VHDL设计结构体architecture Behavioral of m_multiplier is component ppg -部分积产生电路 port(ma,mb:in std_logic_vector(22 downto 0); p10:out std_logic_vector(25 downto 0); p11,p12,p13,p14,p15,p16,p17,p18,p19,p110,p111:out std_logic_vec
10、tor(27 downto 0); p112:out std_logic_vector(25 downto 0); p113:out std_logic_vector(22 downto 0); clk:in std_logic); end component; component wallace -WALLACE TREE压缩电路 port(p0:in std_logic_vector(25 downto 0); p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11:in std_logic_vector(27 downto 0); p12:in std_logic_vect
11、or(25 downto 0); p13:in std_logic_vector(22 downto 0); sum,carry:out std_logic_vector(47 downto 0); clk:in std_logic); end component; 尾数乘运算VHDL设计COMPONENTPPGWallacePPG实体entity ppg is port(ma,mb:in std_logic_vector(22 downto 0); p10:out std_logic_vector(25 downto 0); p11,p12,p13,p14,p15,p16,p17,p18,p
12、19,p110,p111 :out std_logic_vector(27 downto 0); p112:out std_logic_vector(25 downto 0); p113:out std_logic_vector(22 downto 0); clk:in std_logic);end ppg;PPG结构体描述architecture Behavioral of ppg is component booth_encode port(y:in std_logic_vector(2 downto 0); multiplicand:in std_logic_vector(22 down
13、to 0); pp:out std_logic_vector(25 downto 0); pad:out std_logic_vector(1 downto 0); clk:in std_logic); end component; - signalbeginprocess(clk,ma)begin -data divideend process; for I in 0 to 11 generate product: booth_encode port map(y(i),mb,p1(i),pad(i),clk);End generate;process(pad0,pad1,pad2,pad3,
14、pad4,pad5,pad6,pad7,pad8,pad9,pad10,pad11,clk)begin -data outend process;end Behavioral;PPG部分积产生电路12组PPG电路Booth Encoder 综合Booth Encoder UnitBooth Encoder Entity-booth encoder logic-entity booth_encode is port(y:in std_logic_vector(2 downto 0); multiplicand:in std_logic_vector(22 downto 0); pp:out std_logic_vector(25 downto 0); pad:out std_logic_vector(1 downto 0); clk:in std_logic);end booth_encode;Wallace Tree压缩电路顶层4:2压缩电路4:2压缩电路 Wallace Tree Entity-wallace tree-entity wallace is port(p0:in std_logic_vector(25 downto 0); p1,p2,p3,p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 羊肉代加工合同(2篇)
- 济南的冬天说课稿8篇
- 南京工业大学浦江学院《视觉系统设计》2022-2023学年第一学期期末试卷
- 翠月嘉苑5-6#、11-12#、16-17#楼施工组织设计
- 发现与创作说课稿
- myschoolbag说课稿第课时
- 《整百整千加减法》说课稿
- 南京工业大学浦江学院《机械基础综合设计》2022-2023学年第一学期期末试卷
- 南京工业大学浦江学院《工程合同管理》2023-2024学年第一学期期末试卷
- 《全国文明城市创建》演讲稿
- 低空飞行基地项目可行性研究报告写作参考范文
- 2018年人教版九年级英语单词表
- 成语故事课件一诺千金
- 物业公司环境因素清单
- 国内旅游出团通知书(新版)
- 赶工措施费申请报告
- 全桥逆变电路滤波电路设计步骤
- 蒲公英总黄酮的提取及其抑菌性能
- 4gl语言开发原则及规范--简化版
- 工程量确认单样本(管线)
- 区最新关于生活垃圾分类工作推进会上的讲话稿
评论
0/150
提交评论