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 149275

Article: 149275
Subject: Re: store data into fpga
From: d_s_klein <d_s_klein@yahoo.com>
Date: Wed, 13 Oct 2010 10:07:11 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 12, 4:09=A0am, "parvathi69"
<parvathi69@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
> Hi all,
>
> I am new FPGA. I have input data stored in a txt file. i have to read dat=
a
> from file to FPGA for further processing. How do i store this value in to
> FPGA memory.
>
> Please help me.
>
> Thanks in advance =A0 =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

If it were me, I would use an embedded processor: NIOS, MicroBlaze,
etc.  Simple enough to write a program to read the data and write it
to internal memory.  Then the emb-proc can start up whatever FPGA
hardware there is to process the data.

RK

Article: 149276
Subject: Re: JTAG stops working!
From: d_s_klein <d_s_klein@yahoo.com>
Date: Wed, 13 Oct 2010 10:13:10 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 11, 12:16=A0pm, "salimbaba"
<a1234573@n_o_s_p_a_m.n_o_s_p_a_m.owlpic.com> wrote:
> Hi,
> I have a weird problem with my design. I am using xilinx 12.1 for its
> synthesis and implementation.
> The problem is that when i generate my bitstream with a chipscope core
> inserted in the design and program my FPGA, programming fails saying that
> "DONE did not go high" whereas when i take out the chipscope core or some
> signals from the core, programming succeeds but after that my JTAG stops
> working. If i try ti initialize JTAG chain in iMPACT it asks me whether i
> have a BSDL or BIT file for this device or if i try to run chipscope,it
> also gives a warning and doesn't start. I checked the JTAG voltages and
> they were fine.
>
> Rarely does my design work, so, i am kind of stuck here as i cannot debug
> my system altogether. Is there something wrong with the Bit file or my us=
b
> drivers? I tried reinstalling the drivers but didn't work. Then i
> reinstalled xilinx 12.1,still same problem.
>
> Does it happen because of the size of the FPGA and the complexity of the
> logic we are inserting in it ? I mean that if the FPGA is not big enough =
to
> hold the logic and it's a very tigh fit, can it lead to such behaviour ?
>
> Regards
> SalimBaba =A0 =A0 =A0 =A0 =A0
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

I would guess that there's something wrong with your ILA.

RK

Article: 149277
Subject: Re: store data into fpga
From: Rob Gaddi <rgaddi@technologyhighland.com>
Date: Wed, 13 Oct 2010 10:25:31 -0700
Links: << >>  << T >>  << A >>
On 10/12/2010 4:09 AM, parvathi69 wrote:
> Hi all,
>
> I am new FPGA. I have input data stored in a txt file. i have to read data
> from file to FPGA for further processing. How do i store this value in to
> FPGA memory.
>
> Please help me.
>
> Thanks in advance	
> 					
> ---------------------------------------		
> Posted through http://www.FPGARelated.com

When?  If you're looking to do so at compile time, you can use the 
std.textio library in an initialization function for the RAM.  If you're 
looking to do so at run time, you need some means of getting the data 
from point A to point B.

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

Article: 149278
Subject: Re: store data into fpga
From: Kolja Sulimma <ksulimma@googlemail.com>
Date: Wed, 13 Oct 2010 10:34:17 -0700 (PDT)
Links: << >>  << T >>  << A >>
On 12 Okt., 13:09, "parvathi69"
<parvathi69@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
> Hi all,
>
> I am new FPGA. I have input data stored in a txt file. i have to read dat=
a
> from file to FPGA for further processing. How do i store this value in to
> FPGA memory.
>
> Please help me.
>
> Thanks in advance =A0 =A0 =A0 =A0 =A0
FPGA is all about hardware. The word "file" does not mean a lot in
that context.
What hardware is the file stored on? How it is accessible?
If the file is on a compact flash you could use system ace to read it.
If it is on a usb device you need an usb core to connect to the
device.
If it is accessible by TCP/IP you need an ethernet core or an RS232
UART and something you can talk PPP to.
and so on and so on....



