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 150025

Article: 150025
Subject: Re: FSM single process...BIG question
From: Andy <jonesandy@comcast.net>
Date: Mon, 6 Dec 2010 14:25:35 -0800 (PST)
Links: << >>  << T >>  << A >>
I agree with the advice to achieve the "very best performance," but
only if that means "fastest clock speed".

However, that is true for probably < 5% of most FPGA design work (not
necessarily only 2% of FPGA resources). Sure, there are pieces of many
FPGA designs where Fclk rules, but those pieces are usually small
(especially in terms of how difficult it is to describe) compared to
the rest of it.

My point is, don't start worrying about what will fit in a LUT until
you have to worry about Fclk. For the other 98% of your project that
doesn't care, best performance = "easiest implementation to read,
write, verify and maintain". For many organizations, "verify" also
means review/audit by peers, so approaches to design are preferred
that are simple not only for you to understand, but also your
potential reviewers/auditors. Luckily, approaches that are easy for
them to understand are also likely to be easily understood by
potential maintainers, which might even be yourself in another few
weeks/months/years.

Hint: describe the behavior you want, not the implementation you think
you want, at least until the tool tells you it can't come up with an
implementation on its own that meets timing and available resources.

Article: 150026
Subject: Re: FPGA project structure definition
From: Pontus <pontus.stenstrom@gmail.com>
Date: Mon, 6 Dec 2010 14:31:10 -0800 (PST)
Links: << >>  << T >>  << A >>
Considering that you may want to use a module as a submodule,
parent modules will need to be able to find your submodule's
generated macros (black-boxes) for their build (sim/synt/par).

If you start copying files within a submodule you will not
succeed cleaning it (from a parent modules view), or you need
to clean the copies as well. Which one should the parent use?
The original, or the copy?

I found that, as long as I know where the submodule's generated
items are stored, I could, for simulation, use a configuration
to override paths using generics [vhdl]. For par (ngdbuild)
use -sd to point out the macro. Synthesis treats it as a blackbox
but I guess timing to/from the blackbox could/should be possible?

In the cleaning process I excluded removing any macros (since they
are quite time consuming to regenerate), however the build process
still requires the macro-control-file (e.g. .xco) to be older than
the macro-result-file (e.g. .mif, .ngc etc.).

-- Pontus

Article: 150027
Subject: Re: Linux on Microblaze
From: nico@puntnl.niks (Nico Coesel)
Date: Mon, 06 Dec 2010 22:39:30 GMT
Links: << >>  << T >>  << A >>
d_s_klein <d_s_klein@yahoo.com> wrote:

>On Dec 6, 9:18=A0am, Tim Wescott <t...@seemywebsite.com> wrote:
>>
>> Could you please cite chapter and verse?
>> --
>>
>> Tim Wescott
>> Wescott Design Serviceshttp://www.wescottdesign.com
>>
>
>According to gnu.org:  "Many people believe that the spirit of the GNU
>Project is that you should not charge money for distributing copies of
>software, or that you should charge as little as possible =97 just
>enough to cover the cost. This is a misunderstanding."
>
><http://www.gnu.org/philosophy/selling.html>

The free market principle says that people will get something from the
cheapest source. In this case: they download from internet. Tim
Wescott's post is spot on!

-- 
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------

Article: 150028
Subject: Re: Concurrent Logic Timing
From: Andy <jonesandy@comcast.net>
Date: Mon, 6 Dec 2010 14:43:18 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 12:50=A0pm, rickman <gnu...@gmail.com> wrote:
> On Dec 6, 1:00=A0pm, Andy <jonesa...@comcast.net> wrote:
>
> > I think I would use a function for the intermediate calculation, and
> > then call the function in both concurrent assignment statements per
> > the original implementation.
>
> > Integers give you the benefits of bounds checking in simulation (even
> > below the 2^n granularity if desired), and a big improvement in
> > simulation performance, especially if integers are widely used in the
> > design (instead of vectors).
>
> > Andy
>
> I know everyone says that integers run faster, but is this a
> significant effect? =A0Has it been measured or at least verified on
> current simulators?
>
> Rick

A few years back, I had a design for a small FPGA with several modules
on a common bus. I started out with unsigned(4 downto 0) for the
address, and each module decoded its own address (each was given a
generic for address and size). Then I changed only that address to a
natural with equivalent range. Just that one change sped up my RTL
simulation from over 2.5 hours down to less than 1 hour. I considered
it very significant...

Andy

Article: 150029
Subject: Re: Lattice XO2 video
From: Gabor <gabor@alacron.com>
Date: Mon, 6 Dec 2010 14:56:59 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 12:06=A0pm, d_s_klein <d_s_kl...@yahoo.com> wrote:
> On Dec 6, 3:13=A0am, Mike Harrison <m...@whitewing.co.uk> wrote:
>
> >http://www.youtube.com/watch?v=3Dh_USk-HNgPA&feature=3Dplayer_detailpage
>
> > Come on X and A - spice up your promo =A0videos!
>
> Everybody chooses what is important to them. =A0Some like snazzy videos,
> some like to ship product to customers...

Well, then Lattice is doing both.  Their policy on new part
announcement is
to wait until they have at least _some_ silicon available.  Xilinx is
already
announcing Virtex 8 while not shipping V7.

