Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)

Radix-10 Multiplier

Altera_Forum
Honored Contributor II
1,146 Views

Hello there 

 

I am looking for a shift and add style Radix-10 multiplier for Quartus II. 

 

Does anyone have some coding I could use to make some comparisons, it doesn't have to go at 100mph, I just need to make some aspect ratio comparisons. 

 

 

Thanks 

 

Will
0 Kudos
5 Replies
Altera_Forum
Honored Contributor II
423 Views

You cant shift BCD numbers. you cant add them either. (easily anyway). 

 

Wouldnt it be best to do a BCD -> binary conversion, do the multiplication, and then convert back?
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

Yea I'd imagine that would work just fine 

 

Basically I'm looking for a solution to the problem in Pirhami' 'Computer Arithmetic' problem 10.16a. It is essentially a radix-16 multiplier with a BCD input, that sounds very similar to your suggestion. It only has to be 16 x 16 bit multiplication.
0 Kudos
Altera_Forum
Honored Contributor II
423 Views

a 16x16 multiplaction will take just a single multiplier, with the additional logic for the BCD conversion. Not very expensive.

0 Kudos
Altera_Forum
Honored Contributor II
423 Views

As Tricky suggested, you need to do a BCD->binary conversion.

0 Kudos
Altera_Forum
Honored Contributor II
423 Views

 

--- Quote Start ---  

You cant shift BCD numbers. you cant add them either. (easily anyway). 

 

Wouldnt it be best to do a BCD -> binary conversion, do the multiplication, and then convert back? 

--- Quote End ---  

 

 

You can shift BCD numbers, but only by '4' bits at a time, which comes down by multiplying by 10 - decimal that is :) 

I think that going from BCD to binary and back, is a bit cheating? 

I peeked into the exercise (via the 'look inside' function on Amazon ...). Interesting book, but pricey :( 

Just for the fun of doing it in BCD: you can do long multiplication per BCD digit as you would do per bit in standard binary. The adders would have to be BCD-capable, working with blocks of 4 binary bits and with appropriate carry-rules. 

I'm not sure that the effort in converting from BCD to Binary and back to BCD would take less resources, or be any faster?
0 Kudos
Reply