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 75050

Article: 75050
Subject: Re: PLL Clocks on Cyclone Devices
From: Rene Tschaggelar <none@none.net>
Date: Mon, 25 Oct 2004 21:09:01 +0200
Links: << >>  << T >>  << A >>
Jock wrote:

> Can a Cyclone PLL accept a clipped sine wave with an amplitude of 0.8V -
> i.e. what is the maximum rise time on the edge of the PLL clock input?

What is wrong with a line receiver to meet the AC voltage
specifications ?
The 1.5V-IO requires 0.35 and 0.65 times 1.5V as levels.

Rene
-- 
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net

Article: 75051
Subject: Re: Low-power FPGAs?
From: Rene Tschaggelar <none@none.net>
Date: Mon, 25 Oct 2004 21:11:41 +0200
Links: << >>  << T >>  << A >>
Symon wrote:

> Simon,
> I guess it's been a while since you checked out the quiescent supply
> currents for the latest parts? For example, worst case Iccintq for the
> smallest V2PRO (XC2VP2) is 300mA. That's about 20 hours on a NiMH D cell.
> Typical is 20mA, but no-one would design with typical figures, would they?
> BTW, anyone know why there's such a big difference from 'typical' to 'max'
> figures? Does it depend on the configuration used in the part?
> Cheers, Syms.

Yes, the typical figures clock only 15% or so of the
available flipflops.

Rene
-- 
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net

Article: 75052
Subject: Re: Introducing MANIK - a 32 bit Soft-Core RISC Processor
From: "Antti Lukats" <antti@case2000.com>
Date: Mon, 25 Oct 2004 12:59:42 -0700
Links: << >>  << T >>  << A >>
"David Brown" <david@no.westcontrol.spam.com> wrote in message
news:clia4n$pd1$1@news.netpower.no...
>
[snip long post deleted, check the thread]

> I wish you luck with your processor.  As I said, I don't think anyone has
> problems with your choice of licensing and pricing (although I suspect a
GPL
> version, perhaps less powerful or less optomised, and a commercial version
> would help you get customers and feedback faster).  It's just that "open"
> means far more than "you get the source with the product" (even the
Windows
> source is available).
>
> David

Thanks David - I wasnt expecting so understanding comments - yes most of
your points are valid - the name openchip - well its just is the name, and
when choosing the name I hade no intentions to make all openchip products
"open" in that sense that all the ip would would be freely downloadable. The
community isnt ready for that yet. I have made free software in the past
(search for PIP02 on the google as example) lot of my free (for non
commercial) sw has been used to create commercial bundles sold for profit,
no one ever contacted me back regarding obtaining the commercial use license
at all. So I have learned some lessons.

Regarding feedback, again I agree 100% with you it is actually amazing how
little feedback comes back. This is true for free products and also for
commerical products. If you have a commercial product, and you get no
feedback, it doesnt mean that the customers are happy, not at all. They just
do not give feedback.

The uCLinux platform simulator is downloadable for free, but requires
registration to the forum (similar to the uCLinux/NIOS required forum
registration at niosforum) - so I know there are at least 25 people
registered to gain access to the download. I would have hope maybe 1
feedback, but havent yet received any. In the meanwhile the simulator is
booting (almost completly) not only microblaze uclinux but also NIOS II
uclinux, but I will have to decide the licensing of it. This simulator is
written from scratch fully avoiding any GPLed source code useage. Except
that the HDL co-simulation uses iverilog ;) so the the hdl sim is GPLed
(also the VPI module for what I will provide the source code freely of
course).

Thanks again for nice long commentary David!

Antti
PS testing aeMB and writing NIOX did give me many new knowlege about
assembly programming for microblaze/nios architectural differencies etc, so
I have gained something already.

Quiz:
Q: How is it possible that NIOS/e is so small ?
A: By using 6 cycle microsequencing and 16 bit ALU and internal datapaths.

The answer is my bet, but I am pretty sure that the way it is. NIOS II/e
uses 6 clock per cycle, those are requiered to fetch the operands in 16 bit
chunks and write them back in 16 bit chunks. 6 clocks. Nice idea :)







Article: 75053
Subject: Re: Assembler for PicoBlaze in Perl
From: "Symon" <symon_brewer@hotmail.com>
Date: Mon, 25 Oct 2004 13:22:55 -0700
Links: << >>  << T >>  << A >>
John,
It's a piece of cake with Perl. I used a text file to hold the text of all
the Perl regular expression searches for the opcodes along with bits of Perl
source code text to convert that particular opcode into machine code. In the
code proper I just read in the text file to an array, and then use the
'eval' instruction to execute the elements of the array. (A big advantage of
an interpreted language!) Once I sussed this out, it took me about 2 hours
to rewrite my custom assembler; the original version was bug ridden and
taking ages. Not bad for a hardware engineer!
If you know the processor well, and have used Perl with REs before, you
could write one for Picoblaze in a morning, no worries.
Cheers, Syms.
"John Williams" <jwilliams@itee.uq.edu.au> wrote in message
news:clha4r$fd8$1@bunyip.cc.uq.edu.au...
>   I've never written an assembler, maybe it's time to try!
>



Article: 75054
Subject: Viewing/Controling C-Build Outputs
From: george.martin@att.net (George)
Date: 25 Oct 2004 13:25:49 -0700
Links: << >>  << T >>  << A >>
Hello:

I've created an Altera NIOS II Project.
Using the IDE, I've built my main.c which contains the simple Hello
World porgram with no errors.
The IDE keeps running and generated the following "error" message.

Kind Description Resource In Folder Location
Error 49 PM - (SEVERE) elf2flash: Boot copier overlaps data in
flash[Oct 25, 2004 2] Prototype line 46

Now my real probelm is that I can't get at the output from the compile
of main.c. It has flashed by in the C-Build window and that window
keeps getting cleared several times in the build process.

Does anyone know how to get at build output messages??

George

Article: 75055
Subject: Re: Assembler for PicoBlaze in Perl
From: Jim Granville <no.spam@designtools.co.nz>
Date: Tue, 26 Oct 2004 10:23:37 +1300
Links: << >>  << T >>  << A >>
John Williams wrote:
> Hi Mike,
> 
> Mike Peattie wrote:
> 
>> I have written an assembler for PicoBlaze (KCPSM3) in Perl. It's working 
> 
> [snip]
>> I'd like to make a call for test cases, or potential users. Please 
>> email me if you're at all interested.  It's possible that this script 
>> may be included in future distributions of PicoBlaze.
> 
> 
> I could be interested in this - but mostly from the perspective of using 
> it as a base to port the assembler into C.
> 
> I have some done some experiments with arrays of picoblazes connected to 
> a central microblaze (running uClinux of course), with the microblaze 
> dynamically reprogramming and communicating with the Picoblazes, 
> scheduling tasks on them and things like this.  Currently I have to 
> assemble the picoblaze code on a desktop machine, and just download the 
> .bin files from the microblaze to the pico-nodes.
> 
> I could run perl on the microblaze then use your scripts on top of that, 
> but it would be pretty heavy-weight - a direct C implementation would be 
> much smaller.  I've never written an assembler, maybe it's time to try!

Can you elaborate on what the Microblaze does, with these picoblaze 
source(s) ?
Does it create the sources, or modify 'master copies', prior to assembly ?
  How much resource does the Microblaze work with, uClinix
suggests MBytes of FLASH/DRAM ?

Assemblers, expecially ones minus linkers, can have quite small 
footprints, and there are many examples out there.

A good one to start with ( much closer than pearl scripts, but they 
would be tapped for the opcode info ), would be AS, see
http://john.ccac.rwth-aachen.de:8000/as/download.html

-jg