Article: 150030
Subject: Re: Linux on Microblaze
From: Tim Wescott <tim@seemywebsite.com>
Date: Mon, 06 Dec 2010 14:58:14 -0800
Links: << >>  << T >>  << A >>
On 12/06/2010 01:43 PM, d_s_klein wrote:
> On Dec 6, 9:18 am, Tim Wescott<t...@seemywebsite.com>  wrote:
>>
>> Could you please cite chapter and verse?
>> --
>>
>> Tim Wescott
>> Wescott Design Serviceshttp://www.wescottdesign.com
>>
>
> According to gnu.org:  "Many people believe that the spirit of the GNU
> Project is that you should not charge money for distributing copies of
> software, or that you should charge as little as possible — just
> enough to cover the cost. This is a misunderstanding."
>
> <http://www.gnu.org/philosophy/selling.html>

I think you're correct in the details, but still off in the main point. 
  You can sell me some GPL-ed software, but you can't keep me from 
turning around and posting it on my website for free.  So, sooner or 
later, if there's much interest in the stuff at all, it'll turn up for free.

-- 

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html

Article: 150031
Subject: Re: Linux on Microblaze
From: Rob Gaddi <rgaddi@technologyhighland.com>
Date: Mon, 06 Dec 2010 14:58:46 -0800
Links: << >>  << T >>  << A >>
On 12/6/2010 2:39 PM, Nico Coesel wrote:
> d_s_klein<d_s_klein@yahoo.com>  wrote:
>
>> On Dec 6, 9:18=A0am, Tim Wescott<t...@seemywebsite.com>  wrote:
>>>
>>> Could you please cite chapter and verse?
>>> --
>>>
>>> Tim Wescott
>>> Wescott Design Serviceshttp://www.wescottdesign.com
>>>
>>
>> According to gnu.org:  "Many people believe that the spirit of the GNU
>> Project is that you should not charge money for distributing copies of
>> software, or that you should charge as little as possible =97 just
>> enough to cover the cost. This is a misunderstanding."
>>
>> <http://www.gnu.org/philosophy/selling.html>
>
> The free market principle says that people will get something from the
> cheapest source. In this case: they download from internet. Tim
> Wescott's post is spot on!
>

This assumes your time is free.  Timesys, Montavista, Wind River, and 
many others seem to stay entirely in business by convincing folks that 
their time is worth more than the cost for their Linux ports/BSPs, etc.

-- 
Rob Gaddi, Highland Technology
Email address is currently out of order

Article: 150032
Subject: Re: Interconnection of multiple cores
From: rickman <gnuarm@gmail.com>
Date: Mon, 6 Dec 2010 15:14:54 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 4:00=A0pm, "sebas"
<tanarnelinistit@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.com> wrote:
> Thanks for the response. I know I can use Wishbone for interconnecting so=
me
> slave devices to a microprocessor but the idea is that I want to get away
> without using a microprocessor. So the question is can another device,
> other than microprocessor, be master on a Wishbone bus? Or on any other
> bus... How can I get away without using a microprocessor? From your
> experience designing a FSM is much more time consuming than using a simpl=
e
> microprocessor core (in this case I have to spend time 1) learning to
> program it and 2) writing the code)?

Of course you can do it any way you want.  How you configure the
peripherals depends on what the peripherals are expecting.  Are they
designed to be configured over wishbone?  Or are they designed to be
configured with direct connections?

It should be a simple matter to design a state machine to control your
data movements to and from each peripheral.  I have no idea how you
want this to work, so I can't make any specific suggestions.  I
suspect it could easily be done like a DMA controller.

Rick

Article: 150033
Subject: Re: FSM single process...BIG question
From: rickman <gnuarm@gmail.com>
Date: Mon, 6 Dec 2010 15:21:24 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 3:52=A0pm, glen herrmannsfeldt <g...@ugcs.caltech.edu> wrote:
> rickman <gnu...@gmail.com> wrote:
>
> (snip)
>
> > The Mealy vs Moore doesn't have to do with registering the outputs.
> > That is just an issue of delays since registering the inputs and/or
> > the outputs delays the outputs. =A0The real difference is that the
> > outputs become a sort of separate state machine on their own although
> > the output values don't feed back to affect either the machine state
> > or the output state. =A0But the outputs are an independent function of
> > the inputs and the outputs. =A0The outputs can change value with input
> > changes without the state changing. =A0The outputs can have a different
> > value for the same state depending on how you reached that state.
> > I used to design FSMs considering the issues of Mealy vs Moore, but
> > now I just design FSMs based on what I need and don't even bother with
> > the M v. M distinction. =A0The bottom line is there are many variations
> > on the theme, so why bother with just these two?
>
> Many years ago, I was using some system with a state machine compiler.
> After doing a design (I believe as part of a tutorial session) I
> figured out that my design was somewhere between Mealy and Moore.
>
> Also, I once found a bug in the Altera state machine optimizer,
> by designing one in a way that the tools didn't expect. =A0It seems
> that the tools wanted a separate verilog case block for state
> selection and output generation. =A0I believe that is independent
> of the Mealy vs. Moore question, but they are much easier for me
> to read with state selection and output selection together.

I agree.  I think most FSMs are done so that the outputs are assigned
in the same conditionals that assign the states.  Although technically
this makes it a Mealy machine with the outputs defined on the state
transitions, you could also consider it a Moore machine as long as
there is a mapping between the states and outputs which is independent
of the inputs.  I guess that is more of what is meant by Mealy and
Moore structures rather than the implementation.

