Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 148000

Article: 148000
Subject: Re: how to interface a ddr2 memory controller to a processor
From: mike <gosenatorsgo@hotmail.com>
Date: Fri, 11 Jun 2010 07:13:52 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 11, 7:14=A0am, rana <rande...@gmail.com> wrote:
> hi all,
>
> i have a ddr2 controller that works on 4 burst mode. ddr2 dq width is
> 16. i must provide 2, 32 bit data to the controller before writing it
> to memory. As well as when reading from a memory location it gives out
> 2, 32 bit data out.
> my processor is a master AHB, has a 32 bit address and 32 bit data
> bus.
> How can i connect these 2 together?
> problem is ahb sends out 32 bit data but i have to write to 64 bit
> data to memory.
> also the burst is 4, so it will write to 2, 32 bit memory locations,
> so there would be a 32 bit memory location that would be written with
> redundant data(if i write 64 bit data to memory).
>
> thank you,
> randeel.

Well now ... if your memory controller doesn't support writes that are
less than 64 bits, you're screwed trying to connect to a 32 bit AHB
system.
I would be surprised if that is the case .. a controller should
support byte writes for that matter.

Well anyway ... if you have this simple controller that must work in
chunks of 64 bits then you will have to store the first 32 AHB write
and when the second 32 AHB write
occurs then you can send the 64 bits to the memory controller.
Similarily for the read, you will have to store the 64 bit read data
and provide it as 2 32 bit chunks when the
AHB requests it. If the next AHB read is not to the subsequent
address, throw the unused 32 bits away and start another read
transaction.

Mike



Article: 148001
Subject: Re: how to interface a ddr2 memory controller to a processor
From: rana <randeelw@gmail.com>
Date: Fri, 11 Jun 2010 08:41:04 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 11, 8:13=A0pm, mike <gosenator...@hotmail.com> wrote:
> On Jun 11, 7:14=A0am, rana <rande...@gmail.com> wrote:
>
>
>
>
>
> > hi all,
>
> > i have a ddr2 controller that works on 4 burst mode. ddr2 dq width is
> > 16. i must provide 2, 32 bit data to the controller before writing it
> > to memory. As well as when reading from a memory location it gives out
> > 2, 32 bit data out.
> > my processor is a master AHB, has a 32 bit address and 32 bit data
> > bus.
> > How can i connect these 2 together?
> > problem is ahb sends out 32 bit data but i have to write to 64 bit
> > data to memory.
> > also the burst is 4, so it will write to 2, 32 bit memory locations,
> > so there would be a 32 bit memory location that would be written with
> > redundant data(if i write 64 bit data to memory).
>
> > thank you,
> > randeel.
>
> Well now ... if your memory controller doesn't support writes that are
> less than 64 bits, you're screwed trying to connect to a 32 bit AHB
> system.
> I would be surprised if that is the case .. a controller should
> support byte writes for that matter.
>
> Well anyway ... if you have this simple controller that must work in
> chunks of 64 bits then you will have to store the first 32 AHB write
> and when the second 32 AHB write
> occurs then you can send the 64 bits to the memory controller.
> Similarily for the read, you will have to store the 64 bit read data
> and provide it as 2 32 bit chunks when the
> AHB requests it. If the next AHB read is not to the subsequent
> address, throw the unused 32 bits away and start another read
> transaction.
>
> Mike

hi mike,

the problem is when u write 2 writes consecutively, to totally
unrelated memory addresses the above write procedure
will not work.

thank you,
randeel.

Article: 148002
Subject: Re: how to interface a ddr2 memory controller to a processor
From: rana <randeelw@gmail.com>
Date: Fri, 11 Jun 2010 08:49:18 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 11, 8:10=A0pm, "maxascent"
<maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk> wrote:
> You dont have to write all of the data into memory, you can use the data
> masks.
>
> Jon =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

what u mean is controlling the DM signal in ddr2 memory writes.

thank you,
randeel.

Article: 148003
Subject: Re: Is it possible to get consistent implementation results?
From: "BrandonD" <BdOn003@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Fri, 11 Jun 2010 10:52:14 -0500
Links: << >>  << T >>  << A >>
Thanks for the replies. 

