FPGA Central - World's 1st FPGA / CPLD Portal

FPGA Central

World's 1st FPGA Portal

 

Go Back   FPGA Groups > NewsGroup > FPGA

FPGA comp.arch.fpga newsgroup (usenet)

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 05-31-2006, 03:04 AM
Mr. Ken
Guest
 
Posts: n/a
Default How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
best precision possible. Without considering clipping and range issues, I
am using multiplication by 59/16, which gives 0.599% error. What better
approach can I use?

I am going to implement the calculation in ASIC, thus less complexity is
what I am expecting.





Reply With Quote
  #2 (permalink)  
Old 05-31-2006, 04:00 AM
Peter Alfke
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

I assume your scaling factor is a constant, and your data is variable.
Now we need to know the available time for one conversion and also the
data rate (which can be significantly higher in a pipelined scheme).
In the digital realm, anything and everything is possible, if there is
enough time...
Peter Alfke, Xilinx
=========================
Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Reply With Quote
  #3 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #4 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #5 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #6 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #7 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #8 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #9 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #10 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #11 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #12 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #13 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #14 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #15 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #16 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #17 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #18 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #19 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #20 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #21 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #22 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #23 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #24 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
  #25 (permalink)  
Old 05-31-2006, 05:40 AM
John_H
Guest
 
Posts: n/a
Default Re: How do I scale a 9-b signed 2's complement data by 17/sqrt(21)?

References: <[email protected]>
In-Reply-To: <[email protected]>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Lines: 22
Message-ID: <Ae8fg.9896$ho6.9329@trnddc07>
Date: Wed, 31 May 2006 03:40:16 GMT
NNTP-Posting-Host: 71.117.188.223
X-Complaints-To: [email protected]
X-Trace: trnddc07 1149046816 71.117.188.223 (Tue, 30 May 2006 23:40:16 EDT)
NNTP-Posting-Date: Tue, 30 May 2006 23:40:16 EDT

Mr. Ken wrote:
> My task is to scale up a 9-bit data by 17/sqrt(21) (= 3.7097), with the
> best precision possible. Without considering clipping and range issues, I
> am using multiplication by 59/16, which gives 0.599% error. What better
> approach can I use?
>
> I am going to implement the calculation in ASIC, thus less complexity is
> what I am expecting.


Use more bits. If you were looking at simple shift for the division
you're on the right track but you need more digits such as 3799/10241.

If ASICs have dedicated multipliers as a simple element, you probably
have what you need with a multiplier.

If you have loads of time, a bit-serial approach can give you tiny.

If you want abstruse, you can do a 115/31 where the divide by 31 is a
bunch of 5-bit adds and a few conditionals around the digit 31 (and a
bit of latency).

Where do you want to go?
Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
unsigned and signed data in Verilog? Shenli Verilog 2 01-30-2007 10:34 PM
How do I scale a 9-b signed 2's complement data by 17/sqrt(21)? Mr. Ken Verilog 0 05-31-2006 03:05 AM
sqrt(a^2 + b^2) in synthesizable VHDL? Marko S FPGA 11 05-12-2006 06:57 PM
Verilog 2's Complement Shifter Davy FPGA 5 02-07-2006 07:14 PM
Verilog 2's Complement Shifter Davy Verilog 4 02-07-2006 07:14 PM


All times are GMT +1. The time now is 03:49 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright 2008 @ FPGA Central. All rights reserved