But like I said, I seldom use any of the FSM theory I learned in
school.  Once you get used to designing them you just make them work
without any theoretical thought about it.  :-)

Rick

Article: 150034
Subject: Re: FSM single process...BIG question
From: rickman <gnuarm@gmail.com>
Date: Mon, 6 Dec 2010 15:30:26 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 5:20=A0pm, Andy <jonesa...@comcast.net> wrote:
> I really do not recommend combined clocked processes with
> combinatorial paths from in to out. They tend to have many of the
> disadvantages of both clocked and combinatorial processes.
>
> What's the difference between adding a flag (v_delay) and adding
> another state?

None in reality, except that the flag is to be used as an output and
not just a state variable.  The Mealy and Moore machines are inter-
convertible with a direct mapping between them.  There is no problem
that one can solve that the other can't.  You can always turn a Mealy
machine into a Moore machine by adding states and vice versa.


> In general, if I'm using an FSM to control the timing of something, I
> don't want to also use flags set by the FSM.

Unless it makes the problem easier to visualize and understand.  If
the problem is to generate an output that is asserted on the
transition of leaving a given state and it can go to a dozen different
states, to make a Moore machine you would need to add an extra dozen
transition states and set the output in each of them rather than just
setting the output on leaving the enabling state.

Rick

Article: 150035
Subject: Re: Opinions on Lattice ECP3
From: David Brown <david@westcontrol.removethisbit.com>
Date: Tue, 07 Dec 2010 12:55:01 +0100
Links: << >>  << T >>  << A >>
On 06/12/2010 14:54, rickman wrote:
> On Dec 6, 3:24 am, David Brown<da...@westcontrol.removethisbit.com>
> wrote:
>> On 03/12/2010 18:02, Rob Gaddi wrote:
>>
>>
>>
>>> On 12/3/2010 12:45 AM, David Brown wrote:
>>>> Hi,
>>
>>>> I haven't a lot of experience with FPGA design, but have done a few
>>>> projects - mostly with Altera Cyclones, some with a Nios II. We are
>>>> looking at making a new design that should be low cost, but needs a high
>>>> speed serial interface (for reading in a DVI and/or HDMI signal).
>>
>>>> The obvious choice then is Lattice ECP3 (but I am very happy to hear
>>>> alternative suggestions).
>>
>>>> I've already had a look at quite a bit of the website, so I'll looking
>>>> mainly for information that is not there - a website will seldom tell
>>>> you that their software feels slow and awkward, or fast and intuitive.
>>>> And a website will often tell you things are free or "low cost", but the
>>>> small print and hidden costs are, well, small and hidden.
>>
>>>> I haven't used any Lattice tools for nearly ten years, and that was for
>>>> CPLD design. My guess is that things have changed a little since then.
>>
>>>> Are there anything major problems or obstacles that should make me
>>>> reconsider before getting in too deep? I'd like to avoid doing the
>>>> design and then finding out that Lattice only sells in 10,000
>>>> quantities, or that the tools are useless without buying many
>>>> kilodollars of third-party software.
>>
>>>> For the development software, I can only name a few features of Quartus
>>>> and ask if Lattice software is similar. I like the integration of
>>>> Quartus - it feels like a single coordinated tool. Is that also the case
>>>> with modern Lattice software? The tools I used long ago felt more like a
>>>> collection of different bits and pieces, such as two separate synthesis
>>>> engines that couldn't agree on anything.
>>
>>>> I also like Quartus SOPC builder - we might be putting a micro and a
>>>> DDR2 memory interface in this design, and SOPC builder is definitely a
>>>> convenient way to set put this together. Does Lattice have something
>>>> similar? Obviously it will be geared towards the Micro32 rather than the
>>>> Nios, but that's fine by me.
>>
>>>> How are the free tools compared to the paid-for tools? I'm okay with
>>>> paying for the tools if that's necessary, but it is very nice having
>>>> free versions that will do a good job. Amongst other things, it makes it
>>>> more convenient to work from different computers (such as at a home
>>>> office).
>>
>>>> Finally, there is the question of ready-made IP. The main parts I'd be
>>>> interested in here are a DDR2 memory interface, an embedded micro, and
>>>> possibly a DVI/HDMI receiver. I gather the micro32 is ready to use, free
>>>> (and open), and has a full gcc toolchain, so that should be a simple
>>>> choice (and the micro8 is a smaller alternative). It may be that I'll
>>>> have to make all or part of the DVI/HDMI receiver, though it would be
>>>> nice to get ready-made if it's not /too/ expensive. But the DDR2
>>>> interface is definitely something we should get ready-made.
>>
>>>> Thanks for any hints, pointers or opinions.
>>
>>>> mvh.,
>>
>>>> David
>>
>>> No experience with the Lattice parts, and only just switching to A from
>>> X recently. But, if you're currently happy with the Altera tools, I seem
>>> to recall the Arria II chips being price competitive with ECP3. Also,
>>> have you looked at the Cyclone IV GX chips? They've got high speed
>>> serial too, although I think availability may be an issue.
>>
>> The Arria II are probably price-competitive with the ECP3 when you get
>> above a certain size, but the ECP3 series starts lower.  We don't need a
>> great deal out of the FPGA other than the video interface, an embedded
>> micro (and even that is optional) and fast external memory.  The Cyclone
>> IV GX are a definite possibility - unfortunately the currently-available
>> EP4CGX15 is too small (though the price is nice), while the EP4CGX110 is
>> far too big.  The EP4CGX22 or 30 would be more appropriate, if they existed.
>>
>> I'm beginning to think that we'll drop the HDMI input.  It would be nice
>> to have an integrated solution, but it looks like it will be much more
>> cost-effective to have an external HDMI receiver chip and just read in
>> the data as a wide data bus.  Then we can use a Cyclone III or Cyclone
>> IV with the tools we have used before.
>
> That's an interesting trade off.  Lattice came out with SERDES on
> their low cost chips as a marketing move because neither X or A
> offered SERDES on their low cost lines.  Your preference may be to
> stick with the higher cost approach of using an additional chip rather
> than going with a new company and new tools. I can't say I blame you
> really.  I don't have that concern with any of X, A or L.  I guess
> I've used all three enough to be confident that I can make my design
> work regardless.
>

