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 129625

Article: 129625
Subject: Need info on systolic arrays in actual use
From: "Marc Reinig" <Marco@newsgroups.nospam>
Date: Fri, 29 Feb 2008 07:02:36 -0800
Links: << >>  << T >>  << A >>
I need some references of where systolic arrays have actually been used in
equipment or instruments.

Thanks in advance,

Marco
________________________
Marc Reinig
UCO/Lick Observatory
Laboratory for Adaptive Optics



Article: 129626
Subject: Re: Need info on systolic arrays in actual use
From: Kolja Sulimma <ksulimma@googlemail.com>
Date: Fri, 29 Feb 2008 08:01:43 -0800 (PST)
Links: << >>  << T >>  << A >>
- smith waterman algorithm for DNA matching
- fully parallel filters, mainly FIR filters
- all algorithms without feedback if implemented using pielining
  (pipelined array multipliers, benes sorters, ...)

Kolja Sulimma

On 29 Feb., 16:02, "Marc Reinig" <Ma...@newsgroups.nospam> wrote:
> I need some references of where systolic arrays have actually been used in
> equipment or instruments.
>
> Thanks in advance,
>
> Marco

Article: 129627
Subject: Re: real to signed
From: Mike Treseler <mike_treseler@comcast.net>
Date: Fri, 29 Feb 2008 08:25:09 -0800
Links: << >>  << T >>  << A >>
FPGA wrote:
> How to convert real to signed. The range of real will be from -1 to 1,
> -5 to 5, -10 to 10 and so on. I would like to convert this range to a
> signed vector of bit width bw(generic). The data has to be scaled but
> I have no idea on how to do it. I have searched on the internet and
> did not find any valuable information.
> 

Start with modulo arithmetic.
http://deadsmall.com/3AE

Article: 129628
Subject: Re: real to signed
From: Tricky <Trickyhead@gmail.com>
Date: Fri, 29 Feb 2008 08:29:00 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 29, 2:46 pm, FPGA <FPGA.unkn...@gmail.com> wrote:
> How to convert real to signed. The range of real will be from -1 to 1,
> -5 to 5, -10 to 10 and so on. I would like to convert this range to a
> signed vector of bit width bw(generic). The data has to be scaled but
> I have no idea on how to do it. I have searched on the internet and
> did not find any valuable information.

You will need to know magnitude width and fraction width as you will
be generating a fixed point decimal.
Magnitude width (MW) can be done by taking log2(limit) and adding 1
(to account for the sign bit).
Fraction width (FW) is then bw-MW.

Then you scale the result by 2**FW and convert it to an integer (which
then gives you your signed number).
Remember Integer(my_real) always rounds to nearest. If you dont want
to round to nearest, you have to write a function that rounds to zero,
otherwise removing the LSBs will always round down. (towards 0 for
+ve, away from 0 for -ve).

From puiterl@notaimvalley.nl Fri Feb 29 08:32:29 2008
Path: newsdbm04.news.prodigy.net!newsdst01.news.prodigy.net!prodigy.com!newscon04.news.prodigy.net!prodigy.net!goblin1!goblin.stu.neva.ru!feeder.news-service.com!newsgate.cistron.nl!xs4all!transit2.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Message-Id: <47c8339e$0$14345$e4fe514c@news.xs4all.nl>
From: Paul Uiterlinden <puiterl@notaimvalley.nl>
Subject: Re: real to signed
Newsgroups: comp.lang.vhdl,comp.arch.fpga
Followup-To: comp.lang.vhdl
Date: Fri, 29 Feb 2008 17:32:29 +0100
References: <013f9fad-e025-4dbb-b38c-237344f51e25@e25g2000prg.googlegroups.com>
Organization: AimValley
User-Agent: KNode/0.10.5
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
Lines: 37
NNTP-Posting-Host: 80.127.156.247
X-Trace: 1204302751 news.xs4all.nl 14345 [::ffff:80.127.156.247]:41255
X-Complaints-To: abuse@xs4all.nl
Xref: prodigy.net comp.lang.vhdl:74011 comp.arch.fpga:141952

FPGA wrote:

> How to convert real to signed. The range of real will be from -1 to 1,
> -5 to 5, -10 to 10 and so on.

I don't understand this.

> I would like to convert this range to a 
> signed vector of bit width bw(generic). The data has to be scaled but
> I have no idea on how to do it.

What do you mean by scaling?

> I have searched on the internet and did not find any valuable information.

If it is only about converting from real to signed, then first convert the
real to integer, and then to signed with the to_signed function from
ieee.numeric_std.

Something like this:

  LIBRARY ieee;
  USE ieee.numeric_std.ALL;
  ...
  FUNCTION real2signed
  (
    r: real;
    return_width: positive
  ) RETURN signed IS
  BEGIN
    RETURN to_signed(integer(r), return_width);
  END FUNCTION real2signed;

-- 
Paul Uiterlinden
www.aimvalley.nl
e-mail addres: remove the not.