Article: 149279
Subject: Re: FPGAOptim0208r available
From: Amal <akhailtash@gmail.com>
Date: Wed, 13 Oct 2010 15:44:56 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 12:45=A0pm, d_s_klein <d_s_kl...@yahoo.com> wrote:
> On Oct 13, 5:38=A0am, Martin Thompson <martin.j.thomp...@trw.com> wrote:
>
>
>
>
>
>
>
>
>
> > A new release of FPGAOptim[1] is available. =A0Highlights of this
> > release include:
>
> > =A0* Support for 12.x toolchain
> > =A0* Support for S6/V6 devices
> > =A0* EDIF and NGC netlists, so the tool can be used earlier in the
> > =A0 =A0design process. =A0Especially useful when you are "overmapped" a=
nd
> > =A0 =A0don't know why :)
> > =A0* More flexible column headings which will support future devices
> > =A0 =A0much more easily.
>
> > (BTW, our website moved around, so those of you who have downloaded
> > before should be receiving an email with a new link to the installer
> > shortly)
>
> > Cheers,
> > Martin
>
> > [1]http://www.conekt.co.uk/capabilities/49-fpga-optim
>
> > --
> > martin.j.thomp...@trw.com
> > TRW Conekt - Consultancy in Engineering, Knowledge and Technologyhttp:/=
/www.conekt.co.uk/capabilities/39-electronic-hardware
>
> Just my $.02 - I would like to see a Linux version. =A0I am so tired of
> the "looks great, who cares if it works" fluffiness of 'doze.
>
> RK

Can you not do the same thing with planAhead?  It has many netlist
searching and display features.

-- Amal

Article: 149280
Subject: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: "MM" <mbmsv@yahoo.com>
Date: Wed, 13 Oct 2010 19:38:35 -0400
Links: << >>  << T >>  << A >>
The project has top level in ISE and it includes a PPC subsystem. The 
problem seems to be with the latest MPMC core, which, at least in DDR2 mode, 
instantiates IOs in the source code. There is a Xilinx Answer Record for 
this exact problem, but with regards to ISE11. However, the proposed 
solution doesn't work. Has anyone experienced this and found a workaround?

The project was originally designed in 8.2 for V4FX (albeit it used much 
older MPMC with DDR1, not DDR2), then upgraded to version 10.x and now I am 
trying to move it to V5 platform. This is to say that there shouldn't be 
anything fundamentally wrong with the project itself. In fact it originally 
compiled in 12.2 after the upgrade, even after I had upgraded all the EDK 
cores, but then stopped compiling after I had cleaned all the generated 
files in ISE...

And I've just tried the same project in ISE/EDK12.3 and got the same result.

Thanks,
/Mikhail 



Article: 149281
Subject: FSM Problem with inout signal
From: Rob Tercher <Rob@yahoo.com>
Date: Thu, 14 Oct 2010 01:33:40 +0100
Links: << >>  << T >>  << A >>
Hi all,

I have a very simple FSM which should drive some output signals of an 
external RAM. The problem that I have comes with handling the data bus
which can be input as well as output... I am not too sure how I can handle
best this case in my FSM. The problem comes from the following line:

v.sram_data <= io_sram_data;

Obviously, the left hand side is a variable while the right hand side is 
a signal. Is there a "nice" way how to handle inout signals in a FSM as 
the one I have?

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity sram_fsm is
   port (
     clk                       : in std_logic;
     reset                     : in std_logic;
      out_sram_rd           : out std_logic;
      out_sram_wr           : out std_logic;
     out_sram_addr       : out std_logic_vector(3 downto 0);
     io_sram_data        : inout std_logic_vector(7 downto 0)

   );
end;

architecture Behavioral of sram_fsm is

    type state_type is (wr_init, wr_data, rd_init, rd_data);

    type reg_type is record
      state       : state_type;
       sram_data   : std_logic_vector(7 downto 0);
      sram_addr   : std_logic_vector(3 downto 0);
      sram_rd     : std_logic;
       sram_wr     : std_logic;
    end record;

     signal r, rin : reg_type;

begin

    comb : process (r)
    variable v : reg_type;
     begin
       v := r;

       case r.state is
         when wr_init =>
            v.sram_data    := "00000000";
             v.sram_addr    := "0000";
             v.sram_rd      := '0';
             v.sram_wr      := '0';
             v.state        := wr_data;
            when wr_data =>
              io_sram_data <= "00001000";
          v.sram_wr      := '1';
             v.state        := rd_init;
         when rd_init =>
              v.sram_addr   := "0000";
              v.sram_rd     := '1';
              v.sram_wr     := '0';
              v.state       := wr_data;
         when rd_data =>
             v.sram_data <= io_sram_data;
           v.state       := wr_init;
        end case;

     out_sram_addr <= v.sram_addr;
     out_sram_rd <= v.sram_rd;
     out_sram_wr <= v.sram_wr;

      rin <= v;

    end process;

     regs : process (reset, clk)
     begin
       if reset = '0' then
           r.state <= wr_init;
       elsif rising_edge(clk) then
          r <= rin;
       end if;
    end process;

end Behavioral;

Many thanks for your inputs!