I am now looking at a C3 or C4 with an external HDMI receiver, because 
it I think it would be cheaper than an ECP3 with an integrated HDMI/DVI 
receiver.  An integrated solution would be more elegant, but the price 
difference between an ECP3 (with enough other resources) and a roughly 
equivalent C3 or C4 is greater than the cost of an HDMI receiver chip. 
The ECP3 may be "low cost" for an FPGA with high speed serial links, but 
that's only relative to a other FPGAs with high speed links.  And then 
there's the development costs and possible IP licensing costs to 
consider - reading a 36-bit parallel RGB bus is easy compared to 
implementing a HDMI/DVI receiver block.

In the end, however, it's up to the customer.  I'm not sure an FPGA 
solution is going to be possible within the hoped-for budget.  We are 
also looking at various system-on-a-chip devices to see if any of them 
can meet the requirements.

Thanks for your information and advice,

David


Article: 150036
Subject: Re: Linux on Microblaze
From: David Brown <david@westcontrol.removethisbit.com>
Date: Tue, 07 Dec 2010 13:11:12 +0100
Links: << >>  << T >>  << A >>
On 06/12/2010 23:58, Tim Wescott wrote:
> On 12/06/2010 01:43 PM, d_s_klein wrote:
>> On Dec 6, 9:18 am, Tim Wescott<t...@seemywebsite.com> wrote:
>>>
>>> Could you please cite chapter and verse?
>>> --
>>>
>>> Tim Wescott
>>> Wescott Design Serviceshttp://www.wescottdesign.com
>>>
>>
>> According to gnu.org: "Many people believe that the spirit of the GNU
>> Project is that you should not charge money for distributing copies of
>> software, or that you should charge as little as possible — just
>> enough to cover the cost. This is a misunderstanding."
>>
>> <http://www.gnu.org/philosophy/selling.html>
>
> I think you're correct in the details, but still off in the main point.
> You can sell me some GPL-ed software, but you can't keep me from turning
> around and posting it on my website for free. So, sooner or later, if
> there's much interest in the stuff at all, it'll turn up for free.
>

It is perfectly legal to charge for GPL'ed software (though you can only 
charge someone a reasonable handling fee for the source code once you 
have sold/given them a binary).  And once you have the software, you can 
then give it away to anyone you want.  That much is all true.

But there may be additional issues in hand, such as trademarks.  For 
example, (almost) all of Red Hat Enterprise Linux is GPL'ed.  You can 
buy RHEL, and you can distribute the packages for free (or you can 
download the packages for free from Red Hat).  But you can't 
re-distribute the entire system without infringing on Red Hat's 
trademarks.  Thus CentOS (and Oracle, and Scientific Linux) take RHEL, 
remove all Red Hat's trademarks, perhaps make a few other minor changes, 
and distribute the code.

Most GPL'ed software that is popular is already given out for free - any 
charges are typically for additional non-GPL software, documentation, 
support services, etc.  More specialised software, such as Wind River's 
Linux packages, may well only be available for a fee.  Once you've paid 
the fee and got the binary and source code, you can then publish it for 
free on your website.  But would you do that, with software you've paid 
good money for?  And would anyone download it for you, rather than 
getting up-to-date and supported packages from the original site?

There are many people that make money from providing or selling GPL 
software, and they do it by providing it as professional-level software 
including documentation and support.  It is almost invariably zero-price 
software that has poor documentation - after all, few people /like/ 
writing documentation, so they'll only do it if they get paid to do it.

Article: 150037
Subject: Re: Interconnection of multiple cores
From: Alessandro Basili <alessandro.basili@cern.ch>
Date: Tue, 07 Dec 2010 13:18:57 +0100
Links: << >>  << T >>  << A >>
On 12/6/2010 10:00 PM, sebas wrote:
> Thanks for the response. I know I can use Wishbone for
> interconnecting some slave devices to a microprocessor but the idea
> is that I want to get away without using a microprocessor. So the
> question is can another device, other than microprocessor, be master
> on a Wishbone bus? Or on any other bus... How can I get away without
> using a microprocessor? From your experience designing a FSM is much
> more time consuming than using a simple microprocessor core (in this
> case I have to spend time 1) learning to program it and 2) writing
> the code)?
>