Article: 129629
Subject: Re: real to signed
From: Tricky <Trickyhead@gmail.com>
Date: Fri, 29 Feb 2008 08:50:24 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 29, 4:29 pm, Tricky <Trickyh...@gmail.com> wrote:
> On Feb 29, 2:46 pm, FPGA <FPGA.unkn...@gmail.com> wrote:
>
> > How to convert real to signed. The range of real will be from -1 to 1,
> > -5 to 5, -10 to 10 and so on. I would like to convert this range to a
> > signed vector of bit width bw(generic). The data has to be scaled but
> > I have no idea on how to do it. I have searched on the internet and
> > did not find any valuable information.
>
> You will need to know magnitude width and fraction width as you will
> be generating a fixed point decimal.
> Magnitude width (MW) can be done by taking log2(limit) and adding 1
> (to account for the sign bit).
> Fraction width (FW) is then bw-MW.
>
> Then you scale the result by 2**FW and convert it to an integer (which
> then gives you your signed number).
> Remember Integer(my_real) always rounds to nearest. If you dont want
> to round to nearest, you have to write a function that rounds to zero,
> otherwise removing the LSBs will always round down. (towards 0 for
> +ve, away from 0 for -ve).

PS. None of this is synthesisable, as it bases all working on reals,
which you cannot synthesise in any way. Reals are only allowed to
create constants (which then have to be of a synthesizable type).

If you are trying now to synthesize your sine wave generator, you are
going about it the wrong way.

Article: 129630
Subject: Re: Picoblaze enhencement and assembler
From: rickman <gnuarm@gmail.com>
Date: Fri, 29 Feb 2008 09:39:02 -0800 (PST)
Links: << >>  << T >>  << A >>
Looks interesting.

On Feb 25, 9:59 am, "Sylvain Munaut <Some...@SomeDomain.com>"
<246...@gmail.com> wrote:
> Hi,
>
> I wasn't very satisfied with the available assembler, so a few month
> ago I wrote a new compiler for the Picobaze during my spare
> weekends ...
>
> I just though I'd share it if anyone is interested ....
>
> It's available there :
>  http://www.246tnt.com/files/PBAsm_20080225.tar.bz2
>
> Example usage:
>  python ./Codegen.py example.S out.mem
>
> WARNING: The last file on the command line is the output ... so if you
> forget it, it will overwrite your last source file ...

This may seem like a minor annoyance to you, but it is one of those
things that a user will tire of very quickly... after about one lost
file in fact.

Couldn't you fix that so the output file is first or use option flags
to indicate the output file such as -o name?



Article: 129631
Subject: Re: Need info on systolic arrays in actual use
From: "Marc Reinig" <Marco@newsgroups.nospam>
Date: Fri, 29 Feb 2008 09:41:06 -0800
Links: << >>  << T >>  << A >>
Thanks,

I know the applications.

I'm actually looking for specific equipment in which they have been used. 
i.e. XY corp. uses them in their ..., Univ. of X uses them in the XXX 
instrument, etc.


Marco
________________________
Marc Reinig
UCO/Lick Observatory
Laboratory for Adaptive Optics

"Kolja Sulimma" <ksulimma@googlemail.com> wrote in message 
news:8c68db12-c1d0-4f0d-9ec2-acf42e049107@u10g2000prn.googlegroups.com...
>- smith waterman algorithm for DNA matching
> - fully parallel filters, mainly FIR filters
> - all algorithms without feedback if implemented using pielining
>  (pipelined array multipliers, benes sorters, ...)
>
> Kolja Sulimma
>
> On 29 Feb., 16:02, "Marc Reinig" <Ma...@newsgroups.nospam> wrote:
>> I need some references of where systolic arrays have actually been used 
>> in
>> equipment or instruments.
>>
>> Thanks in advance,
>>
>> Marco 



Article: 129632
Subject: Re: real to signed
From: FPGA <FPGA.unknown@gmail.com>
Date: Fri, 29 Feb 2008 10:18:49 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 29, 11:50=A0am, Tricky <Trickyh...@gmail.com> wrote:
> On Feb 29, 4:29 pm, Tricky <Trickyh...@gmail.com> wrote:
>
>
>
>
>
> > On Feb 29, 2:46 pm, FPGA <FPGA.unkn...@gmail.com> wrote:
>
> > > How to convert real to signed. The range of real will be from -1 to 1,=

> > > -5 to 5, -10 to 10 and so on. I would like to convert this range to a
> > > signed vector of bit width bw(generic). The data has to be scaled but
> > > I have no idea on how to do it. I have searched on the internet and
> > > did not find any valuable information.
>
> > You will need to know magnitude width and fraction width as you will
> > be generating a fixed point decimal.
> > Magnitude width (MW) can be done by taking log2(limit) and adding 1
> > (to account for the sign bit).
> > Fraction width (FW) is then bw-MW.
>
> > Then you scale the result by 2**FW and convert it to an integer (which
> > then gives you your signed number).
> > Remember Integer(my_real) always rounds to nearest. If you dont want
> > to round to nearest, you have to write a function that rounds to zero,
> > otherwise removing the LSBs will always round down. (towards 0 for
> > +ve, away from 0 for -ve).
>
> PS. None of this is synthesisable, as it bases all working on reals,
> which you cannot synthesise in any way. Reals are only allowed to
> create constants (which then have to be of a synthesizable type).
>
> If you are trying now to synthesize your sine wave generator, you are
> going about it the wrong way.- Hide quoted text -
>
> - Show quoted text -

I dont want to synthesize this.