Article: 149282
Subject: Re: FSM Problem with inout signal
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 13 Oct 2010 18:20:40 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 8:33=A0pm, Rob Tercher <R...@yahoo.com> wrote:
> Hi all,
>
> I have a very simple FSM which should drive some output signals of an
> external RAM. The problem that I have comes with handling the data bus
> which can be input as well as output... I am not too sure how I can handl=
e
> best this case in my FSM. The problem comes from the following line:
>
> v.sram_data <=3D io_sram_data;
>
> Obviously, the left hand side is a variable while the right hand side is
> a signal. Is there a "nice" way how to handle inout signals in a FSM as
> the one I have?
>
> library IEEE;
> use IEEE.STD_LOGIC_1164.ALL;
>
> entity sram_fsm is
> =A0 =A0port (
> =A0 =A0 =A0clk =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : in std_logic=
;
> =A0 =A0 =A0reset =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 : in std_logic;
> =A0 =A0 =A0 out_sram_rd =A0 =A0 =A0 =A0 =A0 : out std_logic;
> =A0 =A0 =A0 out_sram_wr =A0 =A0 =A0 =A0 =A0 : out std_logic;
> =A0 =A0 =A0out_sram_addr =A0 =A0 =A0 : out std_logic_vector(3 downto 0);
> =A0 =A0 =A0io_sram_data =A0 =A0 =A0 =A0: inout std_logic_vector(7 downto =
0)
>
> =A0 =A0);
> end;
>
> architecture Behavioral of sram_fsm is
>
> =A0 =A0 type state_type is (wr_init, wr_data, rd_init, rd_data);
>
> =A0 =A0 type reg_type is record
> =A0 =A0 =A0 state =A0 =A0 =A0 : state_type;
> =A0 =A0 =A0 =A0sram_data =A0 : std_logic_vector(7 downto 0);
> =A0 =A0 =A0 sram_addr =A0 : std_logic_vector(3 downto 0);
> =A0 =A0 =A0 sram_rd =A0 =A0 : std_logic;
> =A0 =A0 =A0 =A0sram_wr =A0 =A0 : std_logic;
> =A0 =A0 end record;
>
> =A0 =A0 =A0signal r, rin : reg_type;
>
> begin
>
> =A0 =A0 comb : process (r)
> =A0 =A0 variable v : reg_type;
> =A0 =A0 =A0begin
> =A0 =A0 =A0 =A0v :=3D r;
>
> =A0 =A0 =A0 =A0case r.state is
> =A0 =A0 =A0 =A0 =A0when wr_init =3D>
> =A0 =A0 =A0 =A0 =A0 =A0 v.sram_data =A0 =A0:=3D "00000000";
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.sram_addr =A0 =A0:=3D "0000";
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.sram_rd =A0 =A0 =A0:=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.sram_wr =A0 =A0 =A0:=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.state =A0 =A0 =A0 =A0:=3D wr_data;
> =A0 =A0 =A0 =A0 =A0 =A0 when wr_data =3D>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 io_sram_data <=3D "00001000";
> =A0 =A0 =A0 =A0 =A0 v.sram_wr =A0 =A0 =A0:=3D '1';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.state =A0 =A0 =A0 =A0:=3D rd_init;
> =A0 =A0 =A0 =A0 =A0when rd_init =3D>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 v.sram_addr =A0 :=3D "0000";
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 v.sram_rd =A0 =A0 :=3D '1';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 v.sram_wr =A0 =A0 :=3D '0';
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 v.state =A0 =A0 =A0 :=3D wr_data;
> =A0 =A0 =A0 =A0 =A0when rd_data =3D>
> =A0 =A0 =A0 =A0 =A0 =A0 =A0v.sram_data <=3D io_sram_data;
> =A0 =A0 =A0 =A0 =A0 =A0v.state =A0 =A0 =A0 :=3D wr_init;
> =A0 =A0 =A0 =A0 end case;
>
> =A0 =A0 =A0out_sram_addr <=3D v.sram_addr;
> =A0 =A0 =A0out_sram_rd <=3D v.sram_rd;
> =A0 =A0 =A0out_sram_wr <=3D v.sram_wr;
>
> =A0 =A0 =A0 rin <=3D v;
>
> =A0 =A0 end process;
>
> =A0 =A0 =A0regs : process (reset, clk)
> =A0 =A0 =A0begin
> =A0 =A0 =A0 =A0if reset =3D '0' then
> =A0 =A0 =A0 =A0 =A0 =A0r.state <=3D wr_init;
> =A0 =A0 =A0 =A0elsif rising_edge(clk) then
> =A0 =A0 =A0 =A0 =A0 r <=3D rin;
> =A0 =A0 =A0 =A0end if;
> =A0 =A0 end process;
>
> end Behavioral;
>
> Many thanks for your inputs!

One way...
Add the statement io_sram_data <=3D (others =3D> 'Z')' as a default
statement at the begining of your process.