Article: 75056
Subject: Re: Low-power FPGAs?
From: Jim Granville <no.spam@designtools.co.nz>
Date: Tue, 26 Oct 2004 11:11:22 +1300
Links: << >>  << T >>  << A >>
John wrote:
> I am working on an instrument that currently uses a 300 MHz TI dual-
> issue DSP + A/Ds + a micro. Under "normal" use, I can get a week out of 
> the D-cell batteries the device uses.
> 
> At the moment, I am considering replacing the DSP and other glue with an 
> FPGA, but I don't see many low-power options.
> 
> Any suggestions?  Any low-power FPGA experiences to share?
> 
> I asked an Altera FAE and he very rudely answered "Low-power Altera 
> FPGAs aren't on the road map"...yeah and I bet low-power CPLDs (ala 
> MaxII) weren't on the road map until CoolRunner started hurting sales...
> 
> I'd like to stick with brand A or X since they offer soft core 
> processors.

  You should clarify how much usage, or up time, each block is expecting.

  Low power is not a direction FPGAs are heading, see the values in this
thread of 20 or 40mA typical, 2.5x multiplier for 85'C Tj
(thermal run-away anyone :)

  Wider supply specs are common in uC, but we may start to see this in
FPGA data : they must have some lower RAM_Vcc, which is the Min to keep 
CONFIG, but at very low/stopped clock speeds, and then the
higher operate Vcc.

Austin: Any numbers on a Config_Keep Vcc (no Clock), and the
Static Icc at that operate point ?

  This is the same as RUN/IDLE in uC designs.
For longest battery life, expect to use a good Low Power uC for operator 
interface, system management, and run the higher power stuff only when 
you have to.

-jg


Article: 75057
Subject: Re: PacoBlaze 1.3b
From: rickman <spamgoeshere4@yahoo.com>
Date: Mon, 25 Oct 2004 18:37:40 -0400
Links: << >>  << T >>  << A >>
WOW!  That is one small CPU.  I didn't realize that the pB was that
small.  I will have to take a look to see why it is so much smaller than
a stack machine.  Does it include interrupts?  

I notice that the PacoB uses less FFs, but more LUTs and runs slower
than the pB.  Have you analyzed it to see how they differ?  I belive the
source is available on the pB vs. the uB which must be bought, no?  