As for the design, it is a superscalar processor not designed with FPGA in
mind. Currently, I'm just trying to get it running on a Virtex-5 and I
don't care how slow it is. So yes, I am slowing the clock down as well.
Actually, how I was changing the constraints was by changing the frequency
of the clock from the DCM and letting Xilinx detect the constraint for the
clock. The clock into the FPGA and constraints for it have remained the
same. I'll work on speeding it up later. 

Without changing the design except the clock period and having nearly all
optimizations on and timing performance design strategy along with normal
extra effort on map and par, I still couldn't meet a cycle time of 40 ns.
Then I only changed the extra effort on map and par from normal to the next
highest - continue on impossible - and it met a 30 ns cycle time. Xilinx
even mentions in the report that "continue on impossible" should not be
needed in normal cases.

I would really like to not have to use "continue on impossible" as it takes
nearly 3 hours just for par. I'm using Xilinx 10.1 so no multi-threading.	 
 
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 148004
Subject: Re: Is it possible to get consistent implementation results?
From: "maxascent" <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk>
Date: Fri, 11 Jun 2010 12:12:32 -0500
Links: << >>  << T >>  << A >>
You are doing something seriously wrong if it takes 3 hours to p&r. You
need to specify the clock that you want to run the design and then after
synthesis examine the report to see if it has been met. If it hasnt then
you need to investigate the paths that are failing and then modify the
design to make it pass.

Jon	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 148005
Subject: Re: Is it possible to get consistent implementation results?
From: "BrandonD" <BdOn003@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Fri, 11 Jun 2010 16:34:39 -0500
Links: << >>  << T >>  << A >>
I've specified the constraint on the clock to the FPGA. That clock goes to
a DCM and Xilinx generates a constraint for the output clock of the DCM. 

Synthesis runs fine, I get around a 3 ns cycle time. 

I don't get an error about failing timing constraints until after place and
route has completed. I guess I just need to experiment to find out what
works.

>You are doing something seriously wrong if it takes 3 hours to p&r. You
>need to specify the clock that you want to run the design and then after
>synthesis examine the report to see if it has been met. If it hasnt then
>you need to investigate the paths that are failing and then modify the
>design to make it pass.
>
>Jon	   
>					
>---------------------------------------		
>Posted through http://www.FPGARelated.com
>	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 148006
Subject: Re: Is it possible to get consistent implementation results?
From: "jt_eaton" <z3qmtr45@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Fri, 11 Jun 2010 18:55:09 -0500
Links: << >>  << T >>  << A >>
>Hi,
>
>I'm working with Xilinx ISE 10.1 and I am having troubles with timing
>constraints.
>
>					
>---------------------------------------		
>


What is your % of utilization? Is this chip packed to the max?


Have you tried sacrificing a chicken on top of your workstation?


John 	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 148007
Subject: Re: Is it possible to get consistent implementation results?
From: Symon <symon_brewer@hotmail.com>
Date: Sat, 12 Jun 2010 02:45:47 +0100
Links: << >>  << T >>  << A >>
On 6/11/2010 4:52 PM, BrandonD wrote:
> Thanks for the replies.
>
> As for the design, it is a superscalar processor not designed with FPGA in
> mind.

Hi Brandon,

Wow, you are designing a "superscalar processor" and yet you can't meet 
FPGA timing?

Good luck with that!

Syms.

Article: 148008
Subject: Re: Is it possible to get consistent implementation results?
From: "maxascent" <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk>
Date: Sat, 12 Jun 2010 03:44:02 -0500
Links: << >>  << T >>  << A >>
Just because synthesis passes your timing constraint it doesnt mean it will
pass after p&r. For instance there could be two pieces of logic at opposite
sides of the fpga connected by a long delay. So you need to look at the
static timing report to see what paths are failing. Just randomly changing
things until it works isnt the way to go.

Jon 

>I've specified the constraint on the clock to the FPGA. That clock goes
to
>a DCM and Xilinx generates a constraint for the output clock of the DCM. 
>
>Synthesis runs fine, I get around a 3 ns cycle time. 
>
>I don't get an error about failing timing constraints until after place
and
>route has completed. I guess I just need to experiment to find out what
>works.
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 148009
Subject: Prog4 - Altera Programming Cable and a development board in one.
From: John Adair <g1@enterpoint.co.uk>
Date: Sun, 13 Jun 2010 06:15:19 -0700 (PDT)
Links: << >>  << T >>  << A >>
In prep for the release of more Altera development board additions to
our range we have a new programming cable Prog4. We will be selling
this 2 ways. The first is as a programming cable and that will be in a
case similar to our Xilinx cable Prog3..