Article: 129633
Subject: Re: real to signed
From: FPGA <FPGA.unknown@gmail.com>
Date: Fri, 29 Feb 2008 10:33:55 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 29, 11:29=A0am, Tricky <Trickyh...@gmail.com> wrote:
> On Feb 29, 2:46 pm, FPGA <FPGA.unkn...@gmail.com> wrote:
>
> > How to convert real to signed. The range of real will be from -1 to 1,
> > -5 to 5, -10 to 10 and so on. I would like to convert this range to a
> > signed vector of bit width bw(generic). The data has to be scaled but
> > I have no idea on how to do it. I have searched on the internet and
> > did not find any valuable information.
>
> You will need to know magnitude width and fraction width as you will
> be generating a fixed point decimal.
> Magnitude width (MW) can be done by taking log2(limit) and adding 1
> (to account for the sign bit).

MW and FW of  output real changes with change in amplitude. What is
'limit'?

> Fraction width (FW) is then bw-MW.
>
> Then you scale the result by 2**FW and convert it to an integer (which
> then gives you your signed number).
> Remember Integer(my_real) always rounds to nearest. If you dont want
> to round to nearest, you have to write a function that rounds to zero,
> otherwise removing the LSBs will always round down. (towards 0 for
> +ve, away from 0 for -ve).


Article: 129634
Subject: Re: Making changes to custom IP in EDK
From: benradu@gmail.com
Date: Fri, 29 Feb 2008 10:58:26 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 28, 3:52=A0pm, Skogul <etork...@gmail.com> wrote:
> These approaches seem to work. Thanks.

Yes, it works but the whole project will be re synthesized which is
time consuming.
Instead, you can change a parameter of your IP in mhs - and that IP
only will be re synthesized and merged with the rest of the project.
Another option is to use OPTION CORE_STATE =3D DEVELOPMENT in the IP's
mpd and the core will be synthesized every time you run platgen.
More detail in C:\EDK\doc\usenglish\psf_rm.pdf page 38

Article: 129635
Subject: Re: ModelSim Natural arg value is negative
From: "Brad Smallridge" <bradsmallridge@dslextreme.com>
Date: Fri, 29 Feb 2008 11:03:42 -0800
Links: << >>  << T >>  << A >>
Excellent! Jonathan.

I was wondering what those strange initial numbers were.

I tried to divide the memory into two parts, mem_hi and
mem_lo, but got errors when mem_lo was 31 downto 0
in length. Dividing it half-half like you suggeted seems
OK, but the objective was to see the memory data in its
entirety.

The std_logic_vector approach works much cleaner. How
inefficient is it? Does it use burn an integer for
each bit of simulated memory? Or 36 to 1 inefficiency?
The code is shown below.

Thanks again,

Brad Smallridge
AiVision

The code:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity mem_tri is
 port(
 clk       :  in std_logic;
 mem_wr_n  :  in std_logic; -- active low memory write
 mem_addr  :  in std_logic_vector(17 downto 0); --18 bits 256K
 mem_data  : inout std_logic_vector(35 downto 0) );
 end mem_tri;

architecture beh of mem_tri is

 signal mem_wr_1    : std_logic;
 signal mem_wr_2    : std_logic;
 signal mem_addr_1  : std_logic_vector(17 downto 0);
 signal mem_addr_2  : std_logic_vector(17 downto 0);
 signal mem_rd_data : std_logic_vector(35 downto 0);

 -- keep the size of the memory small here
 -- to keep ModelSim simulation convenient
 constant size : integer := 128;
 type   mem_array_type is array(0 to size-1) of std_logic_vector(35 downto 
0);
 signal mem_array : mem_array_type;