Pablo Bleyer Kocik wrote:
> 
> Here are parts of the synthesis reports for the naked core of an KCPSM3
> in a SpartanII (XC2S100):
> 
> PacoBlaze:
> =========================================================================
> *                            Final Report
> *
> =========================================================================
> Final Results
> RTL Top Level Output File Name     : kcpsmx.ngr
> Top Level Output File Name         : kcpsmx
> Output Format                      : NGC
> Optimization Goal                  : Area
> Keep Hierarchy                     : NO
> 
> Design Statistics
> # IOs                              : 58
> 
> Macro Statistics :
> # RAM                              : 3
> #      16x8-bit dual-port distributed RAM: 1
> #      32x10-bit single-port distributed RAM: 1
> #      64x8-bit single-port distributed RAM: 1
> # Registers                        : 19
> #      1-bit register              : 16
> #      10-bit register             : 1
> #      5-bit register              : 2
> # Multiplexers                     : 10
> #      1-bit 4-to-1 multiplexer    : 1
> #      2-to-1 multiplexer          : 9
> # Adders/Subtractors               : 3
> #      10-bit adder                : 1
> #      5-bit addsub                : 1
> #      8-bit adder carry in/out    : 1
> # Xors                             : 1
> #      1-bit xor8                  : 1
> 
> Cell Usage :
> # BELS                             : 273
> #      GND                         : 1
> #      LUT1                        : 13
> #      LUT2                        : 16
> #      LUT3                        : 108
> #      LUT4                        : 91
> #      MUXCY                       : 21
> #      MUXF5                       : 1
> #      VCC                         : 1
> #      XORCY                       : 21
> # FlipFlops/Latches                : 46
> #      FDE                         : 2
> #      FDR                         : 11
> #      FDRE                        : 29
> #      FDRS                        : 2
> #      FDS                         : 2
> # RAMS                             : 34
> #      RAM16X1D                    : 8
> #      RAM32X1S                    : 26
> # Clock Buffers                    : 1
> #      BUFGP                       : 1
> # IO Buffers                       : 57
> #      IBUF                        : 28
> #      OBUF                        : 29
> =========================================================================
> 
> Device utilization summary:
> ---------------------------
> 
> Selected Device : 2s100etq144-6
> 
> Number of Slices:                     200  out of   1200    16%
> Number of Slice Flip Flops:            46  out of   2400     1%
> Number of 4 input LUTs:               288  out of   2400    12%
> Number of bonded IOBs:                 57  out of    102    55%
> Number of GCLKs:                        1  out of      4    25%
> 
> =========================================================================
> TIMING REPORT
> 
> NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
> FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
> GENERATED AFTER PLACE-and-ROUTE.
> 
> Clock Information:
> ------------------
> -----------------------------------+------------------------+-------+
> Clock Signal                       | Clock buffer(FF name)  | Load  |
> -----------------------------------+------------------------+-------+
> clk                                | BUFGP                  | 80    |
> -----------------------------------+------------------------+-------+
> 
> Timing Summary:
> ---------------
> Speed Grade: -6
> 
> Minimum period: 21.627ns (Maximum Frequency: 46.238MHz)
> Minimum input arrival time before clock: 24.700ns
> Maximum output required time after clock: 8.320ns
> Maximum combinational path delay: 10.734ns
> 
> Timing Detail:
> --------------
> All values displayed in nanoseconds (ns)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default period analysis for Clock 'clk'
> Delay:               21.627ns (Levels of Logic = 16)
> Source:            register_Mram_dpr_inst_ramx_3 (RAM)
> Destination:       zero (FF)
> Source Clock:      clk rising
> Destination Clock: clk rising
> 
> Data Path: register_Mram_dpr_inst_ramx_3 to zero
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> RAM16X1D:WCLK->DPO    2   1.568   1.150
> register_Mram_dpr_inst_ramx_3 (register_y_data_out<3>)
> LUT3:I2->O           35   0.468   3.375  scratch_address<3>1
> (scratch_address<3>)
> LUT3:I2->O            1   0.468   0.000
> alu_Madd__n0021_inst_lut2_171 (alu_Madd__n0021_inst_lut2_17)
> MUXCY:S->O            1   0.515   0.000
> alu_Madd__n0021_inst_cy_18 (alu_Madd__n0021_inst_cy_18)
> MUXCY:CI->O           1   0.058   0.000
> alu_Madd__n0021_inst_cy_19 (alu_Madd__n0021_inst_cy_19)
> MUXCY:CI->O           1   0.058   0.000
> alu_Madd__n0021_inst_cy_20 (alu_Madd__n0021_inst_cy_20)
> MUXCY:CI->O           1   0.058   0.000
> alu_Madd__n0021_inst_cy_21 (alu_Madd__n0021_inst_cy_21)
> XORCY:CI->O           1   0.648   0.920
> alu_Madd__n0021_inst_sum_22 (alu_addsub_result<7>)
> LUT4:I1->O            1   0.468   0.920  alu__old_result_6<7>53
> (CHOICE603)
> LUT4:I3->O            3   0.468   1.320  alu__old_result_6<7>61
> (alu_result<7>)
> LUT3:I1->O            1   0.468   0.000
> alu_Mmux__n0004_inst_mux_f5_0111_G (N11696)
> MUXF5:I1->O           2   0.403   1.150
> alu_Mmux__n0004_inst_mux_f5_0111 (alu_shift_bit)
> LUT4:I1->O            1   0.468   0.920  alu__old_result_6<0>29
> (CHOICE463)
> LUT4:I2->O            3   0.468   1.320  alu__old_result_6<0>61
> (alu_result<0>)
> LUT3:I1->O            1   0.468   0.920  Mmux__n0016_Result24
> (CHOICE447)
> LUT3:I1->O            1   0.468   0.920  Mmux__n0016_Result49_SW0
> (N11635)
> LUT4:I3->O            1   0.468   0.000  Mmux__n0016_Result49
> (N10428)
> FDRE:D                    0.724          zero
> ----------------------------------------
> Total                     21.627ns (8.712ns logic, 12.915ns route)
> (40.3% logic, 59.7% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default OFFSET IN BEFORE for Clock 'clk'
> Offset:              24.700ns (Levels of Logic = 14)
> Source:            instruction<17> (PAD)
> Destination:       zero (FF)
> Destination Clock: clk rising
> 
> Data Path: instruction<17> to zero
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> IBUF:I->O            30   0.797   3.250  instruction_17_IBUF
> (instruction_17_IBUF)
> LUT3:I1->O            3   0.468   1.320  alu_Ker71491 (alu_N7151)
> LUT3:I0->O            9   0.468   2.150  alu__n00191 (alu__n0019)
> LUT3:I0->O            8   0.468   2.050  alu_Ker707067 (N9028)
> LUT3:I2->O            1   0.468   0.920
> alu__old_result_6<7>53_SW0 (N11655)
> LUT4:I2->O            1   0.468   0.920  alu__old_result_6<7>53
> (CHOICE603)
> LUT4:I3->O            3   0.468   1.320  alu__old_result_6<7>61
> (alu_result<7>)
> LUT3:I1->O            1   0.468   0.000
> alu_Mmux__n0004_inst_mux_f5_0111_G (N11696)
> MUXF5:I1->O           2   0.403   1.150
> alu_Mmux__n0004_inst_mux_f5_0111 (alu_shift_bit)
> LUT4:I1->O            1   0.468   0.920  alu__old_result_6<0>29
> (CHOICE463)
> LUT4:I2->O            3   0.468   1.320  alu__old_result_6<0>61
> (alu_result<0>)
> LUT3:I1->O            1   0.468   0.920  Mmux__n0016_Result24
> (CHOICE447)
> LUT3:I1->O            1   0.468   0.920  Mmux__n0016_Result49_SW0
> (N11635)
> LUT4:I3->O            1   0.468   0.000  Mmux__n0016_Result49
> (N10428)
> FDRE:D                    0.724          zero
> ----------------------------------------
> Total                     24.700ns (7.540ns logic, 17.160ns route)
> (30.5% logic, 69.5% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default OFFSET OUT AFTER for Clock 'clk'
> Offset:              8.320ns (Levels of Logic = 1)
> Source:            register_Mram_dpr_inst_ramx_7 (RAM)
> Destination:       out_port<7> (PAD)
> Source Clock:      clk rising
> 
> Data Path: register_Mram_dpr_inst_ramx_7 to out_port<7>
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> RAM16X1D:WCLK->SPO    9   1.568   2.150
> register_Mram_dpr_inst_ramx_7 (out_port_7_OBUF)
> OBUF:I->O                 4.602          out_port_7_OBUF
> (out_port<7>)
> ----------------------------------------
> Total                      8.320ns (6.170ns logic, 2.150ns route)
> (74.2% logic, 25.8% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default path analysis
> Delay:               10.734ns (Levels of Logic = 3)
> Source:            instruction<10> (PAD)
> Destination:       out_port<7> (PAD)
> 
> Data Path: instruction<10> to out_port<7>
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> IBUF:I->O            10   0.797   2.250  instruction_10_IBUF
> (instruction_10_IBUF)
> RAM16X1D:A2->SPO      9   0.935   2.150
> register_Mram_dpr_inst_ramx_1 (out_port_1_OBUF)
> OBUF:I->O                 4.602          out_port_1_OBUF
> (out_port<1>)
> ----------------------------------------
> Total                     10.734ns (6.334ns logic, 4.400ns route)
> (59.0% logic, 41.0% route)
> 
> PicoBlaze:
> =========================================================================
> *                            Final Report
> *
> =========================================================================
> Final Results
> RTL Top Level Output File Name     : kcpsm3.ngr
> Top Level Output File Name         : kcpsm3
> Output Format                      : NGC
> Optimization Goal                  : Area
> Keep Hierarchy                     : NO
> 
> Design Statistics
> # IOs                              : 58
> 
> Cell Usage :
> # BELS                             : 196
> #      GND                         : 1
> #      INV                         : 3
> #      LUT1                        : 2
> #      LUT2                        : 6
> #      LUT3                        : 71
> #      LUT4                        : 30
> #      MUXCY                       : 39
> #      MUXF5                       : 9
> #      VCC                         : 1
> #      XORCY                       : 34
> # FlipFlops/Latches                : 86
> #      FD                          : 21
> #      FDE                         : 2
> #      FDR                         : 33
> #      FDRE                        : 8
> #      FDRSE                       : 20
> #      FDS                         : 2
> # RAMS                             : 18
> #      RAM16X1D                    : 8
> #      RAM32X1S                    : 10
> # Clock Buffers                    : 1
> #      BUFGP                       : 1
> # IO Buffers                       : 57
> #      IBUF                        : 28
> #      OBUF                        : 29
> # Others                           : 8
> #      RAM64X1S                    : 8
> =========================================================================
> 
> Device utilization summary:
> ---------------------------
> 
> Selected Device : 2s100etq144-6
> 
> Number of Slices:                     129  out of   1200    10%
> Number of Slice Flip Flops:            86  out of   2400     3%
> Number of 4 input LUTs:               169  out of   2400     7%
> Number of bonded IOBs:                 57  out of    102    55%
> Number of GCLKs:                        1  out of      4    25%
> 
> =========================================================================
> TIMING REPORT
> 
> NOTE: THESE TIMING NUMBERS ARE ONLY A SYNTHESIS ESTIMATE.
> FOR ACCURATE TIMING INFORMATION PLEASE REFER TO THE TRACE REPORT
> GENERATED AFTER PLACE-and-ROUTE.
> 
> Clock Information:
> ------------------
> -----------------------------------+------------------------+-------+
> Clock Signal                       | Clock buffer(FF name)  | Load  |
> -----------------------------------+------------------------+-------+
> clk                                | BUFGP                  | 104   |
> -----------------------------------+------------------------+-------+
> 
> Timing Summary:
> ---------------
> Speed Grade: -6
> 
> Minimum period: 9.767ns (Maximum Frequency: 102.386MHz)
> Minimum input arrival time before clock: 10.997ns
> Maximum output required time after clock: 8.878ns
> Maximum combinational path delay: 11.292ns
> 
> Timing Detail:
> --------------
> All values displayed in nanoseconds (ns)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default period analysis for Clock 'clk'
> Delay:               9.767ns (Levels of Logic = 13)
> Source:            carry_flag_flop (FF)
> Destination:       register_bit9 (FF)
> Source Clock:      clk rising
> Destination Clock: clk rising
> 
> Data Path: carry_flag_flop to register_bit9
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> FDRE:C->Q             4   0.992   1.520  carry_flag_flop
> (carry_flag_flop)
> LUT4:I0->O            2   0.468   1.150  condition_met_lut
> (condition_met)
> LUT3:I1->O           11   0.468   2.350  normal_count_lut
> (normal_count)
> LUT3:I0->O            1   0.468   0.000  value_select_mux0
> (pc_value<0>)
> MUXCY:S->O            1   0.515   0.000  pc_value_muxcy0
> (pc_value_carry<0>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy1
> (pc_value_carry<1>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy2
> (pc_value_carry<2>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy3
> (pc_value_carry<3>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy4
> (pc_value_carry<4>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy5
> (pc_value_carry<5>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy6
> (pc_value_carry<6>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy7
> (pc_value_carry<7>)
> MUXCY:CI->O           0   0.058   0.000  pc_value_muxcy8
> (pc_value_carry<8>)
> XORCY:CI->O           2   0.648   0.000  pc_value_xor9
> (inc_pc_value<9>)
> FDRSE:D                   0.724          register_bit9
> ----------------------------------------
> Total                      9.767ns (4.747ns logic, 5.020ns route)
> (48.6% logic, 51.4% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default OFFSET IN BEFORE for Clock 'clk'
> Offset:              10.997ns (Levels of Logic = 14)
> Source:            instruction<14> (PAD)
> Destination:       register_bit9 (FF)
> Destination Clock: clk rising
> 
> Data Path: instruction<14> to register_bit9
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> IBUF:I->O            27   0.797   3.175  instruction_14_IBUF
> (instruction_14_IBUF)
> LUT4:I0->O            1   0.468   0.920  move_group_lut
> (move_group)
> LUT3:I2->O           11   0.468   2.350  normal_count_lut
> (normal_count)
> LUT3:I0->O            1   0.468   0.000  value_select_mux0
> (pc_value<0>)
> MUXCY:S->O            1   0.515   0.000  pc_value_muxcy0
> (pc_value_carry<0>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy1
> (pc_value_carry<1>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy2
> (pc_value_carry<2>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy3
> (pc_value_carry<3>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy4
> (pc_value_carry<4>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy5
> (pc_value_carry<5>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy6
> (pc_value_carry<6>)
> MUXCY:CI->O           1   0.058   0.000  pc_value_muxcy7
> (pc_value_carry<7>)
> MUXCY:CI->O           0   0.058   0.000  pc_value_muxcy8
> (pc_value_carry<8>)
> XORCY:CI->O           2   0.648   0.000  pc_value_xor9
> (inc_pc_value<9>)
> FDRSE:D                   0.724          register_bit9
> ----------------------------------------
> Total                     10.997ns (4.552ns logic, 6.445ns route)
> (41.4% logic, 58.6% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default OFFSET OUT AFTER for Clock 'clk'
> Offset:              8.878ns (Levels of Logic = 2)
> Source:            register_bit70 (RAM)
> Destination:       port_id<7> (PAD)
> Source Clock:      clk rising
> 
> Data Path: register_bit70 to port_id<7>
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> RAM16X1D:WCLK->DPO    1   1.568   0.920  register_bit70 (sy<7>)
> LUT3:I2->O            3   0.468   1.320  operand_select_mux7
> (port_id_7_OBUF)
> OBUF:I->O                 4.602          port_id_7_OBUF
> (port_id<7>)
> ----------------------------------------
> Total                      8.878ns (6.638ns logic, 2.240ns route)
> (74.8% logic, 25.2% route)
> 
> -------------------------------------------------------------------------
> Timing constraint: Default path analysis
> Delay:               11.292ns (Levels of Logic = 4)
> Source:            instruction<4> (PAD)
> Destination:       port_id<7> (PAD)
> 
> Data Path: instruction<4> to port_id<7>
> Gate     Net
> Cell:in->out      fanout   Delay   Delay  Logical Name (Net Name)
> ----------------------------------------  ------------
> IBUF:I->O            10   0.797   2.250  instruction_4_IBUF
> (instruction_4_IBUF)
> RAM16X1D:DPRA0->DPO    1   0.935   0.920  register_bit00 (sy<0>)
> LUT3:I2->O            3   0.468   1.320  operand_select_mux0
> (port_id_0_OBUF)
> OBUF:I->O                 4.602          port_id_0_OBUF
> (port_id<0>)
> ----------------------------------------
> Total                     11.292ns (6.802ns logic, 4.490ns route)
> (60.2% logic, 39.8% route)

-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX

Article: 75058
Subject: Re: Assembler for PicoBlaze in Perl
From: John Williams <jwilliams@itee.uq.edu.au>
Date: Tue, 26 Oct 2004 08:40:01 +1000
Links: << >>  << T >>  << A >>
Hi Jim,

Jim Granville wrote:
> John Williams wrote:
> 
>> Mike Peattie wrote:
>>
>>> I have written an assembler for PicoBlaze (KCPSM3) in Perl. It's working 
>>
>>
>> I could be interested in this - but mostly from the perspective of 
>> using it as a base to port the assembler into C.
>>
>> I have some done some experiments with arrays of picoblazes connected 
>> to a central microblaze (running uClinux of course), with the 
>> microblaze dynamically reprogramming and communicating with the 
>> Picoblazes, scheduling tasks on them and things like this.  Currently 
>> I have to assemble the picoblaze code on a desktop machine, and just 
>> download the .bin files from the microblaze to the pico-nodes.
>>
>> I could run perl on the microblaze then use your scripts on top of 
>> that, but it would be pretty heavy-weight - a direct C implementation 
>> would be much smaller.  I've never written an assembler, maybe it's 
>> time to try!
> 
> Can you elaborate on what the Microblaze does, with these picoblaze 
> source(s) ?

The picoblaze program code, input and output data streams, interrupt and 
reset signals, are all mapped as virtual files within the uClinux file 
system.  So, on the Microblaze uClinux system, you can just cat a 
picoblaze hex (or bin) file into /proc/picoblaze0/code, and that 
reprograms the picoblaze.

It's pretty neat, I wrote a paper about it for the Field Programmable 
Technology (FPT) conference we are hosting here in December (plug plug!)

http://icfpt04.itee.uq.edu.au

If you're interested in the gory details let me know and I'll send you a 
preprint.

> Does it create the sources, or modify 'master copies', prior to assembly ?

Currently I just create bin/hex files of the picoblaze object code on 
the host, then get them down to microblaze somehow (ftp, http, telnet, 
whatever).  Then, once they are on the microblaze, the program code is 
just CAT'd into the virtual files like I described above.

>  How much resource does the Microblaze work with, uClinix
> suggests MBytes of FLASH/DRAM ?

Recommend bare minimum is 2MB but preferably 4MB or more external RAM. 
Flash is useful for holding the kernel and filesystem image, and also 
for persistent storage if you need it (all the standard linux file 
systems are available, jffs2, fat, ext2/3, whatever you prefer).

> Assemblers, expecially ones minus linkers, can have quite small 
> footprints, and there are many examples out there.
> 
> A good one to start with ( much closer than pearl scripts, but they 
> would be tapped for the opcode info ), would be AS, see
> http://john.ccac.rwth-aachen.de:8000/as/download.html

Thanks for the tip.  It's a fun architecture - I'd love to get the 
picoblaze assembler hosted on microblaze.  In fact, integrating the 
assembler into the device driver that handles the interface, you could 
pipe picoblaze assembly files directly into the virtual file, and it 
would automatically assemble it, and reprogram the picoblaze - too much 
fun! :)

John

Article: 75059
Subject: Re: Low-power FPGAs?
From: rickman <spamgoeshere4@yahoo.com>
Date: Mon, 25 Oct 2004 18:48:16 -0400
Links: << >>  << T >>  << A >>
John wrote:
> 
> I am working on an instrument that currently uses a 300 MHz TI dual-
> issue DSP + A/Ds + a micro. Under "normal" use, I can get a week out of
> the D-cell batteries the device uses.
> 
> At the moment, I am considering replacing the DSP and other glue with an
> FPGA, but I don't see many low-power options.
> 
> Any suggestions?  Any low-power FPGA experiences to share?
> 
> I asked an Altera FAE and he very rudely answered "Low-power Altera
> FPGAs aren't on the road map"...yeah and I bet low-power CPLDs (ala
> MaxII) weren't on the road map until CoolRunner started hurting sales...
> 
> I'd like to stick with brand A or X since they offer soft core
> processors.

The Altera guy told you right.  The FPGA market is driven by density
which requires the latest processing geometries, meaning the smallest. 
The last generation or two have started to ramp up the quiescent power
to a point where there is little chance of having a "low power" FPGA any
time in the future.  Any new low power devices will only be "low" in
relative terms.  

If you want to consider an FPGA, look to the older families.  The Altera
ACEX parts are much lower power than the newer stuff, at least when you
are not clocking them.  You will have to figure out how large your
design will be to determine the dynamic power.  

If there are down times for the FPGA processing, would it be possible to
power the FPGA off while keeping the user interface running?  The FPGA
can be reconfigured very quickly so that the user would not be able to
notice it.  That is something I am doing on our boards, power to the DSP
and power hog FPGA are dropped to put the board in a low power mode
where just a power controller MCU and an ACEX FPGA are running.  This
puts power down to < 10 mW and yet the board can respond to external
command to power back up within a few 10's of mS.  

-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX

Article: 75060
Subject: Re: Assembler for PicoBlaze in Perl
From: John Williams <jwilliams@itee.uq.edu.au>
Date: Tue, 26 Oct 2004 08:48:31 +1000
Links: << >>  << T >>  << A >>
Hi Symon,

Symon wrote:
> It's a piece of cake with Perl. I used a text file to hold the text of all
> the Perl regular expression searches for the opcodes along with bits of Perl
> source code text to convert that particular opcode into machine code. In the
> code proper I just read in the text file to an array, and then use the
> 'eval' instruction to execute the elements of the array. (A big advantage of
> an interpreted language!) 

Sounds like a good way to go - another feature of perl and similar 
languages that I like is associative arrays - having arbitrary strings 
as indices into arrays can sometimes make the world of difference.

Cheers,

John

Article: 75061
Subject: Re: FPGA board checking
From: rickman <spamgoeshere4@yahoo.com>
Date: Mon, 25 Oct 2004 18:53:56 -0400
Links: << >>  << T >>  << A >>
smu wrote:
> 
> Hello,
> 
> I am developing a FPGAs (BGA case) board.
> 
> Is it possible to check the connections between two pins on two
> different FPGAs with the Boundary scan?
> 
> If so, exists there a tool that is able to make this kind of test using
> the board schematic?

I recall that Memec was selling a low cost boundary scan tester just for
this sort of thing.  I don't remember what it was called, or what it
cost, but I do remember that "low cost" was getting more expensive.  I
guess they found that they had to raise prices to make ends meet.  This
tends to be a low volume business area and so they have to charge higher
prices.  Too bad there are no open source tools for this.  But I have
not even found much support from the chip makers in this area.  They
build boundary scan into their chips and leave the rest to you!  The
best you can hope for is a BSDL file.  

-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX

Article: 75062
Subject: Re: Low-power FPGAs?
From: Austin Lesea <austin@xilinx.com>
Date: Mon, 25 Oct 2004 15:55:36 -0700
Links: << >>  << T >>  << A >>
Jim,

We can keep the memory contents of the 4VLX25 all the way down to where 
the configuration logic recognizes a power down condition (runs around 
~0.6 V).

Now, to be sure, we have not characterized everything down that far 
(0.6V), but we did do all characterization for functionality tests from 
1.0V to 1.4V, so we know for sure we are safe inside this region (memory 
contents stay).  If someone had a killer app that needed beaucoup parts, 
we would consider binning for lower numbers.

Some people are considering operating at the 1.2V nominal, and then 
'sleeping' at 1.0V.  The sleeping is just all clocks stopped (disabled).

Static current is about half as much compared to 1.2V.  So let us say 
you were at 100 mA at 1.2V, that takes you down to maybe ~55mA at 1.0V.

60 mA for 10 hours is 600 mA-Hr, which is not so bad from a power point 
of view in a battery operated device.  With the 1V, that is 600mW-Hr.

AA NIMH batteries are ~ 2000 mA-Hr (1.2V) which is pretty close to 2000 
mW-Hr.  So with 6 of these, and a good 90% efficient switching power 
supply, you could have ~10,000 mW-Hr of power.

Given that you have to do something some of the time, you then have to 
go to full 1.2V ON, and then do something useful.  That will then make 
the power jump up to something a bit larger (depending on what you are 
doing).  Let us suppose you allow yourself 1 ampere in the work hard 
mode, or 1200 mW per hour when doing something.

Then you can figure out how much time you can be doing something, vs 
sleeping.

If it is a handheld SDR radio, there is also a 5W transmitter (typical), 
so you have another 10,000 mW per hour of talk time (assuming a 
reasonably efficient transmitter).

There is also Vccaux (Iccaux) at 2.5V, and Vcco at ??V to consider as well.

Austin

Jim Granville wrote:
> John wrote:
> 
>> I am working on an instrument that currently uses a 300 MHz TI dual-
>> issue DSP + A/Ds + a micro. Under "normal" use, I can get a week out 
>> of the D-cell batteries the device uses.
>>
>> At the moment, I am considering replacing the DSP and other glue with 
>> an FPGA, but I don't see many low-power options.
>>
>> Any suggestions?  Any low-power FPGA experiences to share?
>>
>> I asked an Altera FAE and he very rudely answered "Low-power Altera 
>> FPGAs aren't on the road map"...yeah and I bet low-power CPLDs (ala 
>> MaxII) weren't on the road map until CoolRunner started hurting sales...
>>
>> I'd like to stick with brand A or X since they offer soft core 
>> processors.
> 
> 
>  You should clarify how much usage, or up time, each block is expecting.
> 
>  Low power is not a direction FPGAs are heading, see the values in this
> thread of 20 or 40mA typical, 2.5x multiplier for 85'C Tj
> (thermal run-away anyone :)
> 
>  Wider supply specs are common in uC, but we may start to see this in
> FPGA data : they must have some lower RAM_Vcc, which is the Min to keep 
> CONFIG, but at very low/stopped clock speeds, and then the
> higher operate Vcc.
> 
> Austin: Any numbers on a Config_Keep Vcc (no Clock), and the
> Static Icc at that operate point ?
> 
>  This is the same as RUN/IDLE in uC designs.
> For longest battery life, expect to use a good Low Power uC for operator 
> interface, system management, and run the higher power stuff only when 
> you have to.
> 
> -jg
> 

Article: 75063
Subject: Re: Altera NIOS2 flash prgrm port
From: nknight@altera.com (Nathan Knight)
Date: 25 Oct 2004 16:24:45 -0700
Links: << >>  << T >>  << A >>
Hi Ron,

First, when you run mk_target_board, with the --epcs parameter, an
ASMI component is automatically added to the resulting system.  This
is the component that should be used in the resulting flash programmer
design.  If you try to replace it with an EPCS controller component,
as it sounds like you have, it may not work.  Stick with the ASMI
component.

Second, when you create your actual design in SOPC Builder and pick
your target board up at the top, the EPCS controller in that design
will be hard-coded to have the same refdes as the ASMI in the flash
programmer design.  The refdes is how the tools keep track of flash
devices (both CFI and EPCS) between the target board and the actual
design.  You may give them different base addresses in the two
designs, or even name them differently, so the refdes is the one thing
that always has to be common.  And since a system can have only one
EPCS (or ASMI), it forces you to use the same refdes for the one in
your real system the one in the target board.

Re-generate and recompile your target board this way, then do the same
with your actual design after selecting the new target board up at the
top.  Flash programming should work after that.

Regards,

-Nathan Knight
Altera Corp.

Article: 75064
Subject: Re: Async reset
From: "Jason Berringer" <jberringer.at@sympatico.dot.ca>
Date: Mon, 25 Oct 2004 19:55:09 -0400
Links: << >>  << T >>  << A >>
Thanks to all who have posted here, I have read all of the helpful
information pointed out on the Xilinx site. Very interesting, and has made
me rethink my coding style significantly with regards to the reset signal.

Jason



Article: 75065
Subject: Bus interfaces & FSMs
From: "Jason Berringer" <jberringer.at@sympatico.dot.ca>
Date: Mon, 25 Oct 2004 20:01:48 -0400
Links: << >>  << T >>  << A >>
A question to all who have written a bus interface. Is a finite state
machine the best way to implement a bus interface (e.g. ISA, PCI,
uController) or does it matter. I have examined a few and almost everyone is
a FSM. I haven't written any FSMs to date and was curious if there was a
benefit to using an FSM. Does it reduce the logic needed in the design, or
does it allow for a faster design? Any comments are appreciated.

I have done a few bus interfaces myself, but due to my lack of experience
with a FSM I have not their use in the applications.

Jason



Article: 75066
Subject: Re: Low-power FPGAs?
From: Jim Granville <no.spam@designtools.co.nz>
Date: Tue, 26 Oct 2004 13:06:09 +1300
Links: << >>  << T >>  << A >>
Austin Lesea wrote:
> Jim,
> 
> We can keep the memory contents of the 4VLX25 all the way down to where 
> the configuration logic recognizes a power down condition (runs around 
> ~0.6 V).
> 
> Now, to be sure, we have not characterized everything down that far 
> (0.6V), but we did do all characterization for functionality tests from 
> 1.0V to 1.4V, so we know for sure we are safe inside this region (memory 
> contents stay).  If someone had a killer app that needed beaucoup parts, 
> we would consider binning for lower numbers.
> 
> Some people are considering operating at the 1.2V nominal, and then 
> 'sleeping' at 1.0V.  The sleeping is just all clocks stopped (disabled).
> 
> Static current is about half as much compared to 1.2V.  So let us say 
> you were at 100 mA at 1.2V, that takes you down to maybe ~55mA at 1.0V.

Sounds like that could be well worth the effort.
( and maybe even 0.75V ? )

<snip>
> 
> There is also Vccaux (Iccaux) at 2.5V, and Vcco at ??V to consider as well.

  Only some devices have Vccaux - can that be removed, or does it need 
to be reduced ?
  Vcco I presume can be removed on selected banks, if you realled needed 
to, but the Static Icc on IO cells should be very low, as they are
relatively few - correct ?

-jg


Article: 75067
Subject: Re: Assembler for PicoBlaze in Perl
From: Jim Granville <no.spam@designtools.co.nz>
Date: Tue, 26 Oct 2004 13:21:34 +1300
Links: << >>  << T >>  << A >>
John Williams wrote:

> Hi Jim,
> 
> Jim Granville wrote:
>> Can you elaborate on what the Microblaze does, with these picoblaze 
>> source(s) ?
> 
> 
> The picoblaze program code, input and output data streams, interrupt and 
> reset signals, are all mapped as virtual files within the uClinux file 
> system.  So, on the Microblaze uClinux system, you can just cat a 
> picoblaze hex (or bin) file into /proc/picoblaze0/code, and that 
> reprograms the picoblaze.
> 
> It's pretty neat, I wrote a paper about it for the Field Programmable 
> Technology (FPT) conference we are hosting here in December (plug plug!)
> 
> http://icfpt04.itee.uq.edu.au
> 
> If you're interested in the gory details let me know and I'll send you a 
> preprint.
> 
>> Does it create the sources, or modify 'master copies', prior to 
>> assembly ?
> 
> 
> Currently I just create bin/hex files of the picoblaze object code on 
> the host, then get them down to microblaze somehow (ftp, http, telnet, 
> whatever).  Then, once they are on the microblaze, the program code is 
> just CAT'd into the virtual files like I described above.
> 
>>  How much resource does the Microblaze work with, uClinix
>> suggests MBytes of FLASH/DRAM ?
> 
> 
> Recommend bare minimum is 2MB but preferably 4MB or more external RAM. 
> Flash is useful for holding the kernel and filesystem image, and also 
> for persistent storage if you need it (all the standard linux file 
> systems are available, jffs2, fat, ext2/3, whatever you prefer).
> 
>> Assemblers, expecially ones minus linkers, can have quite small 
>> footprints, and there are many examples out there.
>>
>> A good one to start with ( much closer than pearl scripts, but they 
>> would be tapped for the opcode info ), would be AS, see
>> http://john.ccac.rwth-aachen.de:8000/as/download.html
> 
> 
> Thanks for the tip.  It's a fun architecture - I'd love to get the 
> picoblaze assembler hosted on microblaze.  In fact, integrating the 
> assembler into the device driver that handles the interface, you could 
> pipe picoblaze assembly files directly into the virtual file, and it 
> would automatically assemble it, and reprogram the picoblaze - too much 
> fun! :)

  Thanks for the overview -  Interesting ideas - I can see version 
control benefits, and a little core-tolerance in handling ASM files over 
OBJ(Bin/hex) files.
  Plus ASM files allows more scope to customise prior to assemble
as well as being much easier to trouble shoot!

  Smallest Assemblers were ~20KB, and current HLL ones are ~ 45KB in 
EXEs, so that's not too large an overhead in a uClinix space.

  You probably should look at doing both PicoBlaze and MicroBlaze ASM 
versions :) - IIRC with the AS assembler, you can choose which variants 
to build.

  With some care in neumonics, you could target a PB source code, to
either PB or MB ?

  -jg



Article: 75068
Subject: Altium board again
From: starbugs@gmx.net (Kevin Becker)
Date: 25 Oct 2004 18:43:30 -0700
Links: << >>  << T >>  << A >>
Hi! Having followed the thread from 12-Oct-04, I'm also very
interested in the Altium board. A still open question is: can that
board be used with the Xilinx tools (ISE, EDK)? I guess the main issue
would be: can I use iMPACT to configure the board?

Today, Altium have posted a new press release:
http://www.altium.nl/corp/media/pdfs/20041025_altium_mr_jtag_cable.pdf
it states that the Altium software can now be used with any board
(which is the inverse of what I want to know). The press release is
mainly about a "universal JTAG interface" which can be seen here:
http://www.altium.nl/cgi-bin/viewimage.asp?src=/corp/media/pdfs/20041025_altium_mr_jtag_cable_web.jpg
From what I understand, it seems to be a cable with JTAG on one end
and a parallel connector on the other end, which can emulate a Xilinx
cable as well as an Altera cable. I'm not sure though.

Some conclusions (tell me what you think): Altium offers that cable
for use with foreign boards and their software. Such a cable is not
needed with the Altium board. I assume the Altium board already has
that same circuit on it, since there is just one board for Spartan and
Cyclone. The cable has a switch. What is it for? To switch between
Xilinx and Altera behavior maybe? More important: how does the
parallel end of the cable behave? Is it a propriatary interface or
does it in fact appear like any regular X or A cable - and does the
board do the same?

Quoting from Altium's webpage:
"The LiveDesign Evaluation Board can be specified with either a
high-capacity Altera Cyclone (EP1C12F324C8) or Xilinx Spartan-3
(XC3S400-4FG456C) FPGA device. This versatile development platform not
only interacts with Altium's software but can be used directly with
FPGA vendor tools as a standard development board with no requirement
for additional hardware or accessories."

That means to me that I can use it with ISE, right? But if it is that
simple, why does Altium proudly anounce that thanks to the new cable
any board can be used with their software? If their software handles
standard interfaces, people could be using it with any board since
long, using a standard cable.

Does anyone know more than me? :)
Dennis

Article: 75069
Subject: Re: Async reset
From: "Subroto Datta" <sdatta@altera.com>
Date: Tue, 26 Oct 2004 02:06:53 GMT
Links: << >>  << T >>  << A >>

"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message 
news:cl8qle$uk8$1@gnus01.u.washington.edu...
>
 I have seen warning messages from
> Quartus for FF's that don't have a reset or preset input that the
> initial state is not guaranteed.
>
>> There are some articles regarding sync vs async at
>> http://www.sunburst-design.com/papers/
>
> -- glen
>
>
Quartus synthesis will take advantage of registers which do not specify a 
power-up condition in don't care optimizations.  Note that this can often 
result in registers being synthesized away because they are stuck-at in one 
power-up state, so it is important for designers to read the messages as 
warnings, not info. The assignment editor allows one to protect a register 
from this optimization, or specifically give a power-up value to a register 
or set of registers.

Hope this helps.

- Subroto Datta
Altera Corp.



Article: 75070
Subject: Re: Altium board again
From: Lukasz Salwinski <lukasz@ucla.edu>
Date: Mon, 25 Oct 2004 19:29:25 -0700
Links: << >>  << T >>  << A >>
hmm.. maybe someone adventurous enough is just willing to buy
and test the contraption ? ;o)
or what about sharing the cost ? if i'm right it's $99 +S/H.
I'd be willing to participate if 5 of more people participate.
the tester could keep the board, I guess ;o)

just a thought...
lukasz



Kevin Becker wrote:
> Hi! Having followed the thread from 12-Oct-04, I'm also very
> interested in the Altium board. A still open question is: can that
> board be used with the Xilinx tools (ISE, EDK)? I guess the main issue
> would be: can I use iMPACT to configure the board?
> 
> Today, Altium have posted a new press release:
> http://www.altium.nl/corp/media/pdfs/20041025_altium_mr_jtag_cable.pdf
> it states that the Altium software can now be used with any board
> (which is the inverse of what I want to know). The press release is
> mainly about a "universal JTAG interface" which can be seen here:
> http://www.altium.nl/cgi-bin/viewimage.asp?src=/corp/media/pdfs/20041025_altium_mr_jtag_cable_web.jpg
> From what I understand, it seems to be a cable with JTAG on one end
> and a parallel connector on the other end, which can emulate a Xilinx
> cable as well as an Altera cable. I'm not sure though.
> 
> Some conclusions (tell me what you think): Altium offers that cable
> for use with foreign boards and their software. Such a cable is not
> needed with the Altium board. I assume the Altium board already has
> that same circuit on it, since there is just one board for Spartan and
> Cyclone. The cable has a switch. What is it for? To switch between
> Xilinx and Altera behavior maybe? More important: how does the
> parallel end of the cable behave? Is it a propriatary interface or
> does it in fact appear like any regular X or A cable - and does the
> board do the same?
> 
> Quoting from Altium's webpage:
> "The LiveDesign Evaluation Board can be specified with either a
> high-capacity Altera Cyclone (EP1C12F324C8) or Xilinx Spartan-3
> (XC3S400-4FG456C) FPGA device. This versatile development platform not
> only interacts with Altium's software but can be used directly with
> FPGA vendor tools as a standard development board with no requirement
> for additional hardware or accessories."
> 
> That means to me that I can use it with ISE, right? But if it is that
> simple, why does Altium proudly anounce that thanks to the new cable
> any board can be used with their software? If their software handles
> standard interfaces, people could be using it with any board since
> long, using a standard cable.
> 
> Does anyone know more than me? :)
> Dennis

Article: 75071
Subject: Re: Hello Xilinx folks -- please answer
From: Tommy Thorn <TommyAtNumba-Tu.Com--not@yahoo.com>
Date: Tue, 26 Oct 2004 02:56:01 GMT
Links: << >>  << T >>  << A >>
austin wrote:
> Pete,
> 
> Got it.
> 
> Will take it from here.
> 
> Thanks.
....
>> The ML401 is a cool looking Virtex 4 development board made
>> and sold by Xilinx. I should have one on Monday or Tuesday.

While we're waiting for the sources, could someone fill me in on the 
details on the "Evaluation versions of Xilinx tools" mentioned at the 
button of 
http://www.xilinx.com/xlnx/xebiz/designResources/ip_product_details.jsp?sSecondaryNavPick=Design+Tools&iLanguageID=1&category=&key=HW-V4-ML401-USA&sGlobalNavPick=PRODUCTS&BV_SessionID=@@@@1661231197.1098759200@@@@&BV_EngineID=cccfadcmlffdfmfcflgcefldfhndfnf.0
Ie., what can I do with that and how does it differ from the 
non-evaluation tools (and from the free WebPACK)?

The ML401 is a very impressive kit - IMO it sets a new bar for 
development kits.

Thanks,
Tommy

Article: 75072
Subject: PCBs for modern FPGAs.
From: "Symon" <symon_brewer@hotmail.com>
Date: Mon, 25 Oct 2004 20:28:21 -0700
Links: << >>  << T >>  << A >>
All,

After reading and contributing to a few interesting threads recently about
PCBs for FPGA designs, I thought I'd post about the technology I've been
using for the past 3-4 years. My job involves getting a lot of high density
circuitry into a small space, and so awhile back I decided to use microvias
(laser drilled vias) to pack more stuff onto my boards. The surprising thing
was that the boards worked out cheaper for my application than if I hadn't
used this method.

I'll explain why, but you might first want to download the picture at

http://www.fpga-faq.org/caf_pics/layer_1_2.gif

My stackup is ten layers, like this:-

 1) signal

 2) signal

 3) ground

 4) signal

 5) signal

 6) ground

 7) signal

 8) signal

 9) ground

