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

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

 

verilog中如何拆分一个数

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

verilog中如何拆分一个数

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

相关文章:

  • 2021-11-06
  • 2021-09-04
  • 2021-12-11
  • 2021-08-16
  • 2022-01-04
  • 2021-09-25
  • 2022-01-19
  • 2021-07-10
猜你喜欢
  • 2021-08-21
  • 2021-07-09
  • 2021-05-07
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2021-05-11
相关资源
相似解决方案