begin

 memory_proc:process(clk)
 variable addr1 : integer;
 variable addr2 : integer;
 begin
 if(clk'event and clk='1')then
   mem_wr_1   <= mem_wr_n;
   mem_wr_2   <= mem_wr_1;
   mem_addr_1 <= mem_addr;
   mem_addr_2 <= mem_addr_1;
   addr1 := to_integer(unsigned(mem_addr_1));
   addr2 := to_integer(unsigned(mem_addr_2));
   if( addr2 <= size and mem_wr_2='0' )then
       mem_array(addr2) <= mem_data;
   end if;
   if( addr1 <= size-1 )then
     if( mem_wr_2='1' )then
       mem_rd_data <= mem_array(addr1);
     else
       mem_rd_data <= (others=>'0');
     end if;
   else
       -- 82 for out-of-range memory locations
       mem_rd_data <= std_logic_vector(to_unsigned(82,36));
   end if;
 end if;
 end process;

 tri_state:process(mem_rd_data,mem_wr_2)
 begin
 if(mem_wr_2='1')then -- read command, memory outputs
   mem_data <= mem_rd_data;
 else
   mem_data <= (others=>'Z');
 end if;
 end process;

end beh;




Article: 129636
Subject: Re: ModelSim Natural arg value is negative
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Fri, 29 Feb 2008 22:23:48 +0000
Links: << >>  << T >>  << A >>
On Fri, 29 Feb 2008 11:03:42 -0800, Brad Smallridge wrote:

> the objective was to see the memory data in its entirety.

Then it is probably best to represent it as a vector.

On the other hand, if you represent it as a pair (or more)
of integers, you will surely convert it to/from a vector 
on read and write, so you will get to see it "whole"
at that point.

If you want to see it *whilst it's in the memory*, then
consider storing it in 16-bit pieces (in integers).  You
can then display each location in hex, and it will look
something like this in the wave and list views:

   {0004 8fe7 327e}

so you can see your 36-bit value easily enough.  It'll
still cost you some messy conversion functions, though.

>The std_logic_vector approach works much cleaner. How
>inefficient is it? Does it use burn an integer for
>each bit of simulated memory? Or 36 to 1 inefficiency?

I don't know.  On the face of it you'd expect the 
simulator to spend one byte (or, perhaps, one word) 
for each std_logic bit.  But the std_logic and 
numeric_std packages have highly optimised implementations
in the simulator, so I wouldn't be so sure.  In any case,
you are restricting the size of your memory - so its 
total footprint will be insignificant.  If you really 
need lots of modelled memory, take a look at the docs
on "sparse memories" - that's now implemented in at 
least some variants of Modelsim/Questa.
-- 
Jonathan Bromley, Consultant

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

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

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

Article: 129637
Subject: Re: ICAP attached to Microblaze on Virtex 2-pro..
From: kyprianos <kpapadim@mhl.tuc.gr>
Date: Fri, 29 Feb 2008 14:54:36 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi Amir,

What you do is quite interesting! We have gone through a similar
process and i must say that
although it is a painful one it is a fun work as well!

On Feb 27, 10:54 pm, Xesium <amirhossein.gholamip...@gmail.com> wrote:
> Hi everybody,
> I'm trying to partially reconfigure my device (XC2VP30 on ML310 board)
> through ICAP. I have my ICAP attached to OPB which is attached to
> Microblaze. In bitgen.ut file I have set the value of mode pins
> (M2M1M0) to 1 (PULLUP). So it is not set on 101 which is JTAG mode. As

This is correct. Also be aware that the Persist bit shouldn't be set;
otherwise ICAP
will be disabled.

> well the base address and high address of my HWICAP is 0x42000000 and
> 0x42000fff as mentioned in the datasheet of HWICAP. Initially my OPB
> clock frequency was 100 MHz but now I have reduced it to 25MHz. The
> system contains a timer, a SysAce, a hwicap, a uartlite and an opb-mdm
> (for debugging) all attached to the opb. The microblaze has some local
> memory too. I'm also using EDK, ISE 8.2. That's the whole setting

I would suggest you to transit to the EDK, ISE 9.1+SP2. Moreover, EAPR
tools
would help you boosting your design. Check the link
http://www.xilinx.com/support/prealounge/protected/index.htm


> about my system. Now here is the problem:
>
> I just need to measure the delay of reconfiguration through ICAP. The
> following is a very simple C code I have implemented to read a frame
> and print the content on the screen. Later I want to write something
> to a frame and again read it back just to make sure that in fact it
> changed the reconfiguration. Firstly I initialize the ICAP module and
> then invoke XHwIcap_DeviceReadFrame() and then I read the
> configuration through XHwIcap_StorageBufferRead().

>
>     XHwIcap my_icap;
>
>     XStatus icap_stat;
>
>     icap_stat = XHwIcap_Initialize(&my_icap,
> XPAR_OPB_HWICAP_0_DEVICE_ID, XHI_READ_DEVICEID_FROM_ICAP);
>
>     if(icap_stat != XST_SUCCESS)
>         print("\n There is something wrong in initializing the ICAP!!
> \n");
>
>     Xuint32 frame_content;
>
>     icap_stat = XHwIcap_DeviceReadFrame(&my_icap, XHI_FAR_CLB_BLOCK,
> 32, 32);
>
>     if(icap_stat != XST_SUCCESS)
>         print("\n There is something working in reading a frame with col
> = 5 and lut_bit = 3!!!!!\n");
>
>         for(i = 0; i < my_icap.WordsPerFrame; i++)
>     {
>         print("word number");
>         putnum(i+1);
>         print(" is equal to: ");
>         frame_content = XHwIcap_StorageBufferRead(&my_icap, i);
>         putnum(frame_content);
>         putchar('\n');
>         }
>
> The problem is when I read back the frame except for the first 7 words
> everything is 0, no matter what frame it is.
> I have carefully studied ICAP's driver's functions and their
> implementation. I know that the driver writes the first 7 words in the
> storage buffer but even the 7 words that I read from the storage
> buffer is not the same as the ones that the driver's deviceRead
> function writes to the storage buffer. So I don't get what the problem
> is.
> The seven words that I read are as follows:
>
> 30008001
> 0000000d
> ffffffff
> ffffffff
> 30002001
> 00404000
> 2800619c
>
> However for example based on the driver's implementation the first
> word should be 0xFFFFFFFF which is an XHI_DUMMY_PACKET.
>
> So as I mentioned, my problem is I can't basically read a frame of
> configuration correctly. Do you have any idea where I'm doing wrong or
> what the problem is?
>

We have not tried the readback operation but...are you sure that you
read the correct address
the XHI_DUMMY_PACKET is stored in?
Why don't you first try to write and then read what you wrote?
Use the functions XHwIcap_StorageBufferWrite() and
XHwIcap_DeviceWrite().

Also notice that if you use JTAG to initially program the device, and
then ICAP you can use them on the same design but, between each mode
the configuration logic has to be desynchronized. In order to use the
ICAP port you should use the XhwIcap_CommandDesync() function.


> As well I have some doubts and questions. Firstly why should we first
> read a frame, modify it and then write it back to the configuration?
> Can't we just write something to the device? I haven't still worked
> with difference-based reconfiguration and it might have something to
> do with that. But if I just want to write configuration to one frame
> that doesn't implement any other part of any other circuit, can't I
> just write something to that frame without first reading it and
> modifying it?

The on-chip reconfiguration operates in a read-modify-write manner.
The date frame
is read back from the ICAP port and stored in the BRAM of the HWICAP
(see below)
in which the processor modifies the data. Afterwards, the HWICAP
downloads
the new data back to the configuration memory through the ICAP port.

>
> The second question that I have is about the storage buffer of the
> HWICAP module. Firstly I thought that I have to set an opb_bram so
> that HWICAP can use it. However later through studying the driver I
> realized that the base address for HWICAP is the same as storage
> buffer (which is the BRAM) so I concluded that when I use a HWICAP I
> implicitly assign a BRAM to it. Is this so? If not please let me know.

The "xhwicap_i.h" header file contains the XHI_MAX_BUFFER_INTS
constant which defines the size of the ICAP BRAM . The HWICAP BRAM,
i.e. storage buffer,
is implemented with a BRAM of which the 512 words at maximum are used
(at least the above
stands for EDK 7.1.i in which we conducted the experiments).

>
> The third question is the clock frequency that ICAP operates! I have
> read somewhere that the highest is 66MHz. Is it correct or we can set
> the clock higher than that?

Yes, this is the ICAP's frequency for the Virtex-2 when BUSY signal is
checked
(50 MHz when not checked). New devices like Virtex-4 embed an 100 Mhz
ICAP.

>
> This message became very long, but I really appreciate it if you could
> kindly help me out with it. I have read many of the previous posts
> about ICAP but couldn't find enough information to solve my problems.
> So perhaps this post can be a complement to them.
>
> Thanks a lot beforehand,
>
> Amir

I hope this helps. Keep up the good work and let me know about the
result.
Besides PR entails a hell of details!:)

Take care,
Kyprianos

Article: 129638
Subject: Re: ICAP attached to Microblaze on Virtex 2-pro..
From: kyprianos <kpapadim@mhl.tuc.gr>
Date: Fri, 29 Feb 2008 20:29:32 -0800 (PST)
Links: << >>  << T >>  << A >>

> >Microblaze. In bitgen.ut file I have set the value of mode pins
> > (M2M1M0) to 1 (PULLUP). So it is not set on 101 which is JTAG mode. As
> >well the base address and high address of my HWICAP is 0x42000000 and
> >0x42000fff as mentioned in the datasheet of HWICAP. Initially my OPB


Amir,

In which way to you load the initial configuration? Do you load it
through the ICAP and you don't use
ICAP at all?Did you check the Persist option?
As a second thought check the ICAP configuration. Has it been
configured appropriately? Have the base address and the high address
been added in the xparameters.h file?

Take care,
Kyprianos



Article: 129639
Subject: HELP > Face/Edge detection on FPGA
From: sami <sameemshabbir@gmail.com>
Date: Sat, 1 Mar 2008 00:12:13 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi all
I want to implement face detection on fpga
Is there any free code available

Or is there any code for edge detection available.

Plz help I need ity very much.

Article: 129640
Subject: Quartus 7.2sp2 memory exhaustion
From: sdf <drop669@gmail.com>
Date: Sat, 1 Mar 2008 04:24:32 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi.
I have Quartus 7.2sp2, MS Vista , and I have a project where I define
ROM memory (with size 4096*32 bits). I define it in verilog file in
"initial" section.
When synthesing, quartus_map.exe allocates as much as 1.5Gb of memory
and going into swapping. My computer has 2Gb of physical RAM.
So, how ROM block in verilog should be defined correctly? Am I
correct? If so, should I check some option in Quartus so it will not
to optimize that ROM block?
In general, is there any option which can disable Quartus to allocate
such huge memory chunks and so on?

Article: 129641
Subject: Re: Need info on systolic arrays in actual use
From: Kolja Sulimma <ksulimma@googlemail.com>
Date: Sat, 1 Mar 2008 08:56:50 -0800 (PST)
Links: << >>  << T >>  << A >>
The problem is, that in many cases the publications do not clearly
state whether a systolic algorithm is used.
You can only assume that any problem that can be solved by systolic
algorithms will be solved by systolic algortithms if done in hardware.

A recent one:
http://www.sgi.com/company_info/newsroom/press_releases/2007/november/fpga.html

Kolja

On 29 Feb., 18:41, "Marc Reinig" <Ma...@newsgroups.nospam> wrote:
> Thanks,
>
> I know the applications.
>
> I'm actually looking for specific equipment in which they have been used.
> i.e. XY corp. uses them in their ..., Univ. of X uses them in the XXX
> instrument, etc.
>



Article: 129642
Subject: FPGA's be afraid, very afraid, of my wife!
From: Antti <Antti.Lukats@googlemail.com>
Date: Sat, 1 Mar 2008 12:20:06 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi

recent events:

1) trying to use Xilinx Cable III (actually Amontec chameleon) to
program actel PA3 on protoboard using DirectC
2) with big fights i got "random" results sometimes reading first
IDCODE ok, but NEVER passing any further
3) after disconnecting GND it looked to be better (% of succes IDCODE
reads increased a little)
4) now i disconnected 2 wires that delivered power to the Actel FPGA
5) measured at one side of those wires 3.3V (at power source)
6) measured other side 4V !!! (just plain 2 wires open in my hands, no
load connected, fingers not touching) ?
7) now I called my wife to check out my doings (to prevent any other
CAN NOT BE THINGS...)
8) look here, i measure here, we have 3.3V right? yes she says
9) and now look the same wires, i measure here it will be 4V I say, i
connect the multimeter and we both see 3.3V
10) now I connected the 2 power wires back to actel FPGA board
11) and start the directC, and it works 100%, it does flash the FPGA
and reports FULL success!