Just to give you an example, I had to develop an fpga which was able to
control several heterogeneous devices (tdc with a jtag interface, adc,
charge amplifier, temperature sensor...). On top of it the fpga was a
slave on a custom serial link responsible for slow-control and real-time
data acquisition.
Everything was controlled through an FSM which handled error situations
and priority, but since I didn't have any idea of the existence of SoC
bus like the Wishbone, I spent half of the time designing the
interconnection bus.
In my case the data from each device was pretty well defined and with
very little programmable needs (except for the jtag), so an fsm did
the job pretty easily.
What I would recommend is to check what is the type of data you are
getting through your interfaces and then decide what kind of control you 
may need (a microprocessor/microcontroller or an fsm).

The Wishbone bus is pretty simple and you may find "wishbone compliant" 
cores for all the interfaces you mentioned on opencores.org.
Good luck,

Al

>>> Hi,
>>>
>>> I have a design in which I use multiple cores for connecting to
> different
>>> interfaces: SPI, I2C, UART, etc. Each interface outputs the data
>>> to
>> memory.
>>> I want to be able to both transmit data from the interface
>>> cores, read
>> data
>>> from them and configure them (baud rate for example for UART).
>>> How can I
>> do
>>> this? Can I use the Wishbone bus and build a master core to
>>> drive the operations, the interface cores being the slaves? Is it
>>> much easier if don't use the Wishbone and just build my own
>>> interconnections bus? Basically my question is how do large
>>> design connect cores, do they all
>> use
>>> a microprocessor? Looks like it by what I see on Xilinx'
>>> website, for example.
>>>
>>> Thanks
>>
>> What you need is a bus to connect your modules to memory. Usually
>> the devices you mention would be slaves on the bus and you would
>> have a processor as a master to read the data and send it to
>> memory. There are a number of standard buses like PLB from IBM and
>> AMBA from ARM. Xilinx have used PLB in the past but are now using
>> buses from ARM. I havent used Wishbone but I dont see why you could
>> not. You could design your own
> simple
>> bus using some mux and control signals. It all depends how complex
>> you
> need
>> it.
>>
>> Regards
>>
>> Jon  --------------------------------------- Posted through
>> http://www.FPGARelated.com
> --------------------------------------- Posted through
> http://www.FPGARelated.com


Article: 150038
Subject: Re: Linux on Microblaze
From: 2cents <web@sharonmccormack.com>
Date: Tue, 7 Dec 2010 04:55:01 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 10:58=A0pm, Tim Wescott <t...@seemywebsite.com> wrote:
> On 12/06/2010 01:43 PM, d_s_klein wrote:
>
> > On Dec 6, 9:18 am, Tim Wescott<t...@seemywebsite.com> =A0wrote:
>
> >> Could you please cite chapter and verse?
> >> --
>
> >> Tim Wescott
> >> Wescott Design Serviceshttp://www.wescottdesign.com
>
> > According to gnu.org: =A0"Many people believe that the spirit of the GN=
U
> > Project is that you should not charge money for distributing copies of
> > software, or that you should charge as little as possible just
> > enough to cover the cost. This is a misunderstanding."
>
> > <http://www.gnu.org/philosophy/selling.html>
>
> I think you're correct in the details, but still off in the main point.
> =A0 You can sell me some GPL-ed software, but you can't keep me from
> turning around and posting it on my website for free. =A0So, sooner or
> later, if there's much interest in the stuff at all, it'll turn up for fr=
ee.
>
> --
>
> Tim Wescott
> Wescott Design Serviceshttp://www.wescottdesign.com
>
> Do you need to implement control loops in software?
> "Applied Control Theory for Embedded Systems" was written for you.
> See details athttp://www.wescottdesign.com/actfes/actfes.html

Petalogix of PetaLinux fame is one company who specialize in Linux on
Microblaze.
The offer free downloads of their software, and have put a lot of work
into getting microblaze supported (to the point that it is now in the
kernel mainline, instead of the uclinux branch)
AFAIK you can also pay for a premimum distribution, which comes
bundled with a lot more custom-written (by them) scripts and utilities
to make your life a lot easier in getting it running on YOUR board -
like scripts that convert the EDK mhs/mss files into kernel
configurations automatically, for example.

So everything GPLed that they touch is freely available, and in the
linux kernel mainline, but that doesn't mean you get everything they
have built around it that that makes building the complete hw-to-sw
system for free (unless you are a student, in which case you can get
it, I think)

Article: 150039
Subject: Re: FSM single process...BIG question
From: "carlob" <carlo.beccia@n_o_s_p_a_m.n_o_s_p_a_m.libero.it>
Date: Tue, 07 Dec 2010 07:01:48 -0600
Links: << >>  << T >>  << A >>

>
>So, you could add a TXD_Delay state to replace the flag:
>
>                if (reset='1') then
>                        act_txd_state := TXD_IDLE;
>                elsif (clk'event and clk ='1')
>then
>
>
>                        case act_txd_state is
>
>
>                        when TXD_IDLE =>
>                                if (txValid = '1') then
>                                        act_txd_state := TXD_ACTIVE;
>                                end if;
>
>
>                        when TXD_ACTIVE =>
>                                if (txReady = '1') then
>                                        act_txd_state := TXD_DELAY;
>                                end if;
>
>                        when TXD_DELAY =>
>                                act_txd_state := TXD_END;
>
>                        when TXD_END =>
>                                if (txValid = '0') then
>                                        act_txd_state :=
>TXD_IDLE;
>                                end if;
>                        end case;
>
>
>                end if;
>
>
>                if (act_txd_state = TXD_ACTIVE) OR act_txd_state =
>TXD_DELAY) then
>                        if (dataIn = "00000000") then
>                                tx_data <= "01000000";
>                                else
>                                tx_data <= "11000000";
>                        end if;
>                elsif (act_txd_state = TXD_END) then
>                        tx_data <= dataIn;
>                else
>                        tx_data <= "00000000";
>                end if;
>
>

