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 136275

Article: 136275
Subject: Re: RS-232 Bus controller design in VHDL
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Sun, 09 Nov 2008 09:47:01 +0000
Links: << >>  << T >>  << A >>
>so far i manage to taken care of the reciever part of the rs232 bus
>controller, but im still having problem with transmitter part..
>any idea how to come out with the state machine of transmitter part ? ...

Most people think the receiver is harder....

Tx is comparatively easy.  Load the 8-bit data you want to send
into a 10-bit shift register, like so:

  bit #...  9  8  7  6  5  4  3  2  1  0
  contents  1  d7 d6 d5 d4 d3 d2 d1 d0 0

Drive bit 0 of this register out to the RS-232 level shifter.
The fact there's now a 0 in this position will create your
start bit.  Now clock the register as a shift register,
pushing its more significant bits rightwards towards its
least significant bits, and being sure to shift in '1' at
the left end every time:

  bit #........  9  8  7  6  5  4  3  2  1  0
  initial value  1  d7 d6 d5 d4 d3 d2 d1 d0 0
  after 1 clock  1  1  d7 d6 d5 d4 d3 d2 d1 d0
  after 2 clocks 1  1  1  d7 d6 d5 d4 d3 d2 d1
  ...

So you can see that the output end (right-hand end) step-
by-step gives you first the start bit 0, then d0, then d1
and so on...

  after 7 clocks 1  1  1  1  1  1  1  1  d7 d6
  after 8 clocks 1  1  1  1  1  1  1  1  1  d7
  after 9 clocks 1  1  1  1  1  1  1  1  1  1

And now you have your stop bit appearing at the output.
The fact that the whole register now contains all-1
means two things:
1) you can use this as a "ready" indication to say that 
   it's now safe to load a new value on the next clock;
2) you don't need to stop; you can continue shifting,
   and the line will correctly continue to idle, if
   there is no new data.

Sounds easy to me.  No counters or (explicit) state
machines required.
-- 
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.

Article: 136276
Subject: Re: Synplicity/Synplify and Systemverilog support?
From: cms <Michael.Tsvetkov@gmail.com>
Date: Sun, 9 Nov 2008 04:01:30 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 8, 10:23=9Aam, "guestuser1" <guestus...@nowhere.net> wrote:
> A year ago, I heard Synplicity's (RTL synth) Systemverilog support was
> terrible.
>
> Altera Quartus-II 8.1 supports Systemverilog quite well (interfaces,
> enums, typedefs, unique/priority case, always_comb/always_ff, etc.)
> Not everything yet, but very usable.
>
> So how does the current version of Synplicity compare, in terms of
> Systemverilog language support?

Well, Synplicity had been acquised by Synopsys last year. Synopsys, in
opposite of Cadence and Mentor,
did't adopt SV in own products till to last time. While Cadence and
Mentor collaborated into SV support and moved forward with OVM
initiative, Synopsys concentrates into conventional HDL support only.

Started from QuartusII v7.2 I develop my altera projects in SV only.
QII has a practically usefull synthesable SV subset support. I've
found only one annoyed problem - SoPCBuilder don't still deal with SV
modules :(

Digitally yours,
 =EDikhail Tsvetkov

Article: 136277
Subject: Re: RS-232 Bus controller design in VHDL
From: hal-usenet@ip-64-139-1-69.sjc.megapath.net (Hal Murray)
Date: Sun, 09 Nov 2008 14:22:45 -0600
Links: << >>  << T >>  << A >>

>  after 7 clocks 1  1  1  1  1  1  1  1  d7 d6
>  after 8 clocks 1  1  1  1  1  1  1  1  1  d7
>  after 9 clocks 1  1  1  1  1  1  1  1  1  1
>
>And now you have your stop bit appearing at the output.
>The fact that the whole register now contains all-1
>means two things:
>1) you can use this as a "ready" indication to say that 
>   it's now safe to load a new value on the next clock;

Nope.  What if d7 is a 1?

-- 
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 136278
Subject: Re: RS-232 Bus controller design in VHDL
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Sun, 09 Nov 2008 21:44:16 +0000
Links: << >>  << T >>  << A >>
On Sun, 09 Nov 2008 14:22:45 -0600, Hal Murray wrote:

>Nope.  What if d7 is a 1?

Urrrm, yes.  That'll teach me not to post 
half-baked recollections of earlier projects 
without thinking properly :-)  Thanks for the 
correction.

The *correct* implementation of that idea is to 
shift in zeros instead of 1s:

  bit #........  9  8  7  6  5  4  3  2  1  0
  initial value  1  d7 d6 d5 d4 d3 d2 d1 d0 0
  after 1 clock  0  1  d7 d6 d5 d4 d3 d2 d1 d0
  after 2 clocks 0  0  1  d7 d6 d5 d4 d3 d2 d1
  ...
  after 7 clocks 0  0  0  0  0  0  0  1  d7 d6
  after 8 clocks 0  0  0  0  0  0  0  0  1  d7
  after 9 clocks 0  0  0  0  0  0  0  0  0  1

Then detect the "000000001" condition and use
it to STOP the shifting process, as well as
enabling loading of the register with "1dddddddd0"
when the next data becomes available.

Sincere apologies.

[retires to bathroom to wipe egg from face]
-- 
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.