10) signal



There are laser drilled microvias between layers 1 and 2. The only other
vias are through vias, i.e. from layer 1 through all layers to layer 10.
This means there's still only one mechanical drilling process during
manufacture. What you can see in the picture you downloaded is how to route
out all but four of the signal pins on banks 2 and 3 of a V2PRO in a FG676
package without using any through vias, just microvias between the two
layers, blue and light green. The track and gap distance is 4mils or 100um.
With this technology you can go 8 rows deep on a 1mm pitch BGA without using
through vias.

In no particular order, here are the advantages.

It's no problem at all to put microvias in a pad. The microvia is just a
2mil deep pit that fills with solder, unlike a through via which must be
plugged to stop the solder wicking away.

You can use fewer signal layers because the signal paths out from the FPGA
aren't baulked by through vias.

You can use fewer (or no) power layers because it's possible to fit a lot of
bypass caps on the back side of the board from the FPGA, with through vias
direct from these to the FPGA power balls. (In the picture you can see the
ground (green) balls and Vcco (yellow) balls. By the time this board went
out, there were two through vias for each power ball.) With a conventional
board, the through vias don't leave space on the backside to fit (m)any
caps.

You get to have a decent ground plane(s) for your BGA devices, not one
turned into Swiss cheese by a myriad through vias. Bye-bye ground bounce.