I had checked the connectors before myself several times with no luck,
now she is just close and looking... and it all just starts to work!
No explanation. But yes, DVB anttennas, WIFI sticks, are also afraid
of her...maybe she should start business of scaring things to work ;)

http://www.truedream.org/smile/KnittingWifeSigned.pdf

smile, smile, smile :)
Antti

Article: 129643
Subject: Re: FPGA's be afraid, very afraid, of my wife!
From: Arlet Ottens <usenet+5@c-scape.nl>
Date: Sat, 01 Mar 2008 21:34:57 +0100
Links: << >>  << T >>  << A >>
Antti wrote:
> Hi
> 
> recent events:
> 
> 1) trying to use Xilinx Cable III (actually Amontec chameleon) to
> program actel PA3 on protoboard using DirectC
> 2) with big fights i got "random" results sometimes reading first
> IDCODE ok, but NEVER passing any further
> 3) after disconnecting GND it looked to be better (% of succes IDCODE
> reads increased a little)
> 4) now i disconnected 2 wires that delivered power to the Actel FPGA
> 5) measured at one side of those wires 3.3V (at power source)
> 6) measured other side 4V !!! (just plain 2 wires open in my hands, no
> load connected, fingers not touching) ?
> 7) now I called my wife to check out my doings (to prevent any other
> CAN NOT BE THINGS...)
> 8) look here, i measure here, we have 3.3V right? yes she says
> 9) and now look the same wires, i measure here it will be 4V I say, i
> connect the multimeter and we both see 3.3V
> 10) now I connected the 2 power wires back to actel FPGA board
> 11) and start the directC, and it works 100%, it does flash the FPGA
> and reports FULL success!
> 
> I had checked the connectors before myself several times with no luck,
> now she is just close and looking... and it all just starts to work!
> No explanation. But yes, DVB anttennas, WIFI sticks, are also afraid
> of her...maybe she should start business of scaring things to work ;)
> 
> http://www.truedream.org/smile/KnittingWifeSigned.pdf
> 
> smile, smile, smile :)
> Antti