Yes....this a cleaner solution than a flag...the approach is similar...but
adding one delay state it is definitely more clear...thanx for advice...

>
>Of course, this last example also would be simple to split into a
>separate, clocked process for FSM, and a combinatorial process for the
>data path (v_flag would have to be a signal.) Here is a concurrent
>assignment statement that would do the trick:
>
>tx_data <= "01000000"  when v_flag and data_in = "00000000"
>  else "11000000" when v_flag
>  else data_in;
>
>Hope this helps,
>
>Andy
>

Yes...better to use concurrent assignment/another combinatorial
process...and much more better to avoid combinatorial input/output path
inside main fsm...you are right...I didn't like it too...That was only an
example for the discussion...I had to add signals in sensitivity list of
the clocked process...very bad...

I'm moving toward main fsm in one clocked process...registered output...and
in case I need an output unregistered concurrent statements...

Thanx a lot
Carlo	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150040
Subject: Re: Linux on Microblaze
From: Alessandro Basili <alessandro.basili@cern.ch>
Date: Tue, 07 Dec 2010 14:34:56 +0100
Links: << >>  << T >>  << A >>
On 12/6/2010 6:18 PM, Tim Wescott wrote:
> On 12/06/2010 09:01 AM, d_s_klein wrote:
>> On Dec 6, 7:00 am, "maxascent"
>> <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk> wrote:
>>> I am looking to get started with Linux on a Microblaze. There seems
>>> to be a
>>> few companies out there doing it and Xilinx has a Wiki site. What
>>> exactly
>>> is the difference between the Xilinx and the others. Presumably you
>>> have to
>>> pay for the others, although I thought Linux was supposed to be free.
>>> So I
>>> would of thought I should be able to get hold of the source even if I
>>> dont
>>> get any support.
>>>
>>> Any thoughts would be helpful
>>>
>>> Thanks
>>>
>>> Jon
>>>
>>> ---------------------------------------
>>> Posted throughhttp://www.FPGARelated.com
>>
>> You're not paying for The Kernel, you're paying for the effort of
>> porting it. Most (all?) GPL flavors allow compensation for effort.
>
> Could you please cite chapter and verse? That's 180 degrees out from
> what I read the last time I went over a GPL in its entirety. Per the
> GPL, if you distribute the software in any way shape or form it has to
> be free, and you have to distribute source code.
>

I don't quite understand why people tend to mix "free" and "free of 
charge". There is no place in the GPL where it is stated the software 
has to be free of charge.
 From http://www.gnu.org/licenses/gpl.html you can read:

"Preamble

The GNU General Public License is a free, copyleft license for software 
and other kinds of works.

The licenses for most software and other practical works are designed to 
take away your freedom to share and change the works. By contrast, the 
GNU General Public License is intended to guarantee your freedom to 
share and change all versions of a program--to make sure it remains free 
software for all its users. "

GPL license is a copyleft type of license (viral license) that enforce 
the freedom under which the piece of software was created, freedom to 
change it and freedom to share it. This has nothing to do with money.

> The way people make money on this stuff is by never documenting it well,
> and offering consulting and/or training services. Or if it's a more
> widely available product (like a desktop OS) they'll document it well
> enough that an individual will like it, then offer consulting for the
> corporate user.
>

Most of the success Linux has achieved is because it is not only very 
well documented, but also because anyone has the chance to improve the 
documentation (and implementation) making it a better system.
Very well documented system doesn't mean anyone can install it on a 
blade server in a farm cluster and make it work out of the box. That is 
why most of the companies dealing with Linux sell services, not products.

Al

Article: 150041
Subject: Re: FSM single process...BIG question
From: Andy <jonesandy@comcast.net>
Date: Tue, 7 Dec 2010 07:29:12 -0800 (PST)
Links: << >>  << T >>  << A >>
On Dec 6, 5:30=A0pm, rickman <gnu...@gmail.com> wrote:
> On Dec 6, 5:20=A0pm, Andy <jonesa...@comcast.net> wrote:
> > In general, if I'm using an FSM to control the timing of something, I
> > don't want to also use flags set by the FSM.
>
> Unless it makes the problem easier to visualize and understand. =A0If
> the problem is to generate an output that is asserted on the
> transition of leaving a given state and it can go to a dozen different
> states, to make a Moore machine you would need to add an extra dozen
> transition states and set the output in each of them rather than just
> setting the output on leaving the enabling state.
>
> Rick


I think we are in agreement with what you said.

But more than that, I'm trying (apparently not successfully!) to
communicate something else.

What Carlo's design was doing was using FSM states and a flag
generated by the FSM to control the data path. My preference is to use
either, but not both. In other words, either rework (add states if
necessary) the FSM such that a separate flag is not needed (e.g. the
datapath logic only needs to decode the FSM states), or rework the FSM
and flag such that only the flag is needed, and the state need not be
externally decoded to control the data path.