Article: 136279
Subject: Re: face recognition
From: Benjamin Couillard <benjamin.couillard@gmail.com>
Date: Sun, 9 Nov 2008 14:43:55 -0800 (PST)
Links: << >>  << T >>  << A >>
On 7 nov, 18:31, Francois Choquette <fchoque...@gmail.com> wrote:
> > Well I think that designing a face-recognition system in VHDL (or
> > Verilog) would be a huge waste of time and it would be really hard to
> > do. There are tools for that, to automate conversion from Matlab to
> > HDL (AccelDSP, system generator). I'm pretty sure that there are FPGA-
> > neutral tools too for Matlab (that would work on both Altera and
> > Xilinx)
>
> Such as Synplify DSP, from Synplicity. =A0Supports all major devices
> vendors, even ASIC technology.
>
> Francois Choquette

Yeah but AFAIK, there are still more features in AccelDSP than in
SynplifyDSP. Such as Matrix operations for example. That's probably
overkill for most applications though.

Article: 136280
Subject: Re: RS-232 Bus controller design in VHDL
From: Mike Treseler <mtreseler@gmail.com>
Date: Sun, 09 Nov 2008 15:21:11 -0800
Links: << >>  << T >>  << A >>
Jonathan Bromley wrote:

> Urrrm, yes.  That'll teach me not to post 
> half-baked recollections of earlier projects 
> without thinking properly :-)  Thanks for the 
> correction.

To be fair, I would call it a fully-baked idea
missing only a bit of frosting on one corner.

The most painful part of any design process
is getting from that blank page to a sketch
of some plausible design strategy. Fixing the bits
around the edges, while compiling code or
running a sim, is fun by comparison.

I would also point out that text comments
as in your example

>   bit #........  9  8  7  6  5  4  3  2  1  0
>   initial value  1  d7 d6 d5 d4 d3 d2 d1 d0 0
>   after 1 clock  0  1  d7 d6 d5 d4 d3 d2 d1 d0
>   after 2 clocks 0  0  1  d7 d6 d5 d4 d3 d2 d1
>   ...
>   after 7 clocks 0  0  0  0  0  0  0  1  d7 d6
>   after 8 clocks 0  0  0  0  0  0  0  0  1  d7
>   after 9 clocks 0  0  0  0  0  0  0  0  0  1

are just the thing to head up a block of code.
Thoughts are always more fleeting than I expect.

I applaud Jonathan and other posters here
for having the simple bravery to share
their raw ideas, or the polite scrutiny
of such ideas, for the benefit of unknown readers.

  -- Mike Treseler

  (full disclosure:
   I have been merrily stealing Mr Bromley's
   ideas since i discovered usenet ;)

Article: 136281
Subject: Re: Data transfer between CPU and FPGA over PCI bus
From: "beeraka@gmail.com" <beeraka@gmail.com>
Date: Sun, 9 Nov 2008 17:51:02 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 7, 11:28=A0pm, KJ <lkj...@gmail.com> wrote:
> Hi everyone.
>
> I have a Xilinx ML555 and Linux as OS.
> The job assigned to me is =A0linux programming for "Data transfer
> between CPU and FPGA over PCI bus".
> Someone already did the similar thing. Please help me.
>
> General flow is like this.
> (1) CPU sends data to FPGA
> (2) FPGA do computations
> (3) FPGA gives it back to CPU
>
> What I want to ask is following.
>
> (1) This is the first time for Linux programming.
> =A0 =A0 =A0Where can I get the sample codes or reference?
>
> (2) I think that initially FPGA chip is not configured.
> =A0 =A0 So How to configure it? =A0( I mean that if I have a bitstream fi=
le
> for FPGA, How can I configure FPGA with it?)
>
> (3) If you have already done with similar job, plz give me an advice
> about how to proceed.
> =A0 =A0 I have to do it myself, so even a little advice is big help for
> me.
>
> Thanks in advance.

I am assuming you want to transfer data between CPU and FPGA using
PCIe. Regarding sample driver, any PCI driver should suffice provided
you know the Vendor ID / Device ID that is being used in PCIe HardIP
and it is programmable. After that, you can use the BAR0 and BAR1
regions available in PCI Config Space to transfer data from and to a
FPGA  from a CPU. So the PCI Linux driver writes and reads from BAR0
and BAR1 and based on some assumptions or some encoding in BAR0 or
BAR1 you come up with, you can make sure whether computation in the
FPGA is done or is in progress etc. So in order to achieve this,
basically you need to create some memory inside the FPGA so that any
request that comes to BAR0 or BAR1 goes to that memory and is then
sent to whatever computational block that you have in FPGA.

--parag

Article: 136282
Subject: FIR filter in Quartus
From: Jamie Morken <jmorken@shaw.ca>
Date: Sun, 09 Nov 2008 18:55:15 -0800
Links: << >>  << T >>  << A >>
Hi,

I am using the FIR compiler v8.0 in Quartus to design a lowpass FIR 
filter, the .vhd VHDL file and other files are generated by the tool, 
but I get an "unknown error" with the .bsf Block Symbol File, and this 
file isn't generated, anyone come across this type of error?

cheers,
Jamie

Article: 136283
Subject: Re: How to handle the problem "timing constraint not met"?
From: Andreas Ehliar <ehliar-nospam@isy.liu.se>
Date: Mon, 10 Nov 2008 04:02:38 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2008-11-10, mynewlifever@yahoo.com.cn <mynewlifever@yahoo.com.cn> wrote:
> In the report, route use 88.5% timing budget, how to make route use
> fewer timing budget. reset_n is an output of BUFG.

