Forum: FPGA, VHDL & Verilog convert number Verilog

von Sergei C. (sergei_cr)

Rate this post
0 useful
not useful

Don't remember as an operation is called and and therefore i have 
problems with the search for implementation.

input [4:0] number1,
output [31:0] number2

number2  has the form :  11..1100..00  where the cout of "1" is equal to 
the number1
As example number1 = 3, so number2 = 111000..00
As example number1 = 8, so number2 = 11111111000..00

I think the best way to speed and energy efficiency is to describe each 
output bit, but for large numbers it looks unattractive for reading and 
understanding. I would like to find a parametrized short record of this 
relationship, but I can not

Thanks for the help

: Edited by User
von Andy (Guest)

Rate this post
1 useful
not useful
This may work:
 assign number2 = ~(32'hFFFFFFFF >> number1);

von Sergei C. (sergei_cr)

Rate this post
0 useful
not useful
Andy wrote:
> This may work:
>  assign number2 = ~(32'hFFFFFFFF >> number1);

Yes! Beautiful solution. Thanks, it's what i want.


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.