- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FPGA设计基础 第6章FPGA设计中的基本问题
第6章 FPGA设计中的基本问题 6.1 数的表示方法 图6.17 具有同步寄存器输出的多时钟系统 在许多应用中只将异步信号同步化还是不够的,当系统中有两个或两个以上非同源时钟的时候,数据的建立和保持时间很难得到保证,最好的方法是将所有非同源时钟同步化。 图6.18 不同源时钟 图6.19 同步化任意非同源时钟 * 不便于算术运算 相邻数字之间仅有1位不同,适用于物理系统的接口 0~ 2N-1 格雷码 可表示大于1或小于1的正负数,易于执行算术运算 -2N-1~ 2N-1-2-M (以2-M为步长) 带符号小数的二进制补码 无法表示负数 可表示大于1或小于1的正数,易于执行算术运算 0~ 2N-2M 无符号小数 需要一个额外比特来作为符号位 可表示正负数,易于执行算术运算 -2N-1~ 2N-1-1 二进制补码 无法表示负数 最常用的计数方式,易于执行算术运算 0~ 2N-1 无符号整数 缺 点 优 点 数值范围 计数方式 表6.1 二进制计数方式 在给定时间内所有数都具有相同的指数 具有很大的动态范围,所需的硬件资源最少 --- 块浮点数 执行算术运算时需要大量的硬件资源 具有很大的动态范围 --- 浮点数 难以执行算术运算 易于进行逻辑“非”运算 -2N-1-1~ 2N-1-1 二进制反码 常用于A/D和D/A变换器,易于执行算术运算 -2N-1~ 2N-1-1 偏移二进制补码 难以执行算术运算 可表示正负数,与十进制计数方式很相似 -2N-1-1~ 2N-1-1 带符号整数 缺 点 优 点 数值范围 计数方式 表6.1 二进制计数方式(续) 例:3位二进制数在不同计数方式下所代表的十进制数值。 0 3 -3 5 -1 7 111 -1 2 -2 4 -2 6 110 -2 1 -1 6 -3 5 101 -3 0 -0 7 -4 4 100 3 -1 3 2 3 3 011 2 -2 2 3 2 2 010 1 -3 1 1 1 1 001 0 -4 0 0 0 0 000 二进制反码 偏移二进制补码 带符号整数 格雷码 二进制补码 无符号整数 二进制数 6.1.1 无符号整数 将一个整数用一个二进制代码序列表示,每个二进制代码的权值是2P,P为该代码在序列中的序号。 2N-1 N-1 … … 24 4 23 3 22 2 21 1 20 0 权 值 代码序号 表6.3 无符号整数的权值 缺点:无法表示负数。 1*26+1*25+ 1*24+ 1*23+1*22+1*21+1*20=127 127 1111111 1*24+1*23+0*22+1*21+1*20=27 27 11011 1*23+1*22+1*21+0*20=14 14 1110 1*23+0*22+1*21+0*20=10 10 1010 1*22+0*21+1*20=5 5 101 转换关系 十进制数 无符号整数 表6.4 无符号整数与十进制数的转换实例 1001 +11101 100110 = 9 +29 38 图6.1 无符号整数的加法 6.1.2 二进制补码 特点: 与无符号整数的计数方法类似,唯一不同之处在于最高有效位的权值是-2N-1。 将整数进行正负变换时,只需将原数中“1”和“0”反相,然后再加上“1”即可。 加减运算时,最高有效位进位须舍去。 权 值 代码序号 20 0 21 1 22 2 23 3 24 4 … … -2N-1 N-1(MSB) 2N-2 N-2 表6.5 二进制补码的权值 1*(-27)+ 1*26+1*25+ 1*24+ 1*23+1*22+1*21+1*20= - 1 -10*(-27)+ 1*26+1*25+ 1*24+ 1*23+1*22+1*21+1*20=127 1271*(-27)+ 0*26+1*25+ 0*24+ 0*23+1*22+1*21+0*20= - 90 -900*(-27)+ 0*26+1*25+ 0*24+ 0*23+1*22+1*21+0*20=38 381*(-27)+ 1*26+1*25+ 0*24+ 0*23+0*22+1*21+1*20= - 29 -290*(-27)+ 0*26+0*25+ 1*24+ 1*23+1*22+0*21+1*20=29 29转换关系 十进制数 二进制补码 表6.6 二进制补码与十进制数的转换实例(N=8)01000011 = +29 +38 67100000000 = 舍去 -29 +29 0 111000
文档评论(0)