Another way...
1. Define some internal signals
signal io_sram_data_int:  std_logic_vector(io_sram_data'range);
signal Output_Enable: std_ulogic;

2. Within your state machine, drive the signal io_sram_data_int rather
than io_sram_data;
3. Add the following
io_sram_data <=3D io_sram_data_int when (Output_Enable =3D '1') else
(others =3D> 'Z');
where you then have to define the logic for when Output_Enable where
it is active when you want to drive it

I'd also suggest not using combinatorial processes, use a synchronous
process and concurrent statements.

Kevin Jennings

Article: 149283
Subject: Re: i don't have any idea to select write mode at ASMI_PARALLEL
From: Jack Leong <jacklsw8632@gmail.com>
Date: Wed, 13 Oct 2010 19:02:33 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 6:50=A0pm, "PaulHam"
<hamsdeji@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote:
> >> It's unbelievable and different from theasmi_paralleldata sheet.
> >> The data sheet shows that only 3 us is needed after single byte write
> >> operation.
> >> So, I'd like to get some advice here what makes unexpected result.
> >> The signals I giveasmi_parallelip core, the write/wren/addr/data are
> >> exact.
>
> >I'd check the data sheet for whatever flash device you're using, that
> will
> >be what determines the delay (mostly), not the core.
>
> >Nial.
>
> Thanks for checking my question.
> You mean, the Serial Configuration Device determines the speed of writing
> ?
>
> Paul.
>
> --------------------------------------- =A0 =A0 =A0 =A0
> Posted throughhttp://www.FPGARelated.com

Hi Paul,

Take note that the waveforms in the ALTASMI_PARALLEL user guide do not
reflect the real time operation. Just like Nial said, the speed of
writing depends on the flash device used.

When the IP receives any write command (either byte write or page
write), it will follow this procedure:
- Stage 1: read status register
- Stage 2: issue write enable command
- Stage 3: write data
- Stage 4: read busy bit from status register to end operation
If you are using single byte write, only 1 byte of data is sent at
stage 3 and repeat the process for the subsequent bytes. When page
write is used, the whole bunch of data can be transferred one shot in
stage 3. So if you are using single byte write to write a bunch of
data, it will definitely take longer time. The single byte write
shouldn't take longer time than page write if only 1 byte of data is
transferred. As for the 300us delay, is it the time taken to write a
bunch of data or you are just transferring a single byte?

Article: 149284
Subject: Re: Xilinx Artix 7 - When?
From: radarman <jshamlet@gmail.com>
Date: Wed, 13 Oct 2010 20:12:07 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 6, 12:06=A0am, rickman <gnu...@gmail.com> wrote:
> On Oct 5, 5:50 pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
>
> > On Oct 5, 12:43 pm, rickman <gnu...@gmail.com> wrote:
>
> > > I am listening to the Xilinx webinar on partial reconfiguration and
> > > they say the Artix 7 will be the first "spartan" type device that wil=
l
> > > be supported under the ISE software for partial reconfiguration.
> > > Anyone heard when the Artix 7 devices are supposed to be in
> > > production? =A0Are we talking about a practical time frame such as 6 =
to
> > > 9 months or is it being stated as a year or more? =A0Or have they onl=
y
> > > talked about when they will be shipping "samples"? =A0I know there ca=
n
> > > be quite a difference.
>
> > There is no announced date for Artix-7 device availability at this
> > time.
>
> Ok, so if I understand what was said in the presentation today, there
> is no support for partial reconfiguration in any of the available
> Spartan devices, right? =A0I remember looking into PR for quite a while
> some years back and had been told that Xilinx "was committed" to
> supporting PR in Spartan parts. =A0That was literally 8 years ago. =A0A
> lot of the presentation talked to the cost savings that was possible
> using PR. =A0But that only makes sense to me if it can be used with low
> cost parts. =A0Reducing the cost of using a more expensive part by using
> a complex process is a poor substitute to just using a part that costs
> less. =A0But if I can use the less expensive part and cut my costs
> further by using PR, that can make a number of projects practical that
> otherwise wouldn't be.
>
> I don't even want to do "dynamic" PR, I just want to have the
> flexibility of configuring the modules when I configure the full part
> initially. =A0Would that be "static" PR? =A0This makes a huge difference
> in the exact scenario they described for a product with multiple
> interface modules, but the number of possible modules larger than just
> three. =A0Instead of a 100,000 LUT Spartan, I would be able to use a
> 10,000 LUT device and have room to spare. =A0This could be such a
> enabler of projects.
>
> Rick

You can sort of do what you describe now with a Spartan 3E and multi-
boot. It's obviously not the same as partial reconfiguration, but with
a bit of clever design, it can serve a similar purpose. It can also be
entirely implemented in-chip.
I have a little business-card sized demo board from an Avnet rep that
does this. It boots up with a simple animation, but when you press a
button, it turns into an electronic die (simulates rolling dice)

While nifty, there are some real limitations, though. For one, you
need external RAM if you want the two images to be able to pass data
to each other - since all of the internal block RAM will get
reinitialized. For another, there is a fairly significant delay where
the FPGA is "dead" - meaning you need to be careful about when the
switchover occurs.

Article: 149285
Subject: Re: Xilinx Artix 7 - When?
From: rickman <gnuarm@gmail.com>
Date: Wed, 13 Oct 2010 21:33:20 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Oct 13, 11:12 pm, radarman <jsham...@gmail.com> wrote:
> On Oct 6, 12:06 am, rickman <gnu...@gmail.com> wrote:
>
>
>
> > On Oct 5, 5:50 pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
>
> > > On Oct 5, 12:43 pm, rickman <gnu...@gmail.com> wrote:
>
> > > > I am listening to the Xilinx webinar on partial reconfiguration and
> > > > they say the Artix 7 will be the first "spartan" type device that will
> > > > be supported under the ISE software for partial reconfiguration.
> > > > Anyone heard when the Artix 7 devices are supposed to be in
> > > > production?  Are we talking about a practical time frame such as 6 to
> > > > 9 months or is it being stated as a year or more?  Or have they only
> > > > talked about when they will be shipping "samples"?  I know there can
> > > > be quite a difference.
>
> > > There is no announced date for Artix-7 device availability at this
> > > time.
>
> > Ok, so if I understand what was said in the presentation today, there
> > is no support for partial reconfiguration in any of the available
> > Spartan devices, right?  I remember looking into PR for quite a while
> > some years back and had been told that Xilinx "was committed" to
> > supporting PR in Spartan parts.  That was literally 8 years ago.  A
> > lot of the presentation talked to the cost savings that was possible
> > using PR.  But that only makes sense to me if it can be used with low
> > cost parts.  Reducing the cost of using a more expensive part by using
> > a complex process is a poor substitute to just using a part that costs
> > less.  But if I can use the less expensive part and cut my costs
> > further by using PR, that can make a number of projects practical that
> > otherwise wouldn't be.
>
> > I don't even want to do "dynamic" PR, I just want to have the
> > flexibility of configuring the modules when I configure the full part
> > initially.  Would that be "static" PR?  This makes a huge difference
> > in the exact scenario they described for a product with multiple
> > interface modules, but the number of possible modules larger than just
> > three.  Instead of a 100,000 LUT Spartan, I would be able to use a
> > 10,000 LUT device and have room to spare.  This could be such a
> > enabler of projects.
>
> > Rick
>
> You can sort of do what you describe now with a Spartan 3E and multi-
> boot. It's obviously not the same as partial reconfiguration, but with
> a bit of clever design, it can serve a similar purpose. It can also be
> entirely implemented in-chip.
> I have a little business-card sized demo board from an Avnet rep that
> does this. It boots up with a simple animation, but when you press a
> button, it turns into an electronic die (simulates rolling dice)
>
> While nifty, there are some real limitations, though. For one, you
> need external RAM if you want the two images to be able to pass data
> to each other - since all of the internal block RAM will get
> reinitialized. For another, there is a fairly significant delay where
> the FPGA is "dead" - meaning you need to be careful about when the
> switchover occurs.

Some eight years ago I built a DSP board which used small daughter
cards for I/O.  The idea was to build the minimum amount of hardware
possible and to do the bulk of the design in the FPGA.  A variety of
different module types would be supported by the CPU being able to
poll the daughter cards at boot up to determine their type and using
partial configuration to load in the appropriate module.  This didn't
even require that it be done while the FPGA was live, just that the
modules could be loaded independently.  Although I was told that the
Spartan could support this and that Xilinx was committed to supporting
Spartan PR in the tools, it never happened.  So instead I had to
configure a unique load for each customer on request.  That was not
very easy to support.  That is basically the "multi-boot" approach.
It's ok until the number of permutations gets too large.

Rick

Article: 149286
Subject: change with sums and shifts
From: tommy <phreak_telecom@tin.it>
Date: Thu, 14 Oct 2010 09:17:12 +0200
Links: << >>  << T >>  << A >>
hello guys!

I 've a question how can i change this istructions in my structural with 
simple sums and shifts operations?

pOut <= CONV_STD_LOGIC_VECTOR((2* CONV_INTEGER(pIn) + 1), bitWidth/2 + 1);

pOut <= CONV_STD_LOGIC_VECTOR((2* CONV_INTEGER(pIn)), bitWidth/2 + 1);

thank you in advance

Article: 149287
Subject: Re: FPGAOptim0208r available
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Thu, 14 Oct 2010 10:55:52 +0100
Links: << >>  << T >>  << A >>
> Just my $.02 - I would like to see a Linux version.  I am so tired of
> the "looks great, who cares if it works" fluffiness of 'doze.


I don't want to start a flame war but I installed XP on this machine 5 years
ago and apart from installing and running a decent anti-virus system (NOD32)
it's worked flawlessly.

How much time and effort would I have had to spend playing with the OS
if I'd been on Linux?

I'm not interested in the OS, I just need it to work.

:-)