The second use is as a simple FT245 USB based development board where
in addition to the programming interfaces there are 36 I/O arranged in
our normal DIL Header configuration. That header can take things like
our 16 channel A/D modules or stripboard add ons. The board is based
on a XC3S50AN FPGA and will sell for GBP 50 approximately USD 75.

Picture and more details will appear on website over the next 24
hours.

John Adair
Enterpoint Ltd.

Article: 148010
Subject: Altera Quartus - how to create small roms & rams for Cyclone 3
From: "newzhnd" <nobody@home.com>
Date: Sun, 13 Jun 2010 16:52:25 -0700
Links: << >>  << T >>  << A >>
Help !!!   The megawizard in Quartus 2 does not seem to support generating 
small roms & rams using the LUT
tables, only using the M9K memory blocks.  Any way to generate small roms & 
rams using the logic cells ?
I'm looking for something similar to Xilinx distributed memory generator. 
TIA.

Jim 



Article: 148011
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: glen herrmannsfeldt <gah@ugcs.caltech.edu>
Date: Mon, 14 Jun 2010 00:04:27 +0000 (UTC)
Links: << >>  << T >>  << A >>
newzhnd <nobody@home.com> wrote:

> Help !!!   The megawizard in Quartus 2 does not seem to support generating 
> small roms & rams using the LUT
> tables, only using the M9K memory blocks.  Any way to generate small roms & 
> rams using the logic cells ?
> I'm looking for something similar to Xilinx distributed memory generator. 
> TIA.

Can't you just generate them in ordinary verilog or VHDL?

For Xilinx, the RAM arrays are synchronous, so it has to generate
LUT RAM (or ROM) if it is used asynchronously.

-- glen

Article: 148012
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: "newzhnd" <nobody@home.com>
Date: Sun, 13 Jun 2010 17:16:40 -0700
Links: << >>  << T >>  << A >>
I'd rather not write verilog & specify each rom or ram word individually. 
Cyclone 2 supports logic cell usage
for rom or ram. I'm surprised cyclone 3 doesn't.  Xilinx allows either LUT 
or block memory for ram or rom.
Nothing to do with sync or async.

"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message 
news:hv3rmb$ul3$1@speranza.aioe.org...
> newzhnd <nobody@home.com> wrote:
>
>> Help !!!   The megawizard in Quartus 2 does not seem to support 
>> generating
>> small roms & rams using the LUT
>> tables, only using the M9K memory blocks.  Any way to generate small roms 
>> &
>> rams using the logic cells ?
>> I'm looking for something similar to Xilinx distributed memory generator.
>> TIA.
>
> Can't you just generate them in ordinary verilog or VHDL?
>
> For Xilinx, the RAM arrays are synchronous, so it has to generate
> LUT RAM (or ROM) if it is used asynchronously.
>
> -- glen 



Article: 148013
Subject: Power Management for PCIe
From: Usama <usama817@gmail.com>
Date: Mon, 14 Jun 2010 00:04:25 -0700 (PDT)
Links: << >>  << T >>  << A >>
hi

I am implementing BMD design as explained in xapp1052(v2.5). Have
implemented the design on Avnet V5LXT/SXT PCIe Development Board using
the PCIe. Have generated the Endpoint Block plus for PCIe 1.9 using
ISE 10.1. I have been successful in running the BMD design. I want to
switch off the power management at the system start up.

in my understanding there can be two ways to do it. firstly through
the bios setting and other at the time of core generation.


i am working on the bios part but i want to know about the power
management option present at the time of core generation. What would
be the result if i use that option. will that option help me in
switching off the power management.



Secondly is there any option in the RTL of XAPP1052 which could be
hard coded to stop the power management negotiation at the system
startup?
Can i set any options at the time time of bit stream generation that
would help me in switching off the power management.

Regards

Usama

Article: 148014
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Mon, 14 Jun 2010 13:06:44 +0100
Links: << >>  << T >>  << A >>
"newzhnd" <nobody@home.com> wrote in message news:XaeRn.26714$%u7.16071@newsfe14.iad...
> Help !!!   The megawizard in Quartus 2 does not seem to support generating small roms & rams using 
> the LUT
> tables, only using the M9K memory blocks.  Any way to generate small roms & rams using the logic 
> cells ?
> I'm looking for something similar to Xilinx distributed memory generator.