Of the two, I have a significant preference for the latter, since it
allows the FSM to be changed, but so long as it correctly generates
the control flag(s), the data path logic need not change. This concept
is sometimes called "decoupling", and is a very good SW engineering
principle for application to HDL-based HW design. SW concepts like
scope control, data hiding, separation of interface from
impementation, etc. all allow decoupling of one part of the design
from another. The bottom line is this: we want a design that is
relatively immune to small changes in one part rippling unnecessarily
to other parts.

This is not to say that the other method is discouraged either (at
least not completely). If the data path is such that its logic can be
incorporated directly into the FSM (this case is not a good example of
such), then I am all in favor of doing so, rather than simply
generating control flags to communicate with an external process (or
section of code outside the FSM case statement).

Long story short: If the datapath can be reasonably controlled within
the FSM, go ahead and do it there. If not, then have the FSM generate
control flags that are used by separate datapath logic, without the
datapath logic having to decode the FSM states.

Andy

Article: 150042
Subject: Re: Interconnection of multiple cores
From: "RCIngham" <robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Tue, 07 Dec 2010 09:32:03 -0600
Links: << >>  << T >>  << A >>
>Thanks for the response. I know I can use Wishbone for interconnecting
some
>slave devices to a microprocessor but the idea is that I want to get away
>without using a microprocessor. So the question is can another device,
>other than microprocessor, be master on a Wishbone bus? Or on any other
>bus... How can I get away without using a microprocessor? From your
>experience designing a FSM is much more time consuming than using a
simple
>microprocessor core (in this case I have to spend time 1) learning to
>program it and 2) writing the code)?
>

From personal experience, it is not terribly difficult to design an SPI or
I2C slave without local microprocessor or similar, that (on the other edge)
acts as a local bus master, writing or reading local bus memory-mapped
locations. Wishbone is a good-enough choice of bus for this.

You need to consider how you will handle access arbitration *when* 2 of
them want the bus at "the same time". Delaying writes until the bus is free
is quite easy. Handling the read access case may be a bit harder,
especially for SPI, although for I2C you just hold off the clock until the
data is ready.

Before you ask, I no longer have access to the code...
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150043
Subject: Re: Concurrent Logic Timing
From: "RCIngham" <robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Tue, 07 Dec 2010 10:21:46 -0600
Links: << >>  << T >>  << A >>
>On Dec 6, 1:00=A0pm, Andy <jonesa...@comcast.net> wrote:
>> I think I would use a function for the intermediate calculation, and
>> then call the function in both concurrent assignment statements per
>> the original implementation.
>>
>> Integers give you the benefits of bounds checking in simulation (even
>> below the 2^n granularity if desired), and a big improvement in
>> simulation performance, especially if integers are widely used in the
>> design (instead of vectors).
>>
>> Andy
>
>I know everyone says that integers run faster, but is this a
>significant effect?  Has it been measured or at least verified on
>current simulators?
>
>Rick
>

They certainly use less memory in simulation than wide vectors. An integer
(32 bit) is 4 bytes. A std_logic_vector (9 states) is 3 bits per bit. If
your data is >= 11 bits in width, integers are more efficient.

Also, no need for resolution function calls, either.
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 150044
Subject: Re: Opinions on Lattice ECP3
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Tue, 7 Dec 2010 16:58:32 -0000
Links: << >>  << T >>  << A >>
> The Cyclone IV GX are a definite possibility - unfortunately the currently-available EP4CGX15 is 
> too small (though the price is nice), while the EP4CGX110 is far too big.  The EP4CGX22 or 30 
> would be more appropriate, if they existed.


David, push your local Altera distributor for availability.

My tame (reliable) Alera FAE has told me they are imminent (engineering silicon
available now I think).


Nial. 



Article: 150045
Subject: Re: Linux on Microblaze
From: Tim Wescott <tim@seemywebsite.com>
Date: Tue, 07 Dec 2010 09:13:36 -0800
Links: << >>  << T >>  << A >>
On 12/07/2010 04:11 AM, David Brown wrote:
> On 06/12/2010 23:58, Tim Wescott wrote:
>> On 12/06/2010 01:43 PM, d_s_klein wrote:
>>> On Dec 6, 9:18 am, Tim Wescott<t...@seemywebsite.com> wrote:
>>>>
>>>> Could you please cite chapter and verse?
>>>> --
>>>>
>>>> Tim Wescott
>>>> Wescott Design Serviceshttp://www.wescottdesign.com
>>>>
>>>
>>> According to gnu.org: "Many people believe that the spirit of the GNU
>>> Project is that you should not charge money for distributing copies of
>>> software, or that you should charge as little as possible — just
>>> enough to cover the cost. This is a misunderstanding."
>>>
>>> <http://www.gnu.org/philosophy/selling.html>
>>
>> I think you're correct in the details, but still off in the main point.
>> You can sell me some GPL-ed software, but you can't keep me from turning
>> around and posting it on my website for free. So, sooner or later, if
>> there's much interest in the stuff at all, it'll turn up for free.
>>
>
> It is perfectly legal to charge for GPL'ed software (though you can only
> charge someone a reasonable handling fee for the source code once you
> have sold/given them a binary). And once you have the software, you can
> then give it away to anyone you want. That much is all true.
>
> But there may be additional issues in hand, such as trademarks. For
> example, (almost) all of Red Hat Enterprise Linux is GPL'ed. You can buy
> RHEL, and you can distribute the packages for free (or you can download
> the packages for free from Red Hat). But you can't re-distribute the
> entire system without infringing on Red Hat's trademarks. Thus CentOS
> (and Oracle, and Scientific Linux) take RHEL, remove all Red Hat's
> trademarks, perhaps make a few other minor changes, and distribute the
> code.
>
> Most GPL'ed software that is popular is already given out for free - any
> charges are typically for additional non-GPL software, documentation,
> support services, etc. More specialised software, such as Wind River's
> Linux packages, may well only be available for a fee. Once you've paid
> the fee and got the binary and source code, you can then publish it for
> free on your website. But would you do that, with software you've paid
> good money for? And would anyone download it for you, rather than
> getting up-to-date and supported packages from the original site?
>
> There are many people that make money from providing or selling GPL
> software, and they do it by providing it as professional-level software
> including documentation and support. It is almost invariably zero-price
> software that has poor documentation - after all, few people /like/
> writing documentation, so they'll only do it if they get paid to do it.