Nial. 



Article: 149288
Subject: Re: FPGAOptim0208r available
From: Martin Thompson <martin.j.thompson@trw.com>
Date: Thu, 14 Oct 2010 11:12:41 +0100
Links: << >>  << T >>  << A >>
Amal <akhailtash@gmail.com> writes:

> Can you not do the same thing with planAhead?  It has many netlist
> searching and display features.

You may well be able to now - Planahead didn't exist when I first
wrote FPGAOptim :)

But, how long does planahead take to update a netlist?  Many tens of
seconds in my experience on a 80% full S3ADSP3400 EDK design, vs about
5 secs for FPGAOptim.  Admittedly, I haven't tried Planahead 12.x
yet...

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.co.uk/capabilities/39-electronic-hardware

Article: 149289
Subject: Re: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Thu, 14 Oct 2010 11:17:33 +0100
Links: << >>  << T >>  << A >>
On Wed, 13 Oct 2010 19:38:35 -0400, "MM" <mbmsv@yahoo.com> wrote:

>The project has top level in ISE and it includes a PPC subsystem. The 
>problem seems to be with the latest MPMC core, which, at least in DDR2 mode, 
>instantiates IOs in the source code. There is a Xilinx Answer Record for 
>this exact problem, but with regards to ISE11. However, the proposed 
>solution doesn't work. Has anyone experienced this and found a workaround?