Altera devices can't implement LUT based distributed memory, this is one of
Xilinx's heavily patented uniqe selling points!

You just have to use device logic or M9Ks.


Nial. 



Article: 148015
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: Gabor <gabor@alacron.com>
Date: Mon, 14 Jun 2010 05:25:11 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 14, 8:06=A0am, "Nial Stewart"
<nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> "newzhnd" <nob...@home.com> wrote in messagenews:XaeRn.26714$%u7.16071@ne=
wsfe14.iad...
> > Help !!! =A0 The megawizard in Quartus 2 does not seem to support gener=
ating small roms & rams using
> > the LUT
> > tables, only using the M9K memory blocks. =A0Any way to generate small =
roms & rams using the logic
> > cells ?
> > I'm looking for something similar to Xilinx distributed memory generato=
r.
>
> Altera devices can't implement LUT based distributed memory, this is one =
of
> Xilinx's heavily patented uniqe selling points!
>
> You just have to use device logic or M9Ks.
>
> Nial.

If it's so heavily patented, why do Lattice devices support
distributed RAM?  There must be some work-arounds to the
existing patents.

Article: 148016
Subject: how fast is ... fast.
From: LC <cupidoREMOVE@mail.ua.pt>
Date: Mon, 14 Jun 2010 13:45:50 +0100
Links: << >>  << T >>  << A >>
Hi,

In a design I'm working on I have a machine that produces
128 bit of data. This data is destined to a 16 bit DAC running
8x faster.