If I have a synchronuos reset I usually solve this problem by adding a couple
of registers to the reset signal. This means that the reset signal will not
have any immediate effect, but I don't really care if the chip will reset
itself in 3 nanoseconds or 15 nanoseconds.

By the way, is your reset signal synchronuos with your clock signal or not?
If it isn't, you need to synchronize it with a couple of flip-flops regardless
of the above advice.

/Andreas

Article: 136284
Subject: Re: FPGA implementation of a PCI module
From: "H. Peter Anvin" <hpa@zytor.com>
Date: Sun, 09 Nov 2008 21:51:24 -0800
Links: << >>  << T >>  << A >>
axr0284 wrote:
> On Nov 3, 8:35 am, Kolja Sulimma <ksuli...@googlemail.com> wrote:
>> On 31 Okt., 13:58, axr0284 <axr0...@yahoo.com> wrote:
>>
>>> 1) If my module detects an address parity error but bit 8 in the
>>> command register used to turn on system error signaling is set to 0,
>>> does my system
>>> a) ignore the command
>>> b) Responds normally ignoring parity checking
>>> c) Takes possession of the request by asserting DEVSEL and then sends
>>> back a target abort.
>>> The PCI spec is not too clear about this particular case.
>> Actually it is very clear. Section 3.8.2.2 in Revision 2.1 of the spec
>> states:
>> "A selected agent that detects an address parity error should do one
>> of the following: claim the cycle and terminate as though the address
>> was correct, claim the cycle and terminate with Target-Abort, or not
>> claim the cycle and let it terminate the Master-Abort."
>>
>> So you have the choice of a), b) and c).
>> I do not have a newer version of the spec, maybe it became more
>> restrictive.
>> I still believe that b) is stupid, because you do not even know
>> whether you should perform a read or a write access.
>>
>> Kolja Sulimma
> 
> Thanks for the answer. I've decided to go with Target Abort on that
> one since on my implementation there is only 1 master and 1 slave on
> the bus.
> Amish

However, I would argue that in the general case (a) makes the most
sense, simply because you don't know what the address was supposed to
look like, and therefore if it was *meant* to be directed to you.

	-hpa

Article: 136285
Subject: Re: Linux on Microblaze
From: "H. Peter Anvin" <hpa@zytor.com>
Date: Sun, 09 Nov 2008 21:55:11 -0800
Links: << >>  << T >>  << A >>
David Brown wrote:
> 
> My understanding of Altera's FPGAs is that they have pretty much given
> up on using ARM hard-core processors, because the Nios / Nios II was
> actually faster for real use - the flexibility of memory bus
> arrangements, custom instructions, etc., meant that the space taken by
> the ARM core was simply not worth it.

It would still be nice to have more chips with combination
microcontroller and small FPGA at the low end, as that is often a useful
mix as opposed to having to have a much bigger FPGA.  Aiming this at the
high-end CPLD markets (with features such as onboard flash, 5V
tolerance, etc.) would be especially nice.

	-hpa

Article: 136286
Subject: Connect XST board with PC through USB
From: atulm1@gmail.com
Date: Sun, 9 Nov 2008 23:01:15 -0800 (PST)
Links: << >>  << T >>  << A >>
I have a XST board v3.0 with a spartan XCS3100c. i want to use that
board to transfer the data from and to the PC using USB. can you
please help me with some demo program that explains the use of USB for
sending the data. I dont know what connections to make. please tell me
from scratch.

thanks in advance

atul