You gain board area all over the back side of the board simply because
there's less space used by the vias from the topside.

Compared to a through via, the SI of a microvia is much better. After all,
it's only 1/30th the length of a through via.

The components can be closer together, reducing SI issues.



I always follow some rules when routing FPGAs this way. Like these:-

Draw lines from the four corner balls to the very centre of the part. Don't
let any layer 1 or 2 traces cross these lines, it always seems to screw
things up.

Be prepared to put much more effort into the PCB. This doesn't work well
unless you're prepared to sit down with the layout person and swap pins on
the FPGA as you route things up to align with other components on the board.
For diff pairs be prepared to swap Ps and Ns. You can fix up the inversion
inside the FPGA.



The upshot is, for a lot of my applications this saves me 4-6 layers over a
conventional board. (For others, it simply makes the job possible!) This
more than compensates for the cost of using the laser vias. Also, I don't
want to hear about warpage! Although the stack looks asymetrical wrt ground
planes, the stack up *is* symmetrical wrt cores and prepreg layers. I've had
no problems whatsoever with warpage on 1.6 mm boards of up to 8x6 inches.

I'm by no means saying this is the best solution for every board, but it
worked really well for me. It's certainly worth asking the PCB fab house
about the cost, yield etc.



Best, Syms.



p.s. I'm glad I'll have microvias when I come to route up this bugger.:-