Perhaps the power supply was oscillating...

Are you using an LDO regulator ? These can be unstable with low ESR 
capacitive loading.

Article: 129644
Subject: Re: FPGA's be afraid, very afraid, of my wife!
From: Falk Brunner <Falk.Brunner@gmx.de>
Date: Sat, 01 Mar 2008 21:43:04 +0100
Links: << >>  << T >>  << A >>
Antti schrieb:

> http://www.truedream.org/smile/KnittingWifeSigned.pdf
> 
> smile, smile, smile :)
> Antti

Nice. But just in case you did'nt notice, valentines are over for this 
year. ;-)

Reagrds
Falk

Article: 129645
Subject: Re: FPGA's be afraid, very afraid, of my wife!
From: Antti <Antti.Lukats@googlemail.com>
Date: Sat, 1 Mar 2008 13:21:33 -0800 (PST)
Links: << >>  << T >>  << A >>
On 1 Mrz., 21:34, Arlet Ottens <usene...@c-scape.nl> wrote:
> Antti wrote:
> > Hi
>
> > recent events:
>
> > 1) trying to use Xilinx Cable III (actually Amontec chameleon) to
> > program actel PA3 on protoboard using DirectC
> > 2) with big fights i got "random" results sometimes reading first
> > IDCODE ok, but NEVER passing any further
> > 3) after disconnecting GND it looked to be better (% of succes IDCODE
> > reads increased a little)
> > 4) now i disconnected 2 wires that delivered power to the Actel FPGA
> > 5) measured at one side of those wires 3.3V (at power source)
> > 6) measured other side 4V !!! (just plain 2 wires open in my hands, no
> > load connected, fingers not touching) ?
> > 7) now I called my wife to check out my doings (to prevent any other
> > CAN NOT BE THINGS...)
> > 8) look here, i measure here, we have 3.3V right? yes she says
> > 9) and now look the same wires, i measure here it will be 4V I say, i
> > connect the multimeter and we both see 3.3V
> > 10) now I connected the 2 power wires back to actel FPGA board
> > 11) and start the directC, and it works 100%, it does flash the FPGA
> > and reports FULL success!
>
> > I had checked the connectors before myself several times with no luck,
> > now she is just close and looking... and it all just starts to work!
> > No explanation. But yes, DVB anttennas, WIFI sticks, are also afraid
> > of her...maybe she should start business of scaring things to work ;)
>
> >http://www.truedream.org/smile/KnittingWifeSigned.pdf
>
> > smile, smile, smile :)
> > Antti
>
> Perhaps the power supply was oscillating...
>
> Are you using an LDO regulator ? These can be unstable with low ESR
> capacitive loading.