Article: 136287
Subject: Re: Tilera multicore replaces FPGA?
From: Markus <none@nowhere.org>
Date: Mon, 10 Nov 2008 08:22:37 +0100
Links: << >>  << T >>  << A >>
Leon schrieb:
> On 7 Nov, 19:26, Benjamin Couillard <benjamin.couill...@gmail.com>
> wrote:
>> On 7 nov, 14:00, Leon <leon...@btinternet.com> wrote:
>>
>>
>>
>>> On 7 Nov, 18:00, Benjamin Couillard <benjamin.couill...@gmail.com>
>>> wrote:
>>>> On 7 nov, 11:47, Leon <leon...@btinternet.com> wrote:
>>>>> On 7 Nov, 16:11, Benjamin Couillard <benjamin.couill...@gmail.com>
>>>>> wrote:
>>>>>> On 7 nov, 05:25, mentari <Stephan...@gmail.com> wrote:
>>>>>>> What are your views onhttp://scratchpad.wikia.com/wiki/TileraMulticore
>>>>>>> as a replacement for FPGA's ?
>>>>>>> http://www.tilera.com/solutions/digital_baseband.php
>>>>>>> The current architecture for base stations fall short of delivering
>>>>>>> the performance, the low latency and the flexibility customers need.
>>>>>>> To meet the requirements, wireless equipment providers design complex
>>>>>>> systems with FPGA, ASIC, DSP and processors with each component
>>>>>>> requiring special tools in a customized development environment. This
>>>>>>> leads to a long development cycle, sometimes years, before
>>>>>>> applications can be productized. Changes in standards also impact
>>>>>>> providers because such systems are inflexible-upgrades can be a slow
>>>>>>> and expensive process.
>>>>>>> What providers seek is an uncomplicated, well-designed, architecture
>>>>>>> that yields good performance. Tilera's processors provide a low
>>>>>>> latency single solution that integrates many functions seamlessly in a
>>>>>>> single processor and uses C/C++ to program their applications with
>>>>>>> industry standard tools. The familiar tools enable customers to
>>>>>>> preserve their software investments, replace a number of disparate
>>>>>>> programming methodologies with one standard programming environment,
>>>>>>> and gain the flexibility they need to support evolving protocols and
>>>>>>> ever-increasing demands for service
>>>>>> It seems to be similar to XMOS devices. I suppose that it could
>>>>>> replace FPGAs in some applications. However, it's still a much coarser
>>>>>> architecture than an FPGA.  There's still only 64 processing units,
>>>>>> while a Virtex-5 can have about 20 000 slices and a couple of PPC
>>>>>> processors. In the end, I think that since FPGAs are much more
>>>>>> flexible, they have the upper hand. Plus with tools like system
>>>>>> generator, AccelDSP and Simulink, low-level HDL coding can be skipped,
>>>>>> and the engineer can focus more on applications and less on the "bit-
>>>>>> level" of things.
>>>>>> Plus I suppose that with a high-capacity FPGA, one could emulate a
>>>>>> Tilera-like device with 64 processing units. Maybe the future's there,
>>>>>> take the Tilera (or Xmos) concept and implement it in a FPGA.
>>>>>> My 2 cents
>>>>> They will cost more, be much harder to use, use a lot more power and
>>>>> won't be any faster.
>>>>> Leon
>>>> THe point is not that it will be faster, is that it'll be much more
>>>> versatile since you won't be stuck with a fixed architecture
>>> You won't have 64k per core, and what about stuff like 100 MHz I/Os,
>>> hardware threads switching in one cycle, and 3.2 Gb/s full duplex
>>> links between cores?
>>> Leon
>> You raise some good points.
>> But, I was just making the point that you could implement some sort of
>> "xmos-like" architecture in a big FPGA. While you wouldn't have 64k
>> per core , you would certainly be able to have 3.2 Gb/s full duplex
>> (32 bits @ 100 MHz).
>>
>> But anyay, I think that FPGAs are there to stay and they have a big
>> future in front of them. There might be some applications where
>> they'll be replaced by faster, cheaper technologies, but the reverse
>> is also true.
> 
> They won't replace them completely, of course, but there will be many
> applications where the ease of development (a C-like language with
> compilation  and testing in a few seconds) and low cost will see them
> being used in place of FPGAs, and in conjunction with them. One
> application I've heard of uses a CPLD as an XLink interface to an XMOS
> chip, and I'm thinking of using an FPGA between an RF ADC and the XMOS
> chip for a software defined radio.
> 
> Leon

When I talked to the XMOS guys they told me about the programmable and
highly flexible IOs. That suggested somehow that you should not need an FPGA
to glue the ADC to the XMOS chip. Can you tell us why this cannot be done?

-Markus

Article: 136288
Subject: How to handle the problem "timing constraint not met"?
From: "mynewlifever@yahoo.com.cn" <mynewlifever@yahoo.com.cn>
Date: Sun, 9 Nov 2008 23:25:10 -0800 (PST)
Links: << >>  << T >>  << A >>
I use xilinx virtex 5 to do design, and after place&route, some path
didnot meet timing constraint. All of these paths are relevant to the
reset_n. reset_n is a synchronization global reset signal. I donot
know how to solve this problem, so I copy one of these report, please
help to analyze.
In the report, route use 88.5% timing budget, how to make route use
fewer timing budget. reset_n is an output of BUFG.
  BUFG  reset
    ( .I (reset_int),
       .O(reset_n)
    );

Place&route report:
  Maximum Data Path: reset_gen/reset_int to data_path/dp_pre_ins/
dp_pre_psr/psr_cs_FSM_FFd16
    Delay type         Delay(ns)  Logical Resource(s)
    ----------------------------  -------------------
    Tcko                  0.450   reset_gen/reset_int
    net (fanout=1)        1.437   reset_gen/reset_int
    Tbgcko_O              0.250   reset_gen/reset
    net (fanout=548)      2.703   reset_n
    Tilo                  0.094   data_path/dp_pre_ins/dp_pre_psr/
fifo_dat<23>4
    net (fanout=1)        1.653   data_path/dp_pre_ins/dp_pre_psr/
fifo_dat<23>4
    Tilo                  0.094   data_path/dp_pre_ins/dp_pre_psr/
fifo_dat<23>24
    net (fanout=24)       1.900   data_path/dp_pre_ins/dp_pre_psr/
fifo_dat<23>
    Tilo                  0.094   data_path/dp_pre_ins/dp_pre_psr/
psr_cs_cmp_eq00011
    net (fanout=3)        0.597   data_path/dp_pre_ins/dp_pre_psr/N254
    Tilo                  0.094   data_path/dp_pre_ins/dp_pre_psr/
psr_cs_cmp_eq000121
    net (fanout=3)        0.762   data_path/dp_pre_ins/dp_pre_psr/N287
    Tilo                  0.094   data_path/dp_pre_ins/dp_pre_psr/
psr_cs_cmp_eq00012
    net (fanout=2)        0.143   data_path/dp_pre_ins/dp_pre_psr/
psr_cs_cmp_eq0001
    Tas                   0.026   data_path/dp_pre_ins/dp_pre_psr/
psr_cs_FSM_FFd16-In1
                                  data_path/dp_pre_ins/dp_pre_psr/
psr_cs_FSM_FFd16
    ----------------------------  ---------------------------
    Total                10.391ns (1.196ns logic, 9.195ns route)
                                  (11.5% logic, 88.5% route)

