当前位置:首页 > 华中科技大学计算机学院数字逻辑实验报告2(共四次)
8、思考题
(1)乘法器/除法器中的延时主要取决于加法器/减法器的延时,其它组件延时可忽略不计。假设每个加法器/减法器的延时都为Δt,你所设计的乘法器Mul44、Mul32
4、Mul32
32、除法器Div4、Div32的延时各是多少它们是组
合逻辑电路、同步时序逻辑电路还是异步时序逻辑电路
乘法器Mul4
4的延时为4Δt;Mul32
4的延时为4Δt;Mul32
32的延
时为39Δt;除法器Div4的延时为4Δt;Div32的延时为32Δt。
(2)通过改变设计,乘法器Mul32最小值是多少
可以。将4x4乘法器换成32位的,用64个4x4乘法器组成32位乘法器,
32的延时能不能再减少如果能减少,它的
它们是组合逻辑电路。
只需用到31个加法器,即时延为31Δt。
(3)目前的除法器Div32性能并不好,你是否有性能更好设计
使用基于可编程逻辑器件FPGA来实现除法器。计算时先将计算的被除数向前扩展7位,随后由高位向低位逐8位递减,滚动记录差值。首先被减数16位在前边拼接7位0,拼接后不会改变被除数的大小,而且方便向下操作。拼接后将此23位数称为mid。之后取mid的高8位与除数作比较,若大于除数,则减去除数,结果低位拼接一。若小于除数,则验证最高位是不是0,若是则左移一位,结果拼接0.若不是则用高九位减去除数,结果拼接两个0.然后将差和后15位以及末尾一个0拼接,实现结果循环向前。在计算的同时用计数器计数来确定运行到的位数。在进行以上操作,最终得到结果。
9、心得体会、意见与建议
此次乘法器的设计较为简单,实验指导中直接给出了设计思路,相关的元件也可以直接使用logisim中自带的,所以设计起来很方便。32x32的乘法器也只需要将用8个Mul32
4分组相乘,然后通过4的倍数位的左移(相当于乘2i),
再将左移结果两两相加得到。
除法器的设计比乘法器更复杂一些,但是因为除法器中有相似的部分,可将这些相似的部分单独形成一个模块,再把这些相同的模块进行单独的封装,在使用封装后的元件来设计除法器会使电路简洁许多。4位除法器中由于模块数较少没有采用封装好的模块,32位除法器则采用了32个相同的模块32div1。
这次实验不像前几次实验那样需要自己根据真值表来设计电路,而是直接使用软件里提供的各种封装好的元件,站在更高的层次进行设计,感觉容易了许多。
共分享92篇相关文档