Knowing that I can produce the 128bit up to a 120MHz rate
I wanted to generate the 8x 16bit stream as fast as I can
(and I'm using a 500MHz DAC)

The 128 to 16bit It's all done in a component I called front8x
that selects counts and selects the 16bit slice out of the 128bit data
as below (being the clock output the one used to run the rest of the 
circuit).

In practice I found it to run up to 300MHz.

Should I expect that this would be the right up limit I could do it ?
Is there any clever design of this frontend to allow higher speed ?

( note: the phase of the clock out to the DAC is set on another PLL so
I'm surely well by setting the DAC to sample at the middle of the eye 
pattern. So no issues here )

I would like very much to read some comments, please.

Thanks.

Luis C.

(device CycloneIII-FBGA fastest grade, all outs using LVDS)

--


LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_arith.ALL;

ENTITY front8x IS

PORT (	clkin:	IN STD_LOGIC;	-- master frontend clock
	sync:	IN STD_LOGIC;	-- Sync frontend
	clkout:	OUT STD_LOGIC;	-- 1/8 main clock out
	datain:	IN STD_LOGIC_VECTOR (127 downto 0);-- system data bus
	dacout:	OUT STD_LOGIC_VECTOR (15 downto 0)-- DAC data bus
	);

END front8x;


ARCHITECTURE regmux8 OF front8x IS

SIGNAL	dacreg:	STD_LOGIC_VECTOR ( 15 DOWNTO 0 );
SIGNAL	datareg:STD_LOGIC_VECTOR ( 127 DOWNTO 0 );
SIGNAL	cntr:	INTEGER RANGE 0 TO 7;

BEGIN

dacout <= dacreg;


--------------------------
-- Main 8:1 cycle
-- clockout rise at count=4
-- bigdata is fetch at cont = last = 7

main: PROCESS(clkin,sync)

BEGIN
	IF (clkin='1' AND clkin'EVENT)
		THEN
			IF (sync='0')	THEN	cntr <= 0;
					ELSE	cntr <= cntr + 1;
			END IF;
			
			case cntr is
			  when 0 => dacreg <= datareg(127 downto 112);
			  when 1 => dacreg <= datareg(111 downto 96);
			  when 2 => dacreg <= datareg(95 downto 80);
			  when 3 => dacreg <= datareg(79 downto 64);
			  when 4 => dacreg <= datareg(63 downto 48);
			  when 5 => dacreg <= datareg(47 downto 32);
			  when 6 => dacreg <= datareg(31 downto 16);
			  when others => dacreg <= datareg(15 downto 0);
					 datareg <= datain;
										
			END CASE;
			
			IF (cntr > 4)	THEN clkout <= '1';
					ELSE clkout <= '0';
			END IF;

	END IF;

END PROCESS main;

END regmux8;

Article: 148017
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Mon, 14 Jun 2010 14:04:57 +0100
Links: << >>  << T >>  << A >>
> > Altera devices can't implement LUT based distributed memory, this is one of
> > Xilinx's heavily patented uniqe selling points!

> If it's so heavily patented, why do Lattice devices support
> distributed RAM?  There must be some work-arounds to the
> existing patents.

Licensing?

It's a useful feature so I presumed (and have read here I think) the thing
stopping the other vendors implementing it is patents.


Nial.




Article: 148018
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: General Schvantzkoph <schvantzkoph@yahoo.com>
Date: 14 Jun 2010 14:12:44 GMT
Links: << >>  << T >>  << A >>
On Mon, 14 Jun 2010 13:06:44 +0100, Nial Stewart wrote:

> "newzhnd" <nobody@home.com> wrote in message
> news:XaeRn.26714$%u7.16071@newsfe14.iad...
>> Help !!!   The megawizard in Quartus 2 does not seem to support
>> generating small roms & rams using the LUT
>> tables, only using the M9K memory blocks.  Any way to generate small
>> roms & rams using the logic cells ?
>> I'm looking for something similar to Xilinx distributed memory
>> generator.
> 
> 
> Altera devices can't implement LUT based distributed memory, this is one
> of Xilinx's heavily patented uniqe selling points!
> 
> You just have to use device logic or M9Ks.
> 
> 
> Nial.

They can implement ROMs with LUTs, all logic in a LUT based FPGA is a 
ROM. The LUT RAM patent was filed in 1989 and granted in 1994 so it 
should expire next year, the patent term was 17 years from the date of 
grant in the early 90s.

Article: 148019
Subject: Re: how fast is ... fast.
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Mon, 14 Jun 2010 15:34:35 +0100
Links: << >>  << T >>  << A >>
> Is there any clever design of this frontend to allow higher speed ?

As you're stepping through the 128 bits to extract the 16 bit output
I would have implemented it as a big shift register and take off the
top/bottom bits.

Then all the tools have to worry about is a single register to register delay
rather than big mux required to 'select' the correct 16 bits.


Nial. 



Article: 148020
Subject: Killer FPGA Multimedia SoC system found in trash!
From: ajcrm125 <ajcrm125@gmail.com>
Date: Mon, 14 Jun 2010 08:09:24 -0700 (PDT)
Links: << >>  << T >>  << A >>
Can't wait to use this thing!
http://ppclone.blogspot.com/2010/06/mystery-devboard.html

Article: 148021
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: Antti <antti.lukats@googlemail.com>
Date: Mon, 14 Jun 2010 09:59:46 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jun 14, 3:25=A0pm, Gabor <ga...@alacron.com> wrote:
> On Jun 14, 8:06=A0am, "Nial Stewart"
>
> <nial*REMOVE_TH...@nialstewartdevelopments.co.uk> wrote:
> > "newzhnd" <nob...@home.com> wrote in messagenews:XaeRn.26714$%u7.16071@=
newsfe14.iad...
> > > Help !!! =A0 The megawizard in Quartus 2 does not seem to support gen=
erating small roms & rams using
> > > the LUT
> > > tables, only using the M9K memory blocks. =A0Any way to generate smal=
l roms & rams using the logic
> > > cells ?
> > > I'm looking for something similar to Xilinx distributed memory genera=
tor.
>
> > Altera devices can't implement LUT based distributed memory, this is on=
e of
> > Xilinx's heavily patented uniqe selling points!
>
> > You just have to use device logic or M9Ks.
>
> > Nial.
>
> If it's so heavily patented, why do Lattice devices support
> distributed RAM? =A0There must be some work-arounds to the
> existing patents.

very simple: Lattice has the license!
because AT&T used to to manufacture Xilinx compatible FPGA's
and Lattice is the current license holder of those old technologies
hence Lattice inherited the rights to use LUT as distributed RAM.

Other FPGA vendors like Altera can not do it without legal issues

Antti









Article: 148022
Subject: Re: Altera Quartus - how to create small roms & rams for Cyclone 3
From: "Phil Jessop" <phil@noname.org>
Date: Mon, 14 Jun 2010 18:36:37 +0100
Links: << >>  << T >>  << A >>

"newzhnd" <nobody@home.com> wrote in message 
news:JxeRn.38054$rU6.33631@newsfe10.iad...
> I'd rather not write verilog & specify each rom or ram word individually. 
> Cyclone 2 supports logic cell usage
> for rom or ram. I'm surprised cyclone 3 doesn't.  Xilinx allows either LUT 
> or block memory for ram or rom.
> Nothing to do with sync or async.
>
> "glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message 
> news:hv3rmb$ul3$1@speranza.aioe.org...
>> newzhnd <nobody@home.com> wrote:
>>
>>> Help !!!   The megawizard in Quartus 2 does not seem to support 
>>> generating
>>> small roms & rams using the LUT
>>> tables, only using the M9K memory blocks.  Any way to generate small 
>>> roms &
>>> rams using the logic cells ?
>>> I'm looking for something similar to Xilinx distributed memory 
>>> generator.
>>> TIA.
>>
>> Can't you just generate them in ordinary verilog or VHDL?
>>
>> For Xilinx, the RAM arrays are synchronous, so it has to generate
>> LUT RAM (or ROM) if it is used asynchronously.
>>
>> -- glen
>
>


Just use the LPM_CONSTANT primitive and specify the bit width and value. I
am sure you can take it from there ....



Article: 148023
Subject: Trouble with Altium Openbus document based UART example using
From: asimlink <asimlink@gmail.com>
Date: Mon, 14 Jun 2010 10:54:26 -0700 (PDT)
Links: << >>  << T >>  << A >>
Dear Friends,

i am using Altium Designer for fpga and embedded project on digilent
spartan3E-500 board.
I have created an FPGA project in Altium using open bus document
containing three device:
1. TSK3000A
2. WB_PRTIO_1 (for leds)
3. WB_UART_V2_1
Added a top level schematic sheet. Added constraint file to the
project containing correct fpga pin designators. Configured the
TSK3000 memory size as 16K. The fpga project gets synthesized and bit
stream is generated without any problem.
Next i created an embedded project and made it child of the TSK3000
cpu.
Configured Aplication Memory as 0-8K as ROM and 8k-16K as ram.
Adjusted the Stack size to 512. Heap size " " (nothing not even 0).
Created main.c and software platform document. My software platform
document contains:
hardware rappers:
1. WB_PRTIO_1
2. WB_UART_V2_1
and driver files:
1. DRV_PRTIO_1
2. DRV_UART_V2_1

following is my main.c:
-------------------------------------------------
#include <stdio.h>
#include <stdint.h>
#include <drv_uart8.h>
#include <drv_ioport.h>
#include "hardware.h"
#include "devices.h"

uart8_t* uart;
ioport_t* ioport;

void main(void)
{
int value=0;
uart = uart8_open(DRV_UART8_1); //uart8_t* uart8_open(int id);
uart8_set_baudrate(uart,19200);
ioport = ioport_open(DRV_IOPORT_1); //ioport_t* ioport_open(const int
id);
value = uart8_write(uart,"helloworld\n", 20);
ioport_set_value(ioport, WB_PRTIO_1, 0xaa);
ioport_set_value(ioport, WB_PRTIO_1, 0x55);

while (1)
{
//int uart8_putchar(uart8_t *restrict drv, int val);
//uart8_putchar(uart, uart8_getchar(uart)); //int
uart8_getchar(uart8_t *restrict drv);
uart8_putchar(uart, 'U');

}

}
---------------------------------
I have attached pc com port with my boards serial port and running
hyper terminal on the other end of the serial cable.
Now the problem is:
I can write to leds without any problem but i never see prints from
uart8_write(); function.

I have following questions which I hope someone will come up with
answers:
1. How to compute value of stack requirement?
2. How to compute value for heap?
3. What might be wrong with my design that i dont see message on the
serial port?
4. How can i configure my embedded design to re-direct printf output
to UART?

Regards.

Article: 148024
Subject: Re: how fast is ... fast.
From: Symon <symon_brewer@hotmail.com>
Date: Mon, 14 Jun 2010 19:45:04 +0100
Links: << >>  << T >>  << A >>
On 6/14/2010 1:45 PM, LC wrote:
>
> Should I expect that this would be the right up limit I could do it ?
> Is there any clever design of this frontend to allow higher speed ?
>
Does XAPP265 give you any architectural hints that you can use in your 
Altera part?
HTH., Syms.



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search