Well, that was my point -- if you're going to make money off of GPL'd 
software, you're going to sell services, and give the software away for 
free.  The "value for money" proposition isn't a bunch of software with 
elaborate copy protection -- the "value for money" proposition is that 
when one of the customer's people calls needing help, he gets it _right 
now_.

If you're going to _pay_ money for GPL'd software, the obvious obverse 
applies.

-- 

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Do you need to implement control loops in software?
"Applied Control Theory for Embedded Systems" was written for you.
See details at http://www.wescottdesign.com/actfes/actfes.html

Article: 150046
Subject: Re: Getting libusb-driver to work with Xilinx dev board.
From: Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
Date: Tue, 7 Dec 2010 12:33:17 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,

On 6 d=E9c, 18:23, "rupertlssm...@googlemail.com"
<rupertlssm...@googlemail.com> wrote:
> I could not get windrv to work,

I think no one does.

> Does any body have any experience of getting the libusb-driver to work? I=
'm
> following the instructions here:
>
> http://git.zerfleddert.de/cgi-bin/gitweb.cgi/usb-driver?a=3Dblob_plain;..=
.

You don't need this hack with the recent version of the Xilinx tools.
They support libusb directly.

BTW, alternatives are xc3sprog and urJTAG which recently got added
FPGA programming support, so you might want to do away with the
proprietary, bloated, slow and buggy Xilinx programming tools
completely.

S.

Article: 150047
Subject: Re: Lattice XO2 video
From: Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
Date: Tue, 7 Dec 2010 12:41:45 -0800 (PST)
Links: << >>  << T >>  << A >>
On 6 d=E9c, 23:56, Gabor <ga...@alacron.com> wrote:
>=A0Xilinx is already announcing Virtex 8

Really? Could not find a trace of said announcement.

> while not shipping V7.

And neither cheap and large quantities of S6 (maybe until recently).

Article: 150048
Subject: Re: Linux on Microblaze
From: Sebastien Bourdeauducq <sebastien.bourdeauducq@gmail.com>
Date: Tue, 7 Dec 2010 12:45:35 -0800 (PST)
Links: << >>  << T >>  << A >>
On 7 d=E9c, 18:13, Tim Wescott <t...@seemywebsite.com> wrote:
> Well, that was my point -- if you're going to make money off of GPL'd
> software, you're going to sell services, and give the software away for
> free.

Which has the perverse effect of giving an incentive for free software
service companies to write obscure and poorly documented code, so they
can stay in business. See for example what Codesourcery does.


Article: 150049
Subject: Re: Linux on Microblaze
From: nico@puntnl.niks (Nico Coesel)
Date: Tue, 07 Dec 2010 20:53:41 GMT
Links: << >>  << T >>  << A >>
Rob Gaddi <rgaddi@technologyhighland.com> wrote:

>On 12/6/2010 2:39 PM, Nico Coesel wrote:
>> d_s_klein<d_s_klein@yahoo.com>  wrote:
>>
>>> On Dec 6, 9:18=A0am, Tim Wescott<t...@seemywebsite.com>  wrote:
>>>>
>>>> Could you please cite chapter and verse?
>>>> --
>>>>
>>>> Tim Wescott
>>>> Wescott Design Serviceshttp://www.wescottdesign.com
>>>>
>>>
>>> According to gnu.org:  "Many people believe that the spirit of the GNU
>>> Project is that you should not charge money for distributing copies of
>>> software, or that you should charge as little as possible =97 just
>>> enough to cover the cost. This is a misunderstanding."
>>>
>>> <http://www.gnu.org/philosophy/selling.html>
>>
>> The free market principle says that people will get something from the
>> cheapest source. In this case: they download from internet. Tim
>> Wescott's post is spot on!
>>
>
>This assumes your time is free.  Timesys, Montavista, Wind River, and 
>many others seem to stay entirely in business by convincing folks that 
>their time is worth more than the cost for their Linux ports/BSPs, etc.

You could turn that around: if you know your limitations then you hire
an expert. I'm also in the business of getting Linux going on embedded
platforms. 

-- 
Failure does not prove something is impossible, failure simply
indicates you are not using the right tools...
nico@nctdevpuntnl (punt=.)
--------------------------------------------------------------



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