verilog中如何拆分一个数

 

在数码管显示中,遇到一个问题就是如何把一个6位数进行拆分,(具体应用像对一个AD进行采样,其值用数码管显示出来),

这里需要用的除法运算,刚开始自己用的quartusII自带的除法器和求余数器,但是发现消耗了大量的逻辑单元

 

在网上看到赛灵思的资料,现在的理解应该是他默认是32位,所以要用很多逻辑单元。
然后又通过调用其IP核的方法

 
果然效果要好了很多,但是感觉还是很多,因为他的IP核为了实现可任意配置,肯定用了很多资源,
而且这里的除数是个定值,如果自己写的话应该要好很多
 
 
寄存器用的很多,需要优化 但是现在没有方向
 
在做这个过程中由于是显示模块,所以对除法器的速度要求不高,主要是尽最大努力减少逻辑单元的数量。其实在6个除法器其中每
一个位数都不一样,应该是依次减少,所以可以分别写6个除法器,对其量身打造。在调用IP的过程中尝试过,逻辑单元从465(460)
减少到441(436)所以还是有一定的效果。
 

转载于:https://www.cnblogs.com/Mrseven/archive/2011/11/13/2247680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值