It might be useful to mention which Answer Record.

- Brian


Article: 149290
Subject: Re: change with sums and shifts
From: "RCIngham" <robert.ingham@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com>
Date: Thu, 14 Oct 2010 06:03:04 -0500
Links: << >>  << T >>  << A >>
>hello guys!
>
>I 've a question how can i change this istructions in my structural with 
>simple sums and shifts operations?
>
>pOut <= CONV_STD_LOGIC_VECTOR((2* CONV_INTEGER(pIn) + 1), bitWidth/2 +
1);
>
>pOut <= CONV_STD_LOGIC_VECTOR((2* CONV_INTEGER(pIn)), bitWidth/2 + 1);
>
>thank you in advance
>

What's the problem? Apart from it not using the numeric_std package, of
course!

Does the synthesis tool actually infer a multiplier?

BTW, if this is course homework, kindly go elsewhere...
	   
					
---------------------------------------		
Posted through http://www.FPGARelated.com

Article: 149291
Subject: Re: store data into fpga
From: "Nial Stewart" <nial*REMOVE_THIS*@nialstewartdevelopments.co.uk>
Date: Thu, 14 Oct 2010 13:16:19 +0100
Links: << >>  << T >>  << A >>
"parvathi69" <parvathi69@n_o_s_p_a_m.n_o_s_p_a_m.gmail.com> wrote in message 
news:w9mdneqc-_5r3CnRnZ2dnUVZ_rWdnZ2d@giganews.com...
> Hi all,
> I am new FPGA. I have input data stored in a txt file. i have to read data
> from file to FPGA for further processing. How do i store this value in to
> FPGA memory.
> Please help me.
> Thanks in advance


You don't say when, but if it was during debug this is an ideal application
for the 1 pin interface...

http://www.1pin-interface.com/

Easily driven PC interface to get data in and out of FPGAs.



Nial. 



Article: 149292
Subject: Re: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: "MM" <mbmsv@yahoo.com>
Date: Thu, 14 Oct 2010 10:54:12 -0400
Links: << >>  << T >>  << A >>
Yes, sorry, it's here:
http://www.xilinx.com/support/answers/32847.htm

/Mikhail


"Brian Drummond" <brian_drummond@btconnect.com> wrote in message 
news:g3mdb6t8pcvphccc7av2roq1icb1u383a6@4ax.com...
> On Wed, 13 Oct 2010 19:38:35 -0400, "MM" <mbmsv@yahoo.com> wrote:
>
>>The project has top level in ISE and it includes a PPC subsystem. The
>>problem seems to be with the latest MPMC core, which, at least in DDR2 
>>mode,
>>instantiates IOs in the source code. There is a Xilinx Answer Record for
>>this exact problem, but with regards to ISE11. However, the proposed
>>solution doesn't work. Has anyone experienced this and found a workaround?
>
> It might be useful to mention which Answer Record.
>
> - Brian
> 