--------------------------------------------------------------------------------
Slack:                  -5.361ns (requirement - (data path - clock
path skew + uncertainty))
  Source:               reset_gen/reset_int (FF)
  Destination:          data_path/dp_pre_ins/dp_pre_psr/
psr_cs_FSM_FFd4 (FF)
  Requirement:          5.000ns
  Data Path Delay:      10.390ns (Levels of Logic = 7)
  Clock Path Skew:      0.184ns (1.807 - 1.623)
  Source Clock:         clk_156_raw rising at 0.000ns
  Destination Clock:    glb_clk_156 rising at 5.000ns
  Clock Uncertainty:    0.155ns

Article: 136289
Subject: Re: Linux on Microblaze
From: David Brown <david@westcontrol.removethisbit.com>
Date: Mon, 10 Nov 2008 08:55:38 +0100
Links: << >>  << T >>  << A >>
H. Peter Anvin wrote:
> David Brown wrote:
>> My understanding of Altera's FPGAs is that they have pretty much given
>> up on using ARM hard-core processors, because the Nios / Nios II was
>> actually faster for real use - the flexibility of memory bus
>> arrangements, custom instructions, etc., meant that the space taken by
>> the ARM core was simply not worth it.
> 
> It would still be nice to have more chips with combination
> microcontroller and small FPGA at the low end, as that is often a useful
> mix as opposed to having to have a much bigger FPGA.  Aiming this at the
> high-end CPLD markets (with features such as onboard flash, 5V
> tolerance, etc.) would be especially nice.
> 
> 	-hpa

I'd like to see something like that too.  The only one I can think of is 
Atmel's FPSLIC's, which are an FPGA with an AVR core.  But they don't 
really do the same thing - the AVR core is like an add-on hard-core in a 
small FPGA.  I'd prefer something that had the convenience and easy of 
use of a normal AVR device (or similar small micro), but with some 
programmable logic built-in to off-load the processor for fast I/O or 
calculation acceleration.  A hundred or so CPLD macrocells would be 
enough for many situations.

Article: 136290
Subject: Re: RS-232 Bus controller design in VHDL
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Mon, 10 Nov 2008 08:05:51 +0000
Links: << >>  << T >>  << A >>
On Sun, 09 Nov 2008 15:21:11 -0800, Mike Treseler wrote:

>I would also point out that text comments
>as in your example
[...]
>are just the thing to head up a block of code.
>Thoughts are always more fleeting than I expect.

Ah, if only everyone agreed with that :-)

I'm just coming to the end of a session working
alongside a very, very smart young designer whose
only noticeable fault is the total lack of useful
commentary in his code.  Initially I thought that
was just bull-headed idiocy on his part, but now
I recognise that his thoughts are probably a lot
less fleeting than mine... so he doesn't (yet) 
need comments for himself; he can just REMEMBER
stuff.  Me, I have various prosthetics (notebook,
computer, ...) to do duty for my rapidly failing
memory.  My own poor memory probably encourages
me to write comments for myself that are also
useful for other readers.

I hereby rest the case for the defence ...
-- 
Jonathan Bromley, Consultant

DOULOS - Developing Design Know-how
VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services

Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
jonathan.bromley@MYCOMPANY.com
http://www.MYCOMPANY.com

The contents of this message may contain personal views which 
are not the views of Doulos Ltd., unless specifically stated.

Article: 136291
Subject: Re: How to handle the problem "timing constraint not met"?
From: hal-usenet@ip-64-139-1-69.sjc.megapath.net (Hal Murray)
Date: Mon, 10 Nov 2008 03:10:21 -0600
Links: << >>  << T >>  << A >>
>I use xilinx virtex 5 to do design, and after place&route, some path
>didnot meet timing constraint. All of these paths are relevant to the
>reset_n. reset_n is a synchronization global reset signal. I donot
>know how to solve this problem, so I copy one of these report, please
>help to analyze.

Do you really have only one clock in your design?

Do you understand metastability?

>In the report, route use 88.5% timing budget, how to make route use
>fewer timing budget. reset_n is an output of BUFG.
>  BUFG  reset
>    ( .I (reset_int),
>       .O(reset_n)
>    );

Reset gets discussed here more than occasionally.  You might find something
useful in the archives.

The usual approach is to treat an external reset as an asynchronous
signal and synchronize it (pair of FFs) locally at each state machine.

It may take some extra logic if your design depends upon a chain
of state machines coming out of reset together.