http://direct.xilinx.com/bvdocs/userguides/ug075.pdf page 239 of 262 , FX60,
FF672 package! The pads are all over the place.



Article: 75073
Subject: Re: unstable fpga design
From: billh40@aol.com (Bill Hanna)
Date: 25 Oct 2004 21:47:41 -0700
Links: << >>  << T >>  << A >>
moti@terasync.net (Moti Cohen) wrote in message news:<c04bfe33.0410250326.74fff416@posting.google.com>...
> Thomas Rudloff <thomasREMOVE_rudloffREMOVE@gmx.net> wrote in message news:<417BA070.3030805@gmx.net>...
> > Moti Cohen wrote:
> > 
> > >>> 
> > >>>
> > >>>      
> > >>>
> > >>Do not know if this was addressed before. Do you use a four layer PCB 
> > >>carefully decoupled with capacitors?
> > >>Is your ground bounce ok? Do you have contentions on your board? Did you 
> > >>try to put the outputs into slow
> > >>smooth switching mode?
> > >>    
> > >>
> > >
> > >
> > >- I'm using a 10 layers PCB and I believe that I decoupled the voltage
> > >supply inputs as needed ( three levels of capcitors values).
> > >
> > >- I dont have any contentions on the board (I tested it on several
> > >boards) - and the current consumption is o.k. + the chip does not warm
> > >up + the same pin assignment file is used in cases when the chip does
> > >works.
> > >
> > >- I guess that by "smooth switching mode" you mean "Slow slew rate" so
> > >at the begining I did tried to set the outputs to slow slew rate but
> > >without any success.
> > >
> > >I didnt checked for ground bounces - but my design does not contains
> > >many outputs that change on the same time and along with using slow
> > >slew rate outputs I hope that I should not worry about ground/VCC
> > >bouncing problems.
> > >
> > >
> > >  
> > >
> > Looks like a very proper design. Another idea: Do you have floating inputs?
> > 
> > >>It looks to me like you switch off a bank by switching and the result 
> > >>depends on what is fitted into this bank.
> > >>    
> > >>
> > >
> > >I'm not sure what you meant by "switching off a bank" I will be glad
> > >if you explain it..
> > >
> > >  
> > >
> > Chips have multiple VCC/GND inputs to parts of the chip. If you overload 
> > a section it is likely
> > that because of the supply break down caused by this in the section flip 
> > flops might flip.
> > Texas Instruments has a very good app note: scba004c.pdf
> > 
> > Another thing is tiying the design. I am not familia with the latest 
> > software and just figuring
> > out some things either. But on Foundation there was a tie option to tie 
> > unused inputs to
> > defined logic levels. I know from the past that you can test designs 
> > without tie to save time
> > but they were not that reliable like tied design.
> 
> in the Xilinx's spartan IIE its possible to associate an internal
> pull-up/pull-down resistor to each of the logic inputs, hence tying
> them to either vcc or gnd in case that they are floating.
> 
> But still I would like to thank you for the reference to the TI
> article, I downloaded it and I attend to read it soon.
> 
> Thanks again..
> Ragards, Moti.

     I have experienced a similar problem with the XC2V6000. To get