Article: 149293
Subject: Re: FSM Problem with inout signal
From: Andy <jonesandy@comcast.net>
Date: Thu, 14 Oct 2010 08:49:56 -0700 (PDT)
Links: << >>  << T >>  << A >>
While I greatly prefer single, clocked processes over separate clocked
and combinatorial ones, here is how you can fix what you have:

Add io_sram_data to the sensitivity list for your comb process.

After the "v := r;" statement, before anything else, insert;

io_sram_data <= (others => 'Z');

This does two things.

First, it avoids a latch because you had many states where you did not
assign io_sram_data, and in your combinatorial process, failing to
assign a value to a signal will get you a latch. By making sure you
always drive it with something, it will eliminate any chance of a
latch. This is just one of the reasons I don't like split combo/
clocked processes.

Second, it defaults to driving the output to high-Z, unless you drive
it with data when in a specific state(s). Driving the output to Z
allows whatever is on the outside of the device to drive it's value,
and for your statemachine to see that value on the signal. The
synthesis tool will create the tri-state drivers and enables for them.

Other reasons I prefer single, clocked process descriptions:

It allows you to use local variables and actually "hide" data to keep
it local and free from external interference. By keeping local things
local, it isolates changes to that local data (state definitions,
etc.) from other processes that may depend on it being a certain way
you once defined it. I'm not really sure why you used a variable,
since you still have to transfer the data to/from external signals to
interact with the clocked process.

It avoids latches.

It avoids splitting reset or clock enable functionality into a
separate process from the rest of the logic.

It avoids duplicate signal declarations and assignments.

It avoids issues with incomplete sensitivity lists.

Hope this helps,

Andy


Article: 149294
Subject: Happy birthday, Bernie!
From: Prevailing over Technology <steve.knapp@prevailing-technology.com>
Date: Thu, 14 Oct 2010 08:56:02 -0700 (PDT)
Links: << >>  << T >>  << A >>
Happy birthday, Bernie!  We miss you!

Bernie (V. for Victory) Vonderschmitt was born this day back on
October 14, 1923.  Many FPGA users may not recognize the name anymore
but those of us who fortunate enough to have worked with this
remarkable human being still fondly remember him.

Who was he?  Bernie was one of the founders of Xilinx, Inc. and helped
shape the early company and its culture and ultimately the
semiconductor industry.

In an era when newspapers are filled with stories of business
failures, Bernie was a beacon and practitioner of free-market
principles.  He started his career in engineering and science and
then, much later in life, became a well-respected business leader--
certainly the gentleman of the electronics industry.  During his long
life, Bernie helped pioneer a variety of technologies including color
television at RCA, commercialization of CMOS logic, co-founding the
first FPGA company, and developing the fabless semiconductor business
model.  Most people would be considered successful with just one such
accomplishment.  Then again, Bernie waited until age 58 to pursue his
MBA and to age 60 to co-found Xilinx.

Bernie's influence at Xilinx was obvious and legendary.  His
organization chart put customers at the top, in the most important
position, and the board and the CEO at the bottom.  Bernie's intellect
was detailed and data driven.  After an hours long meeting filled with
detailed spreadsheets and tedious presentation foils (it was before
the PowerPoint era), Bernie asked the presenter for the source
material because he wanted more detail.  On business matters, Bernie
was infamously frugal.  I think he knew the serial number of every
dollar spent and parted with company money like beloved children.
Despite his frugal reputation, Bernie was personally very generous,
funding a variety of charitable projects.  Despite his many talents,
Bernie was also quite humble and approachable.  He freely gave credit
to others for the company's success.  His management skills won him a
prized reputation with investors, who claimed of the early Xilinx that
Bernie delivered Vegas-style returns with insurance-company
predictability.

Yep, they certainly don't make =91em like that anymore!

"Xilinx Chairman and respected electronics industry veteran 'Bernie'
Vonderschmitt to retire"
http://www.xilinx.com/prs_rls/xil_corp/0341bernie.htm

"TV Pioneer Still Chipping Away"
http://articles.sfgate.com/1998-12-21/business/17739482_1_bernie-vonderschm=
itt-tv-sets-rca

"Engineering and Entrepreneurial Pioneer, Bernard 'Bernie'
Vonderschmitt Passes Away"
http://www.rose-hulman.edu/echoes/summer2004/vonderschmitt.htm

"Silicon Valley's septuagenarian"
http://business.highbeam.com/392705/article-1G1-14570814/silicon-valley-sep=
tuagenarian

Bernie Vonderschmitt Patents
http://www.google.com/patents?q=3Dbernard+vonderschmitt&btnG=3DSearch+Paten=
ts