-- 
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 136292
Subject: Re: RS-232 Bus controller design in VHDL
From: "ikki" <jasperng10@gmail.com>
Date: Mon, 10 Nov 2008 03:11:53 -0600
Links: << >>  << T >>  << A >>
>>so far i manage to taken care of the reciever part of the rs232 bus
>>controller, but im still having problem with transmitter part..
>>any idea how to come out with the state machine of transmitter part ?
...
>
>Most people think the receiver is harder....
>
>Tx is comparatively easy.  Load the 8-bit data you want to send
>into a 10-bit shift register, like so:
>
>  bit #...  9  8  7  6  5  4  3  2  1  0
>  contents  1  d7 d6 d5 d4 d3 d2 d1 d0 0
>
>Drive bit 0 of this register out to the RS-232 level shifter.
>The fact there's now a 0 in this position will create your
>start bit.  Now clock the register as a shift register,
>pushing its more significant bits rightwards towards its
>least significant bits, and being sure to shift in '1' at
>the left end every time:
>
>  bit #........  9  8  7  6  5  4  3  2  1  0
>  initial value  1  d7 d6 d5 d4 d3 d2 d1 d0 0
>  after 1 clock  1  1  d7 d6 d5 d4 d3 d2 d1 d0
>  after 2 clocks 1  1  1  d7 d6 d5 d4 d3 d2 d1
>  ...
>
>So you can see that the output end (right-hand end) step-
>by-step gives you first the start bit 0, then d0, then d1
>and so on...
>
>  after 7 clocks 1  1  1  1  1  1  1  1  d7 d6
>  after 8 clocks 1  1  1  1  1  1  1  1  1  d7
>  after 9 clocks 1  1  1  1  1  1  1  1  1  1
>
>And now you have your stop bit appearing at the output.
>The fact that the whole register now contains all-1
>means two things:
>1) you can use this as a "ready" indication to say that 
>   it's now safe to load a new value on the next clock;
>2) you don't need to stop; you can continue shifting,
>   and the line will correctly continue to idle, if
>   there is no new data.
>
>Sounds easy to me.  No counters or (explicit) state
>machines required.
>-- 
>Jonathan Bromley, Consultant
>
>DOULOS - Developing Design Know-how
>VHDL * Verilog * SystemC * e * Perl * Tcl/Tk * Project Services
>
>Doulos Ltd., 22 Market Place, Ringwood, BH24 1AW, UK
>jonathan.bromley@MYCOMPANY.com
>http://www.MYCOMPANY.com
>
>The contents of this message may contain personal views which 
>are not the views of Doulos Ltd., unless specifically stated.
>
Hi there,

In response to your msg at
http://www.fpgarelated.com/usenet/fpga/show/80222-1.php,

I would like to ask you about the coding for it. I do understand the
concept of it. But, how do I shift it right so that every clock cycle the
LSB will be transferred out ?  I mean i know how to shift it to the right
but, the problem i see is that start bit might be ignored as I shifted the
iTxdbuffer before i actually send the LSB of iTxd buffer to the TxD

here are my codes ,. .. do you see any errrors about this ? ...how can i
edit from here...

comments are appreciated... thanks

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity Rs232Txd is
 port( Reset, Send, Clock16x: in std_logic;
 DataIn: in std_logic_vector(7 downto 0);
 Txd: out std_logic);
end Rs232Txd;
architecture Rs232Txd_Arch of Rs232Txd is
 attribute enum_encoding: string;
 -- state definitions
 type stateType is (stIdle, stData, stStop, stTxdCompleted);
 attribute enum_encoding of stateType: type is "00 01 11 10";
 signal presState: stateType;
 signal nextState: stateType;
 signal iSend, iReset, iClock1xEnable, iEnableTxdBuffer, iEnableShift:
std_logic;
 signal iTxdBuffer: std_logic_vector (9 downto 0);
 signal iClockDiv: std_logic_vector (3 downto 0);
 signal iClock1x: std_logic;
 signal iNoBitsSent: std_logic_vector (3 downto 0);
begin
process (Clock16x)
begin
 if Clock16x'event and Clock16x = '1' then
  if Reset = '1' or iReset = '1' then
   iSend <= '0';
   iEnableTxdBuffer <= '0';
   iEnableShift <= '0';
   iClock1xEnable <= '0';
   iClockDiv <= (others=>'0');
 
  end if;
  if Send = '1' or iSend = '1' then
   iClock1xEnable <= '1';
  end if;
  if iClock1xEnable = '1' then
   iClockDiv <= iClockDiv + '1';
  end if;
 
  if iEnableTxdBuffer = '1' then
   iTxdBuffer <= '1' & DataIn & '0'; -- inserting start bit and stop bit
  end if;
 end if;
end process;
iClock1x <= iClockDiv(3);
process (iClock1xEnable, iClock1x)
begin
 if iClock1xEnable = '0' then
  iNoBitsSent <= (others=>'0');
  presState <= stIdle;
 elsif iClock1x'event and iClock1x = '1' then
  iNoBitsSent <= iNoBitsSent + '1';
  presState <= nextState;
 end if;
 if iClock1x'event and iClock1x = '1' then
 
  if iEnableShift = '1' then
   iTxdBuffer <= '0' & iTxdBuffer(9 downto 1);
  end if;
 end if;
end process;
Txd <= iTxdBuffer(0);
process (presState, iClock1xEnable, iNoBitsSent)
begin
-- signal defaults
iReset <= '0';
iEnableTxdBuffer <= '0';
iEnableShift <= '0';
 case presState is
  when stIdle =>
   if iClock1xEnable = '1' then
    iEnableTxdBuffer <= '1';
    nextState <= stData;
   else
    nextState <= stIdle;
   end if;
  when stData =>
   i
   if iNoBitsSent = "1010" then
    iEnableShift <= '0';
    nextState <= stStop;
   else
    iEnableShift <= '1';
    nextState <= stData;
   end if;
  when stStop =>
   nextState <= stTxdCompleted;
  when stTxdCompleted =>
   iReset <= '1';
   nextState <= stIdle;
 end case;
end process;

end Rs232Txd_Arch;

Article: 136293
Subject: Re: Reading files from CF (microblaze 7 and plb)
From: lomtikster@gmail.com
Date: Mon, 10 Nov 2008 01:44:19 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 5, 11:12=A0pm, markmcma...@hotmail.com wrote:
> > After debugging the problem further, I am sure I can open, read and
> > close files from the CF card now. Everything is good while I am
> > reading files with <=3D 12KBytes. The previously mentioned exception
> > occurs when I read the next byte of the open file.
> > Any ideas?
>
> > Thanks- Hide quoted text -
>
> Try increasing your stack size.