1) I borrow 3.3V from Xilinx starterkit boards user connectors, this
is OK, another actel PCB powered from can be flashed with flashpro3 OK
2) the TARGET board is just protoboard with A3P250 on it, JTAG and
DIODES to drop voltage 3.3V-->1.545V + caps of course

now, the WORKS OK result was unfortunatly just ONE time event, that
is

50 times before it did not work,
51 my wife looked WORK FULL SUCCESS
52 ..100.. not work (also when she comes to look)

what is strange is that there is dependancy on the failure if the
DirectC code is compiled with Release or Debug setting in VC2005 !!
similar things are visible with impact where the access to actel JTAG
is different when using SVF vs XSVF (execution speed issues)

most stable is my own SVF player, that passes beyond the place where
the directC failes with no random errors, but I also had "execution
speed" related issues with actel jtag

I wish someone could explain me why Actel uses IRPAUSE/DRPAUSE an not
RTI/IDLE as "parking state"... maybe it is not all related, but still
curious

oh yes, I should get another target board, and another cable, etc..

Antti
PS I did not notice valentines this year (that is I did not know the
date when it was the day)

Article: 129646
Subject: Re: Software for FPGA-based PC scope
From: lm317t <lm317t@gmail.com>
Date: Sat, 1 Mar 2008 15:36:12 -0800 (PST)
Links: << >>  << T >>  << A >>
On Feb 28, 10:18 pm, MikeShepherd...@btinternet.com wrote:
> >>...want to design a FPGA-based PC scope
> >>...May I write this in C++ Builder or Visual Basic...?
> >C/C++ language is the choice (of weapon). Basic is not an appropriate language.
>
> I'd love to hear why "Basic is not an appropriate language".

Programming in Visual Basic is known to cause severe brain-damage.
Use C and you only learn one language and one compiler (gcc) for
Windows, Linux, Mac, 32-bit ARMs, and even 8-bit AVR CPUs.  Even many
of the API's are the same from AVR to Windows

You can do all this under Ubuntu Linux: http://iso.linuxquestions.org/
You can install it dual boot on your PC or a virtual machine if the pc
is fast enough.  Don't worry the resize Windows NTFS feature is
magical and harmless.
as root: install gcc and automake tools as well as any development
library headers.

Unlike downloading and installing exe's under windows, under linux you
can anything, all headers, programs, etc from the gui tool synaptic or
the command line tool aptitude.  This tool is called a package
manager.  Windows lacks one of these and is on of the many reasons I
avoid using MS.

A great library in C for displaying data, even in real time:
http://www.eudoxos.net/gtk/gtkdatabox/
Examples are included with the tar-ball.   Use glade-3: http://glade.gnome.org/
to design the user interface

UDP Socket programmings example from:
http://beej.us/guide/bgnet/output/html/multipage/clientserver.html

The code:
http://beej.us/guide/bgnet/examples/listener.c
http://beej.us/guide/bgnet/examples/talker.c

The Socket guide is at:
http://beej.us/guide/bgnet/output/html/multipage

Personally I use the FT232RL for most of my embedded stuff.  No need
for a 232 level shifter, it goes straight from USB to UART:
http://www.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=604-00043-ND
You could also go straight USB w/ the FPGA, but thats a bit of a pain
and isn't perfect USB either.

Check out opencores.org if you go the UDP route for Verilog/VHDL cores
so you don't reinvent the wheel or any other widgets.

There are tons of C examples on the net to pull from.  Just google.

-Brian

Article: 129647
Subject: Re: Need info on systolic arrays in actual use
From: "Marc Reinig" <Marco@newsgroups.nospam>
Date: Sat, 1 Mar 2008 16:16:26 -0800
Links: << >>  << T >>  << A >>
Thanks Kolja,

Marco
________________________
Marc Reinig
UCO/Lick Observatory
Laboratory for Adaptive Optics

"Kolja Sulimma" <ksulimma@googlemail.com> wrote in message 
news:7288fa8d-1318-4ef1-95eb-ea6c374c1ed0@u72g2000hsf.googlegroups.com...
> The problem is, that in many cases the publications do not clearly
> state whether a systolic algorithm is used.
> You can only assume that any problem that can be solved by systolic
> algorithms will be solved by systolic algortithms if done in hardware.
>
> A recent one:
> http://www.sgi.com/company_info/newsroom/press_releases/2007/november/fpga.html
>
> Kolja
>
> On 29 Feb., 18:41, "Marc Reinig" <Ma...@newsgroups.nospam> wrote:
>> Thanks,
>>
>> I know the applications.
>>
>> I'm actually looking for specific equipment in which they have been used.
>> i.e. XY corp. uses them in their ..., Univ. of X uses them in the XXX
>> instrument, etc.
>>
>
> 



