高效除法器verilog实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
v1.0可编辑可修改
西北工业大学
《FPGA技术实验》
实验报告二
(高效除法
器)
可编辑可修改
学院: 学号: 姓名: 专业: 实验时间: 实验地点: 软件与微电子学院微电子学
毅字楼335
指导教师:王少熙
西北工业大学
2010年10月
为了能清楚的展示以上算法我们看下面例子:为了简单期间我们假设被除数
(did)是4位,除数(dis)是2位,商(quo)是4位,余数(rem)是4位,设did=0110,dis=10,我们来看看是怎么执行的•首先余数和商都清零,即rem=0,quo=0;把被除数的最高位0拼接到rem的最低位,此时rem=0000B,由于rem小于除数dis=10,则商quo[3]=0;下面进行第二次计算,把did[2]拼接到rem 最低位,此时rem=0001,dis=10>rem,故quo[2]=0;继续计算,把
did[1]拼接到rem 最低位,此时rem=0011,dis=10 进行最后一轮运算,把did[O]拼接到rem最低位,此时rem=0010,dis=10=rem, 因此 quo[0]=1,rem=rem-dis=0010-10=0000,至此我们已计算完毕商quo=0011, 余数rem=0000;计算简单快速. 2.测试平台设计 模块设计 'timescale 1ns/1ns module divider_8_4(did, error 置 1 ); parameter M=7; 数分别是9,10,11,12,13,14,15 时商为0,余数分别9,10,11,12,13,14,15. 当被除数为147,除数分别为1,2,3,4,5,6,7 时,商分别为 147,73,49,36,29,24,21, 余数分别为0,1,0,3,2,3,0. 结果正确. 由上图可见代码覆盖率已达100%,非常好. 1.综合结果,布局布线结果,关键路径,资源利用率等。 由于过程简单,布局和布线基本用到很少,,关键路径主要在testbench中开始赋初值的时间和除数被除数的正确输入,程序简单明了资源利用率较高。 五、分析与讨论 1.电路的功能是否正确,仿真是否充分,如何进一步提高代码覆盖率 电路功能正确,仿真很充分,代码覆盖率已经达到了很高. 2.电路的关键路径在哪里,如何对关键路径进行优化。 关键是移位相减法,然后考虑在不同情况下,商和余数的结果. 六、教师评语成绩 签名: 日期: