Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Quartus Inference Challenge

Reply
Thread Tools

Quartus Inference Challenge

 
 
Tricky
Guest
Posts: n/a
 
      05-19-2009
Im trying to replace an altsyncram instatiation with an implied
version, and I cant figure it out atm - thought Id put it out as a
little challenge.
Heres the altsyncram (dual clocked, in and out port width difference):

alt_ram : altsyncram
generic map (
Width_a => 64,
width_b => 16,

widthad_a => 7,
widthad_b => 9

)
port map (

clock0 => clka,
clock1 => clkb,

data_a => data_a,
address_a => std_logic_vector(to_unsigned(addr_a, 7) ),

address_b => std_logic_vector(to_unsigned(addr_b, 9) ),
q_b => q_b

);


Its easy to infer it when A and B ports are identical widths, bit how
to do it now there is a width mismatch?
 
Reply With Quote
 
 
 
 
Jacko
Guest
Posts: n/a
 
      05-20-2009
On May 19, 6:15*pm, Tricky <(E-Mail Removed)> wrote:
> Im trying to replace an altsyncram instatiation with an implied
> version, and I cant figure it out atm - thought Id put it out as a
> little challenge.
> Heres the altsyncram (dual clocked, in and out port width difference):
>
> alt_ram : altsyncram
> * generic map (
> * * Width_a * *=> 64,
> * * width_b * *=> 16,
>
> * * widthad_a *=> 7,
> * * widthad_b *=> 9
>
> * )
> * port map (
>
> * * clock0 * * * * => clka,
> * * clock1 * * * * => clkb,
>
> * * data_a * * * * => data_a,
> * * address_a * * *=> std_logic_vector(to_unsigned(addr_a, 7) ),
>
> * * address_b * * *=> std_logic_vector(to_unsigned(addr_b, 9) ),
> * * q_b * * * * * *=> q_b
>
> * );
>
> Its easy to infer it when A and B ports are identical widths, bit how
> to do it now there is a width mismatch?


Try multiplexing a 64 bit output port into 4*16 using two address
bits. This makes the same port widths.

cheers jacko
 
Reply With Quote
 
 
 
 
Tricky
Guest
Posts: n/a
 
      05-20-2009
On 20 May, 16:15, Jacko <(E-Mail Removed)> wrote:
> On May 19, 6:15*pm, Tricky <(E-Mail Removed)> wrote:
>
>
>
> > Im trying to replace an altsyncram instatiation with an implied
> > version, and I cant figure it out atm - thought Id put it out as a
> > little challenge.
> > Heres the altsyncram (dual clocked, in and out port width difference):

>
> > alt_ram : altsyncram
> > * generic map (
> > * * Width_a * *=> 64,
> > * * width_b * *=> 16,

>
> > * * widthad_a *=> 7,
> > * * widthad_b *=> 9

>
> > * )
> > * port map (

>
> > * * clock0 * * * * => clka,
> > * * clock1 * * * * => clkb,

>
> > * * data_a * * * * => data_a,
> > * * address_a * * *=> std_logic_vector(to_unsigned(addr_a, 7) ),

>
> > * * address_b * * *=> std_logic_vector(to_unsigned(addr_b, 9) ),
> > * * q_b * * * * * *=> q_b

>
> > * );

>
> > Its easy to infer it when A and B ports are identical widths, bit how
> > to do it now there is a width mismatch?

>
> Try multiplexing a 64 bit output port into 4*16 using two address
> bits. This makes the same port widths.
>
> cheers jacko


Yup, I can do that, but its not as efficient as the direct
instantiation.

Altera have come back saying they dont support it - I shall put in an
enhancement request.
 
Reply With Quote
 
Mike Treseler
Guest
Posts: n/a
 
      05-20-2009
Tricky wrote:

> Yup, I can do that, but its not as efficient as the direct
> instantiation.


But it is portable.
Does the instance use zero LUTs for the mux?

-- Mike Treseler
 
Reply With Quote
 
Jacko
Guest
Posts: n/a
 
      05-21-2009
On May 20, 7:18*pm, Mike Treseler <(E-Mail Removed)> wrote:
> Tricky wrote:
> > Yup, I can do that, but its not as efficient as the direct
> > instantiation.

>
> But it is portable.
> Does the instance use zero LUTs for the mux?
>
> * * *-- Mike Treseler


Probly not. Good job he didn't want the write bus smaller width, and
write before read!

cheers jacko

http://nibz.googlecode.com version G-spot
 
Reply With Quote
 
 
 
Reply

Thread Tools

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 Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Automatic inference from general VHDL code in Quartus II Thomas Thorsen VHDL 2 04-11-2006 07:21 PM
Inference Information in ModelSim Andrew Greensted VHDL 5 02-22-2006 03:31 PM
Description of inference from data adapter =?Utf-8?B?amI=?= ASP .Net 0 12-14-2004 12:59 PM
Boo: Statically typed Python with type inference is done (well, kinda ;-) Ville Vainio Python 2 07-16-2004 05:21 PM
Attention, hyperlinkers: inference of active text Cameron Laird Python 7 06-21-2004 04:23 AM



Advertisments