Article: 129648
Subject: Re: ICAP attached to Microblaze on Virtex 2-pro..
From: Xesium <amirhossein.gholamipour@gmail.com>
Date: Sat, 1 Mar 2008 18:24:45 -0800 (PST)
Links: << >>  << T >>  << A >>
Hi Kyprianos,
Thanks a lot for your comments. I checked to make sure that persist
bit is also not set. I also checked the base and high address in
xparameters.h file and they are as I had set them before. I'm actually
configuring my device using parallel cable 4 and through JTAG (I
guess!). I wasn't desynchronizing before using ICAP but now I tried
doing that to make sure that I'm not doing anything wrong. I'm not
sure how I can verify ICAP's correct configuration, but I actually
print ICAP's base address (using putnum(my_icap.BaseAddress);
statement) to make sure that it is the same as what I'd set before and
it is actually the same! However the result for me is still the same!
I tried changing the Major and Minor address that I'm writing to.
Nothing really changes if I just read it. But when I try writing to it
(just writing an arbitrary value (0xFFFFFFFF) to some address in the
storage buffer!) and then reading it exactly as the following code,
sometimes the output of DeviceReadFrame method is that the device is
busy and just then it gives me some numbers that some of them actually
are not 0. However it never happens that I actually read the same
value that I'm writing! I'm wondering, for example in your case, how
is the content of the storage buffer when you read back the
configuration? Is it mostly 0 and a few of them are non-zero?
Should I be reading words or bytes? Because I realized that when I'm
reading from compact flash I'm actually reading in bytes not words! So
when I'm writing to the storage buffer of ICAP should I be writing in
bytes or in words? If it should be in words then it means that I have
manipulate the data I'm reading from Compact Flash!
Well that's another problem but for now I can't get the ICAP work and
appreciate any suggestion and comment!
For now I'll try installing ISE and EDK 9.2 instead of 8.2 and am
keeping my fingers crossed that may work!

Thanks a lot,

Amir

My code is as follows:

    XHwIcap my_icap;

    XStatus icap_stat;

    icap_stat = XHwIcap_Initialize(&my_icap,
XPAR_OPB_HWICAP_0_DEVICE_ID, XHI_READ_DEVICEID_FROM_ICAP);

    if(icap_stat != XST_SUCCESS)
    	print("\n There is something wrong in initializing the ICAP!!
\n");

    icap_stat = XHwIcap_CommandDesync(&my_icap);

    if(icap_stat != XST_SUCCESS)
	print("\n Desynchronization was not successful!\n");

    XHwIcap_StorageBufferWrite(&my_icap, 25, 0xffffffff);

    icap_stat = XHwIcap_DeviceWriteFrame(&my_icap, XHI_FAR_CLB_BLOCK,
20, 32);

    print("A frame has been written to the device\n");


    if(icap_stat != XST_SUCCESS)
	print("There is something wrong in writing to the device!");

    Xuint32 frame_content;

    icap_stat = XHwIcap_DeviceReadFrame(&my_icap, XHI_FAR_CLB_BLOCK,
20, 32);

     print("The same frame is read from the configuration\n");

    if(icap_stat != XST_SUCCESS)
    	print("\n There is something wrong in reading a frame with col =
5 and lut_bit = 3!!!!!\n");

    if(icap_stat == XST_DEVICE_BUSY)
	print("\n Device is busy right now!\n");

    if(icap_stat == XST_BUFFER_TOO_SMALL)
	print("BUFFER is TOO SMULL!\n");

    if(icap_stat == XST_INVALID_PARAM)
	print("XST_INVALID_PARAM!\n");

    for(i = 0; i < my_icap.WordsPerFrame; i++)
    {
    	print("word number");
    	putnum(i+1);
    	print(" is equal to: ");
    	frame_content = XHwIcap_StorageBufferRead(&my_icap, i);
    	putnum(frame_content);
    	putchar('\n');
    }



On Feb 29, 8:29 pm, kyprianos <kpapa...@mhl.tuc.gr> wrote:
> > >Microblaze. In bitgen.ut file I have set the value of mode pins
> > > (M2M1M0) to 1 (PULLUP). So it is not set on 101 which is JTAG mode. As
> > >well the base address and high address of my HWICAP is 0x42000000 and
> > >0x42000fff as mentioned in the datasheet of HWICAP. Initially my OPB
>
> Amir,
>
> In which way to you load the initial configuration? Do you load it
> through the ICAP and you don't use
> ICAP at all?Did you check the Persist option?
> As a second thought check the ICAP configuration. Has it been
> configured appropriately? Have the base address and the high address
> been added in the xparameters.h file?
>
> Take care,
> Kyprianos


Article: 129649
Subject: Avnet/Memec V4FX12LC proto card and SysGen
From: "cwoodring" <cwoodring@cox.net>
Date: Sat, 1 Mar 2008 21:48:40 -0500
Links: << >>  << T >>  << A >>
Hi,
    Has anyone used this card with Xilinx System Generator to do hardware in 
the loop simulation. I can not find a board description file for it in the 
form that the System Generator wants. There is a  utility in System 
Generator called xlSBDBuilder;or something like that helps one create the 
needed files to do hardware in the loop simulation over the JTAG, but you 
need to know the pinouts of all the ports used on the card.

If someone has already done this I'd greatly appreciate a copy of the needed 
files.

Thanks,

CTW 





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