repeatable
performance I had to resort to 2-phase clocking for local clocks.  I
used Global clock buffers every place that I could. I used one common
master clock with a Global clock buffer.   I had to use area_group
placements for modular portions of the logic to ensure close placement
for minimum routing delays. I staggered the delay of the 32 BIT output
bus signals to minimize switching noise.  I added maximum skew
constraints on local clocks to 2 nsec. I still get
a problem with a few signals each time that I re-compile and re-route
any change.

Bill

Article: 75074
Subject: Re: Altium board again
From: rickman <spamgoeshere4@yahoo.com>
Date: Tue, 26 Oct 2004 01:45:17 -0400
Links: << >>  << T >>  << A >>
Kevin Becker wrote:
> 
> Hi! Having followed the thread from 12-Oct-04, I'm also very
> interested in the Altium board. A still open question is: can that
> board be used with the Xilinx tools (ISE, EDK)? I guess the main issue
> would be: can I use iMPACT to configure the board?
> 
> Today, Altium have posted a new press release:
> http://www.altium.nl/corp/media/pdfs/20041025_altium_mr_jtag_cable.pdf
> it states that the Altium software can now be used with any board
> (which is the inverse of what I want to know). The press release is
> mainly about a "universal JTAG interface" which can be seen here:
> http://www.altium.nl/cgi-bin/viewimage.asp?src=/corp/media/pdfs/20041025_altium_mr_jtag_cable_web.jpg
> From what I understand, it seems to be a cable with JTAG on one end
> and a parallel connector on the other end, which can emulate a Xilinx
> cable as well as an Altera cable. I'm not sure though.