Thanks Mark,

I increased the stack size to the size of the read file from the CF
card and it worked. Does it make sense to keep the stack size at near
1MB? Why does this actually happen? The first though would make me
think that since the buffer that I am using to store a chunk of data
read from a CF file is re-used during the next read in a loop, the
stack size should not grow that much. However, I am missing something
here.

Thank you

Article: 136294
Subject: Re: Xilinx TFT controller
From: lomtikster@gmail.com
Date: Mon, 10 Nov 2008 02:35:24 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 5, 5:44=A0am, Matthias Alles <REMOVEallesCAPIT...@NOeit.SPAMuni-
kl.de> wrote:
> Hi!
>
> You could also try the vga controller contained in the Genode FX project
> (fpga-graphics.org). It supports double buffering, vertical blank
> interrupts and fast clearing of memory. Timing and resolution are
> programmable. It requires an MPMC core for fetching the pixel data from
> external RAM.
> But it currently uses a color depth of 16 bits (RGB=3D565) as well.
>
> Matthias
>
> > Is TFT Controller v1.00a for Microblaze 7 the easiest way to output
> > video buffer to VGA screen? I was thinking of writing my own VGA
> > controller, reading a line buffer stored in BRAM and having two copies
> > of it to update one while the other one is read by the VGA controller.
> > However, it seems as it is readily available as a pcore for smaller
> > resolutions of 640x480, 18-bit bitmaps.
>
> > Any comments?
> > I would have to cut down on the originally planned resolution of 24-
> > bits if I go with this option.
>
> > Thanks

Thanks Matthias, that looks like an interesting project!

Article: 136295
Subject: Register access over PLB2DCR bridge
From: lomtikster@gmail.com
Date: Mon, 10 Nov 2008 02:45:16 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi,

I am facing an issue of accessing the registers of a peripheral
sitting on the DCR bus via PLBV46 to DCR Bridge and uBlaze. The uBlaze
is on the PLB bus. The bridge is a slave on PLB and a master on DCR.
Please see below for a snippet of the .mhs file.

Since my peripheral has the C_DCR_BASEADDR = 0b0000000000, I assume it
is register 0 on the PLB2DCR bridge and I can simply access it by
looking at the base address of the PLB2DCR. For example,
write_adress (0x87000000, value1)
write_adress (0x87000004, value2)
Does it make sense?


BEGIN plbv46_dcr_bridge
 PARAMETER INSTANCE = plbv46_dcr_bridge_0
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_BASEADDR = 0x87000000
 PARAMETER C_HIGHADDR = 0x8700ffff
 BUS_INTERFACE SPLB = mb_plb
 BUS_INTERFACE MDCR = dcr_v29_0
END

BEGIN xps_tft
 PARAMETER INSTANCE = xps_tft_0
 PARAMETER HW_VER = 1.00.a
 PARAMETER C_DCR_SPLB_SLAVE_IF = 0
 PARAMETER C_TFT_INTERFACE = 0
 PARAMETER C_DEFAULT_TFT_BASE_ADDR = 0x10800000
 PARAMETER C_DCR_BASEADDR = 0b0000000000
 PARAMETER C_DCR_HIGHADDR = 0b0000000011
 BUS_INTERFACE MPLB = mb_plb
 BUS_INTERFACE SDCR = dcr_v29_0
 PORT TFT_VSYNC = VGA_VSYNCH
 PORT TFT_HSYNC = VGA_HSYNCH
 PORT TFT_VGA_CLK = VGA_OUT_PIXEL_CLOCK
 PORT SYS_TFT_Clk = tft_clk
 PORT TFT_DE = VGA_OUT_BLANK_Z
 PORT DCR_Rst = sys_bus_reset
 PORT DCR_Clk = sys_clk_s
 PORT TFT_VGA_R = VGA_OUT_RED
 PORT TFT_VGA_G = VGA_OUT_GREEN
 PORT TFT_VGA_B = VGA_OUT_BLUE
END

Thank you in advance

Article: 136296
Subject: SPI Flash Verify problem
From: "Roger" <rogerwilson@hotmail.com>
Date: Mon, 10 Nov 2008 12:42:52 -0000
Links: << >>  << T >>  << A >>
I have an LX50T based design with an SPI Flash for configuration memory. It 
programs OK (the code runs) but Verify always fails. The Flash contents 
clearly are OK otherwise the code wouldn't run so does anyone have any ideas 
why the Verify will report as "Failed"?

TIA,

Rog. 


Article: 136297
Subject: hi all
From: wallra <khamitkar.ravikant@gmail.com>
Date: Mon, 10 Nov 2008 05:08:49 -0800 (PST)
Links: << >>  << T >>  << A >>
when i completed the edk base system builder wizard with EDK 8.2i
and connected spartan 3e starter kit and downloaded the bitstream with
Test_app_memory.c and .elf files
i didn't seen anything on my hyperterminal with all hardware kit and
wire attached
with baud rate of 9600 as standard one.
will any body suggest what would be the cause for this happen,
all suggestions arew valuable for me.