Article: 149295
Subject: LVDS simulation in Hyperlynx
From: "maxascent" <maxascent@n_o_s_p_a_m.n_o_s_p_a_m.yahoo.co.uk>
Date: Thu, 14 Oct 2010 13:44:11 -0500
Links: << >>  << T >>  << A >>
I am trying to run a Hyperlynx simulation for LVDS in a Spartan 6 FPGA. I
would like to use the DCI termination but when I select this model the
simulation complains that it cant perform it because it cant model a series
resistor at the receiver input. I assume this is something to do with the
termination but I am not sure what I am supposed to do. 

Thanks

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

Article: 149296
Subject: How to disable EDK instantiated IOBs?
From: "MM" <mbmsv@yahoo.com>
Date: Thu, 14 Oct 2010 17:41:20 -0400
Links: << >>  << T >>  << A >>
This is a more generic question following up my previous question on 
translation failing because of the IOBs instantiated in one of the EDK 
cores. I was wondering if there is a way (short of hacking the core) to 
either disable IOB instantiation in EDK altogether or vice-versa to disable 
IOB instantiation in ISE, but only for those pins, which already have IOBs 
instantiated by EDK. I tried implementing the latter idea by assigning 
synthesis iob attribute for these pins and setting it to FALSE, but got an 
INTERNAL_ERROR in XST... I can't believe there is no simple solution... In 
the past ISE somehow managed to figure this out. I also vaguely remember 
that at some point long ago I had a similar problem and did something with 
some of the cores, but can't remember what... In any case latest MPMC core 
has these IOB instantiations scattered through many files and hacking them 
all doesn't appear to be a nice solution.

Any ideas will be highly appreciated!

/Mikhail 



Article: 149297
Subject: Re: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: Brian Drummond <brian_drummond@btconnect.com>
Date: Thu, 14 Oct 2010 23:00:09 +0100
Links: << >>  << T >>  << A >>
On Thu, 14 Oct 2010 10:54:12 -0400, "MM" <mbmsv@yahoo.com> wrote:

>Yes, sorry, it's here:
>http://www.xilinx.com/support/answers/32847.htm

I don't have the exact answer, but after looking at
http://www.xilinx.com/support/answers/37204.htm
my next move would be to find the 12.x Constraints Guide (cgd.pdf) and look up
the  "buffer_type" attribute - is there a "none" value for it?

Then try adding 

attribute buffer_type: string;
attribute buffer_type of my_sig: signal is "none";

to all the relevant signals - if you can suppress XST's desire to insert buffers
on these specific signals you should be good.

Alternatively, have there been changes to 12.x's way of handling precompiled
cores? If so, there may be messages in the synthesis report hinting why it can't
find the precompiled MPMC core, and that it is "black boxing" the core for
NGDbuild to deal with. Making XST see the cores is the best answer, but failing
that, the "buffer_type" constraints ought to work.

This is all the more frustrating because the EDK cores like MPMC are supplied as
source, and the only reason they have to be precompiled (thus hiding the buffers
from XST) is because the Xilinx tools can't handle VHDL libraries.
(versions 6.x to 11, I haven't tested 12 yet)

- Brian


Article: 149298
Subject: Re: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: "MM" <mbmsv@yahoo.com>
Date: Thu, 14 Oct 2010 18:07:40 -0400
Links: << >>  << T >>  << A >>
> I don't have the exact answer, but after looking at
> http://www.xilinx.com/support/answers/37204.htm
> my next move would be to find the 12.x Constraints Guide (cgd.pdf) and 
> look up
> the  "buffer_type" attribute - is there a "none" value for it?
>
> Then try adding
>
> attribute buffer_type: string;
> attribute buffer_type of my_sig: signal is "none";
>
> to all the relevant signals - if you can suppress XST's desire to insert 
> buffers
> on these specific signals you should be good.
>

I tried this:

attribute  iob:    string;

attribute  iob  of Ddr_Ck_N  : signal  is  "FALSE";
attribute  iob  of Ddr_Ck_P  : signal  is  "FALSE";
attribute  iob  of Ddr_A    : signal  is  "FALSE";
attribute  iob  of Ddr_D    : signal  is  "FALSE";

It results in an internal error in XST :(


/Mikhail 



Article: 149299
Subject: Re: ISE/EDK12.2 Translate fails with "NgdBuild:467 - output pad net 'Ddr_Ck_N_0_OBUF' has an illegal buffer" and similar messages.
From: "MM" <mbmsv@yahoo.com>
Date: Thu, 14 Oct 2010 18:12:43 -0400
Links: << >>  << T >>  << A >>
> Alternatively, have there been changes to 12.x's way of handling 
> precompiled
> cores?

I guess there have, because it doesn't copy anymore all the ngc files from 
the EDK implementation directory to the main project folder, only the 
system.ngc....

/Mikhail





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