I thought I had posted in that thread that I found out that this was
indeed true.  Seems the Xilinx and Altera boards use the same cable.  I
got this from a Altium rep.  I have been assured that these boards will
work with the FPGA vendor's tools.  In fact, they say the vendor's tools
are required because you can't do place and route with the Altium
tools.  


> Some conclusions (tell me what you think): Altium offers that cable
> for use with foreign boards and their software. Such a cable is not
> needed with the Altium board. I assume the Altium board already has
> that same circuit on it, since there is just one board for Spartan and
> Cyclone. The cable has a switch. What is it for? To switch between
> Xilinx and Altera behavior maybe? More important: how does the
> parallel end of the cable behave? Is it a propriatary interface or
> does it in fact appear like any regular X or A cable - and does the
> board do the same?

I'm not sure what you are getting at.  The pinout of the board end of
the cable is the same for both boards.  So both boards will match up
with the cable.  The JTAG circuitry is just buffers and they are on the
board. 


> Quoting from Altium's webpage:
> "The LiveDesign Evaluation Board can be specified with either a
> high-capacity Altera Cyclone (EP1C12F324C8) or Xilinx Spartan-3
> (XC3S400-4FG456C) FPGA device. This versatile development platform not
> only interacts with Altium's software but can be used directly with
> FPGA vendor tools as a standard development board with no requirement
> for additional hardware or accessories."
> 
> That means to me that I can use it with ISE, right? But if it is that
> simple, why does Altium proudly anounce that thanks to the new cable
> any board can be used with their software? If their software handles
> standard interfaces, people could be using it with any board since
> long, using a standard cable.

They are just saying that they support a "standard" JTAG interface, like
everyone else does.  There are some defacto "standards" for JTAG cable
pinouts.  TI has one and there is one for the ARM CPUs.  My guess is the
Altium cable uses the TI pinout since that is only 14 pins vs. 20 for
the ARM connector.  If you look at the tech ref manual for the
nanoBoards, they show a not so wide cable for connecting to user
designed boards with JTAG.  

If someone wants to check it out, I'll buy a board.  They are only $99. 
But I get to keep the board when they are done...  :)

-- 

Rick "rickman" Collins

rick.collins@XYarius.com
Ignore the reply address. To email me use the above address with the XY
removed.

Arius - A Signal Processing Solutions Company
Specializing in DSP and FPGA design      URL http://www.arius.com
4 King Ave                               301-682-7772 Voice
Frederick, MD 21701-3110                 301-682-7666 FAX



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