Article: 136298
Subject: Re: Tilera multicore replaces FPGA?
From: Leon <leon355@btinternet.com>
Date: Mon, 10 Nov 2008 06:11:26 -0800 (PST)
Links: << >>  << T >>  << A >>
On 10 Nov, 07:22, Markus <n...@nowhere.org> wrote:
> Leon schrieb:
>
>
>
> > On 7 Nov, 19:26, Benjamin Couillard <benjamin.couill...@gmail.com>
> > wrote:
> >> On 7 nov, 14:00, Leon <leon...@btinternet.com> wrote:
>
> >>> On 7 Nov, 18:00, Benjamin Couillard <benjamin.couill...@gmail.com>
> >>> wrote:
> >>>> On 7 nov, 11:47, Leon <leon...@btinternet.com> wrote:
> >>>>> On 7 Nov, 16:11, Benjamin Couillard <benjamin.couill...@gmail.com>
> >>>>> wrote:
> >>>>>> On 7 nov, 05:25, mentari <Stephan...@gmail.com> wrote:
> >>>>>>> What are your views onhttp://scratchpad.wikia.com/wiki/TileraMult=
icore
> >>>>>>> as a replacement for FPGA's ?
> >>>>>>>http://www.tilera.com/solutions/digital_baseband.php
> >>>>>>> The current architecture for base stations fall short of deliveri=
ng
> >>>>>>> the performance, the low latency and the flexibility customers ne=
ed.
> >>>>>>> To meet the requirements, wireless equipment providers design com=
plex
> >>>>>>> systems with FPGA, ASIC, DSP and processors with each component
> >>>>>>> requiring special tools in a customized development environment. =
This
> >>>>>>> leads to a long development cycle, sometimes years, before
> >>>>>>> applications can be productized. Changes in standards also impact
> >>>>>>> providers because such systems are inflexible-upgrades can be a s=
low
> >>>>>>> and expensive process.
> >>>>>>> What providers seek is an uncomplicated, well-designed, architect=
ure
> >>>>>>> that yields good performance. Tilera's processors provide a low
> >>>>>>> latency single solution that integrates many functions seamlessly=
 in a
> >>>>>>> single processor and uses C/C++ to program their applications wit=
h
> >>>>>>> industry standard tools. The familiar tools enable customers to
> >>>>>>> preserve their software investments, replace a number of disparat=
e
> >>>>>>> programming methodologies with one standard programming environme=
nt,
> >>>>>>> and gain the flexibility they need to support evolving protocols =
and
> >>>>>>> ever-increasing demands for service
> >>>>>> It seems to be similar to XMOS devices. I suppose that it could
> >>>>>> replace FPGAs in some applications. However, it's still a much coa=
rser
> >>>>>> architecture than an FPGA. =A0There's still only 64 processing uni=
ts,
> >>>>>> while a Virtex-5 can have about 20 000 slices and a couple of PPC
> >>>>>> processors. In the end, I think that since FPGAs are much more
> >>>>>> flexible, they have the upper hand. Plus with tools like system
> >>>>>> generator, AccelDSP and Simulink, low-level HDL coding can be skip=
ped,
> >>>>>> and the engineer can focus more on applications and less on the "b=
it-
> >>>>>> level" of things.
> >>>>>> Plus I suppose that with a high-capacity FPGA, one could emulate a
> >>>>>> Tilera-like device with 64 processing units. Maybe the future's th=
ere,
> >>>>>> take the Tilera (or Xmos) concept and implement it in a FPGA.
> >>>>>> My 2 cents
> >>>>> They will cost more, be much harder to use, use a lot more power an=
d
> >>>>> won't be any faster.
> >>>>> Leon
> >>>> THe point is not that it will be faster, is that it'll be much more
> >>>> versatile since you won't be stuck with a fixed architecture
> >>> You won't have 64k per core, and what about stuff like 100 MHz I/Os,
> >>> hardware threads switching in one cycle, and 3.2 Gb/s full duplex
> >>> links between cores?
> >>> Leon
> >> You raise some good points.
> >> But, I was just making the point that you could implement some sort of
> >> "xmos-like" architecture in a big FPGA. While you wouldn't have 64k
> >> per core , you would certainly be able to have 3.2 Gb/s full duplex
> >> (32 bits @ 100 MHz).
>
> >> But anyay, I think that FPGAs are there to stay and they have a big
> >> future in front of them. There might be some applications where
> >> they'll be replaced by faster, cheaper technologies, but the reverse
> >> is also true.
>
> > They won't replace them completely, of course, but there will be many
> > applications where the ease of development (a C-like language with
> > compilation =A0and testing in a few seconds) and low cost will see them
> > being used in place of FPGAs, and in conjunction with them. One
> > application I've heard of uses a CPLD as an XLink interface to an XMOS
> > chip, and I'm thinking of using an FPGA between an RF ADC and the XMOS
> > chip for a software defined radio.
>
> > Leon
>
> When I talked to the XMOS guys they told me about the programmable and
> highly flexible IOs. That suggested somehow that you should not need an F=
PGA
> to glue the ADC to the XMOS chip. Can you tell us why this cannot be done=
?
>
> -Markus

I don't think it's fast enough, I might try it though. I'll only need
a small FPGA.

Leon

Article: 136299
Subject: Silicon used for realising FPGA logic
From: Max <Max.Pearl@hotmail.com>
Date: Mon, 10 Nov 2008 15:07:31 +0000
Links: << >>  << T >>  << A >>
Hi there,

I have a very stupid question. I was wondering how much silicon the
actual FPGA logic (that is the slices and the BRAM ressources) are 
occuping on the physical chip. So can I expect that the whole physical 
chip is dedicated to these ressources or are there other components on
the chip that take some space like flash memory for instance, or some 
other (external control) logic?

Thanks,
Max



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