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 116725

Article: 116725
Subject: Re: How to generate sgmii interface?
From: joachim <>
Date: Fri, 16 Mar 2007 05:47:35 -0700
Links: << >>  << T >>  << A >>
Do you want to have conenction EMAC-SGMII-ext. Phy? Then its best to use CoreGen TemacWrapper v4.3/v4.3. You'll get a complete design here.

Article: 116726
Subject: Re: Xilinx FPGA, OFFSET OUT AFTER
From: "uvbaz" <uvbaz@stud.uni-karlsruhe.de>
Date: 16 Mar 2007 06:29:53 -0700
Links: << >>  << T >>  << A >>
Thanks,

I've try the tipps from Gabor,
1. It helps to improve the timing performence, to pack the output
register into IOBs.
2. About the reset signal, i don't understand. But as Frai said, i
should pay more attention to it.
3. Play with different IOSTANDARD is another way to improve the "clock
to output". Here is the Data Sheet from XILINX about different
IOSTANDARD, also about slow/fast slew-rate. :http://www.xilinx.com/
bvdocs/publications/ds302.pdf

However, it seem to be that, I got to the end of this device XILINX
Virtex-4 XC4VLX60 (It is speed grad -10, not -12). The following is
the post-par static timing report from XILINX ISE.

==========================================
Slack: -3.039 ns (requirement - (clock arrival + clock path + data
path + uncertainty))
------------------------------------------------------------------------------
Clock delay:
Tiopi  0.938                              // Input buffer
net (fanout=1) 0.928
Tbgcko_O  0.900
net (fanout=534) 3.009             // Because i have a lot of
registers clocked by this clock

Total 5.775ns (1.838ns logic, 3.937ns route)
(31.8% logic, 68.2% route)
------------------------------------------------------------------------------------
Data Delay:
Tockq  0.584
net (fanout=1) 0.050
Tioop  3.630                             // Output buffer

Total 4.264ns (4.214ns logic, 0.050ns route)
(98.8% logic, 1.2% route)
===========================================

I think i have to re-design the code. What do you think?

Thanks
Cheng





Article: 116727
Subject: init of FPGA's Block-RAMs.
From: lochen@noos.fr
Date: 16 Mar 2007 06:35:35 -0700
Links: << >>  << T >>  << A >>
Bonjour,

My name is Julien Lochen, I work as FPGA Design Engineer in France.

My question is about the init of FPGA's RAMs.

In my design, some data are stored in a block-RAM.

I need to init each byte stored in the block-RAM, but THE INIT VALUE
ARE NOT THE SAME.

To do this, I use the constraint file, in which I use the following
keyword :

"INIT_00 = 256'h ...
 INIT_01 = 256'h ...
 ...
 INIT_3F = 256'h ..."

The block-RAM is mapped as follow : 256 lines of 1 byte.

The question is :

If I want to init only the five first addresses to "1", and the rest
of the block-RAM to zero, am I correct if I write :
"INIT_00 =
256'h0000000000000000000000000000000000000000000000000000FFFFFFFFFFFF;
 INIT_01 =
256'h0000000000000000000000000000000000000000000000000000000000000000;
 ...
 INIT_3F =
256'h0000000000000000000000000000000000000000000000000000000000000000;"

regards, Julien


Article: 116728
Subject: chipscope
From: "skyworld" <chenyong20000@gmail.com>
Date: 16 Mar 2007 06:44:17 -0700
Links: << >>  << T >>  << A >>
Hi,
i have used a parallel cable to download bitfile into my Virtex 4
FPGA. But when open Chipscope with this cable, the computer said it
can't found the cable. Do anybody know how to solve this? thanks.


Article: 116729
Subject: Re: old Quartus project files
From: "Subroto Datta" <sdatta@altera.com>
Date: Fri, 16 Mar 2007 13:50:04 GMT
Links: << >>  << T >>  << A >>
Hi Manfred, you should keep the project_assignments_defaults.qdf along with 
the cdf, qpf, qsf(s), eco, dpf and qws. I recommend backing up and archiving 
the other extensions just in case. The eco is used for logging operations 
done by the resource properrty editor and the dpf is used by the pin 
planner. The project_assignments_defaults.qdf is kept so that idf defaults 
change between releases, the set of defaults shipped with the version of 
Quartus when the project was first created, continue to be used for that 
project.

Hope this helps,
Subroto Datta
Altera Corp.

"Manfred Balik" <manfred.balik@tuwien.ac.at> wrote in message 
news:45fa62c3$0$11094$3b214f66@tunews.univie.ac.at...
>I have to work again on an old project started 2004 with Quartus v3.0. Now 
>I'm working with the actual v6.1.
> There are a lot of files in the project-directory :-((( therefore I want 
> to clean up now.
>
> does someone know, if the files with this extensions are necessary or old 
> ones:
> project.csf
> project.dpf
> project.eco
> project.esf
> project.fld
> project.psf
> project.ssf
> project_assignment_defaults.qdf
>
> I think, I only need:
> project.cdf
> project.qpf
> project.qsf
> project.qws
>
> Is this right? I don't want to erase files, and recognize in a few month 
> that they were necessary!
>
> Thanks, Manfred
>
>
>
> 



Article: 116730
Subject: Re: ddr sdram controller
From: dhruvakshad@gmail.com
Date: 16 Mar 2007 06:58:02 -0700
Links: << >>  << T >>  << A >>
Hi all,
Thanks a lot guys for the response. I am currently changing the
plb_ddr controller by removing the plb side interface and integrating
the ddr interface into my code.
D


On Mar 13, 3:05 am, birla.man...@gmail.com wrote:
> On Mar 11, 1:44 am,dhruvaks...@gmail.com wrote:
>
> > How can I get a ddr sdram  controller for the MT46V16M16TG -75 micron
> > chip.
> > I want a controller without  the plb or opb interface. I tried open
> > cores.org but it says that the repository is empty with no files
> > pertaining to the ddrsdram controller core.
> > Could someone give me right pointers?
> > Thanks,
> > D.
>
> You might want to have a look at Xilinx website itself. Its not very
> high performance, but gives a good heads up.



Article: 116731
Subject: XILINX ISE: How to define a Internal clock and use it in OFFSET command?
From: "uvbaz" <uvbaz@stud.uni-karlsruhe.de>
Date: 16 Mar 2007 07:00:33 -0700
Links: << >>  << T >>  << A >>
Hi,

I have a input clock "i_clk_main", in my VHDL code, i divide this clk
with factor 2, that means "clk_int" has the half frequenz as
"i_clk_main", and i use "clk_int" to clock the output register.

Now, i must in the constraint file define, how much ns delays the
output relative to  "clk_int" may maximal have. What should i do? The
following is the error report fomr ISE.

Checking timing specifications ...
ERROR:XdmHelpers:634 - Signal "clk_int" is used as the clock in
   specification "OFFSET=OUT 7000 pS AFTER clk_int HIGH", but this
clock
   signal is not connected directly to a pad. An OFFSET specification
must use a
   pad signal to designate the clock.


Thanks, and have a nice weekend
Cheng


Article: 116732
Subject: MXE compilation error
From: dhruvakshad@gmail.com
Date: 16 Mar 2007 07:09:55 -0700
Links: << >>  << T >>  << A >>
This is an interesting and  frustrating  issue that I have. I recently
bought Modelsim MXE from xilinx. I generated a multiplier v9_0 core
using corefie and am trying to compile it using modelsim but it gives
me an error saying
" Internal error : ../../vcom/genexpr.c"
Core generator did give me the following status mesages


-- Exception (null) getting Customizer GUI for component
(com.xilinx.ip.mult_gen_v9_0.mult_gen_v9_0)

Generating Implementation files.
Generating the VHDL wrapper.
Generating the VHDL instantiation template.
Generating NGC file.
Finished Generating.
Successfully generated multiplier_v9_0.

There is no such file called genexpr.c on my system. The other cores
work fine.
Thanks,
D


Article: 116733
Subject: Re: sum of array
From: "VHDL_HELP" <abaidik@gmail.com>
Date: 16 Mar 2007 07:11:32 -0700
Links: << >>  << T >>  << A >>
On 14 mar, 18:43, "John_H" <newsgr...@johnhandwork.com> wrote:
> "VHDL_HELP" <abai...@gmail.com> wrote in message
>
> news:1173890111.962169.307570@e65g2000hsc.googlegroups.com...
>
> > On 14 mar, 13:44, "Dave Pollum" <vze24...@verizon.net> wrote:
>
> >> As John_H pointed out, taille only needs to be 2 bits.  In other
> >> words:
> >>   taille : in  STD_LOGIC_VECTOR (1 downto 0);
>
> >> As for your simulation problem, your test bench needs to supply the
> >> values to be loaded into your signal "s".  Otherwise, you will see X
> >> for dout.
>
> >> -Dave Pollum
>
> > i dont know it still the same problem
>
> So, tell us please: what does your simulation say the values of s(0), s(1=
),
> s(2), and s(3) are?
>
> Troubleshooting involves breaking the problem down into smaller pieces,
> seeing if you can show the smaller pieces work or don't work.  If you hav=
e a
> smaller piece that works, you can now ignore it and only need to concentr=
ate
> on the smaller piece that doesn't work.  You can cut that up into smaller
> pieces and isolate what works there.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity somme is
    Port ( clk : in  STD_LOGIC;
	        reset : in STD_LOGIC;
                en : in  STD_LOGIC_VECTOR (3 downto 0);
	      clk_out : out STD_LOGIC;
               s : out  STD_LOGIC_VECTOR (3 downto 0));
end somme;

architecture Behavioral of somme is
TYPE tab is array(3 downto 0) of std_logic_vector(3 downto 0);
begin
 process
 VARIABLE t:tab;
   begin
 SEQ_LOOP: loop
  			wait until clk'event and clk =3D '1';-- Lecture  de premier =E9l=E9ment
du tableau 4 =E9l=E9ments
			exit SEQ_LOOP when reset =3D '1';
			clk_out <=3D '1';
         wait until clk'event and clk =3D '1';
			exit SEQ_LOOP when reset =3D '1';
			  t(0) :=3D en;

         wait until clk'event and clk =3D '1';-- Lecture  de deuxi=E8me
=E9l=E9ment du tableau 4 =E9l=E9ments
			exit SEQ_LOOP when reset =3D '1';
			clk_out <=3D '0';
         wait until clk'event and clk =3D '1';
			exit SEQ_LOOP when reset =3D '1';
			  t(1) :=3D en;

			wait until clk'event and clk =3D '1';-- Lecture  de troisi=E8me =E9l=E9m=
ent
du tableau 4 =E9l=E9ments
			exit SEQ_LOOP when reset =3D '1';
			clk_out <=3D '1';
         wait until clk'event and clk =3D '1';
			exit SEQ_LOOP when reset =3D '1';
			  t(2) :=3D en;

			wait until clk'event and clk =3D '1';-- Lecture  de quatri=E8me =E9l=E9m=
ent
du tableau 4 =E9l=E9ments
			exit SEQ_LOOP when reset =3D '1';
			clk_out <=3D '0';
         wait until clk'event and clk =3D '1';
			exit SEQ_LOOP when reset =3D '1';
			  t(3) :=3D en;
 end loop;
  s <=3D t(0) + t(1) + t(2) + t(3);
  end process;
end Behavioral;
---------------------------------------------------------------------------=
---------------------------------------------------------------------------=
--------------------------------------------------------------
this is my problem:
for the s(0) , s(1) , s(2) and s(3)  it gives me the numbers but for s
in simulation i have as a result 4'hU and 4'hX


Article: 116734
Subject: dual PowerPC booting
From: eascheiber@yahoo.com
Date: 16 Mar 2007 07:14:31 -0700
Links: << >>  << T >>  << A >>
Hi,

I have a system with 2 PowerPCs connected to the same PLB.
Each PPC has a ISOCM connected memory mapped at around 0xffff_ffff.

I download the bitfile with bootloop programs, then I open XMD,
download program for PPC0 and PPC1 in an SDRAM at different
address ranges. Run PPC 0 then 1 and everything works fine.

However; I want to get rid of the ISOCM and when I do that the
system stops working. I tried the same hardware but don't download
the bootloop, doesn't work, tried mapping 0xffff_ffff in the SDRAM
use bootloop, doesn't work.

Any suggestions?

Regards,
e


Article: 116735
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: cs_posting@hotmail.com
Date: 16 Mar 2007 07:24:19 -0700
Links: << >>  << T >>  << A >>
On Mar 16, 10:07 am, "Bob Golenda" <bgoli...@nospam.net> wrote:

> Ah, OK.  Unfortunately, we care about:
>
> 1) how big the code it self is...so it fits in the XCF
> 2) how big the data is, as it has to fit in available memory
> 3) programming speed
>
> So, it doesn't seem like the XSVF player solution will work for us.

Why not drip feed it?  Run the XSVF player on a PC, with access to the
data file, and use your embedded target as a glorified programmer
cable?

When you say you need speed, how fast do your need to be?

Is two minutes okay?  That's what I'm getting for a fairly large
Altera part using the equivelent method.


Article: 116736
Subject: Re: init of FPGA's Block-RAMs.
From: "Barry Brown" <b0_nws2@agilent.com>
Date: Fri, 16 Mar 2007 08:01:34 -0700
Links: << >>  << T >>  << A >>
Hi Julien,

For synthesis with Synplify, I initialize memories as shown below .  The 
text files contain the memory contents, one memory location per line.

Barry Brown


// for Synplify ram inference
reg  [9:0]  RdAddr_reg;
reg  [17:0] mem1 [0:1023]/* synthesis syn_ramstyle="no_rw_check" */;
reg  [17:0] mem2 [0:1023]/* synthesis syn_ramstyle="no_rw_check" */;

initial begin                   // ROM values stored in these files
  $readmemh("Stage1_Ram1.txt", mem1);
  $readmemh("Stage1_Ram2.txt", mem2);
end


// >>>>>>>>>>>>>>>>   HARDWARE DESCRIPTION BEGINS HERE   >>>>>>>>>>>>>>>>>

// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// This code causes Synplify to infer dual port block RAMs.
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
always @(posedge WrClk)
begin : DP_BRAM
  if (WrEn[1])
    mem1[WrAddr] <= WrData;
  if (WrEn[2])
    mem2[WrAddr] <= WrData;
end // DP_BRAM

always @(posedge RdClk)
begin : BRAM_reg
  RdAddr_reg <= RdAddr;
end // BRAM_reg

assign RdData1 = mem1[RdAddr_reg];
assign RdData2 = mem2[RdAddr_reg];


Stage1_Ram1.txt :
00002
00007
00010
0001C
0002C
00040
00057
00072
00090
000B2
000D8
00101
0012E
0015F
00193
etc.




<lochen@noos.fr> wrote in message 
news:1174052135.850473.202520@d57g2000hsg.googlegroups.com...
> Bonjour,
>
> My name is Julien Lochen, I work as FPGA Design Engineer in France.
>
> My question is about the init of FPGA's RAMs.
>
> In my design, some data are stored in a block-RAM.
>
> I need to init each byte stored in the block-RAM, but THE INIT VALUE
> ARE NOT THE SAME.
>
> To do this, I use the constraint file, in which I use the following
> keyword :
>
> "INIT_00 = 256'h ...
> INIT_01 = 256'h ...
> ...
> INIT_3F = 256'h ..."
>
> The block-RAM is mapped as follow : 256 lines of 1 byte.
>
> The question is :
>
> If I want to init only the five first addresses to "1", and the rest
> of the block-RAM to zero, am I correct if I write :
> "INIT_00 =
> 256'h0000000000000000000000000000000000000000000000000000FFFFFFFFFFFF;
> INIT_01 =
> 256'h0000000000000000000000000000000000000000000000000000000000000000;
> ...
> INIT_3F =
> 256'h0000000000000000000000000000000000000000000000000000000000000000;"
>
> regards, Julien
> 



Article: 116737
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: "Bob Golenda" <bgolinda@nospam.net>
Date: Fri, 16 Mar 2007 10:07:50 -0500
Links: << >>  << T >>  << A >>
> > This is using XSVFPlayer?  How many M Bytes is the file?  Don't you have
> > to
> > actually do an output of the file and record that, and then use
> > XSVFPlayer?
> >
>
> We don't really care much about how big is the file as it gets downloaded
> from an external server when needed and the whole purpose of this is a
rare
> in-field hardware upgrade.

Ah, OK.  Unfortunately, we care about:

1) how big the code it self is...so it fits in the XCF
2) how big the data is, as it has to fit in available memory
3) programming speed

So, it doesn't seem like the XSVF player solution will work for us.  That's
why I asked about straight JTAG programming, which it seems like no one has
actually done and gotten working.

Thanks!



Article: 116738
Subject: Re: sum of array
From: "John_H" <newsgroup@johnhandwork.com>
Date: Fri, 16 Mar 2007 08:14:18 -0700
Links: << >>  << T >>  << A >>
"VHDL_HELP" <abaidik@gmail.com> wrote in message 
news:1174054292.325732.224840@y80g2000hsf.googlegroups.com...
<snip>
> -----------------------------
> this is my problem:
> for the s(0) , s(1) , s(2) and s(3)  it gives me the numbers but for s
> in simulation i have as a result 4'hU and 4'hX

If by s( ) you mean t( ) and all the t values are numbers according to your 
simulation and your resulting sum is 4'hU and 4'hX according to your 
simulation, it sounds like your simulator is broken.

VHDL gurus: is there *anything* that might go wrong with the addition given 
the libraries he has specified? 



Article: 116739
Subject: Re: init of FPGA's Block-RAMs.
From: "John_H" <newsgroup@johnhandwork.com>
Date: Fri, 16 Mar 2007 08:21:37 -0700
Links: << >>  << T >>  << A >>
It looks like you have what you need if you ignore the fact that there are 
12 F digits in your string rather than five 1s or five FFs.

The question is where do you want to apply the INITs?  The INITs work fine 
in the .ucf file.  If you want them in your source code, you have to 
instantiate the BlockRAM primitive.  Is that what you've done?  In Verilog, 
I prefer to use the inline parameters rather than synthesis attributes or 
defparam values.  One of these three methods will need to be used to attach 
the INITs properly to the instantiated BlockRAM.  Which do you prefer?

If you're inferring your memory, look to your synthesizer's reference for 
initialization.  An initial block will work for some synthesizers and Barry 
Brown pointed out how Synplify likes to handle file-based memory 
initialization for Verilog.

- John_H


<lochen@noos.fr> wrote in message 
news:1174052135.850473.202520@d57g2000hsg.googlegroups.com...
> Bonjour,
>
> My name is Julien Lochen, I work as FPGA Design Engineer in France.
>
> My question is about the init of FPGA's RAMs.
>
> In my design, some data are stored in a block-RAM.
>
> I need to init each byte stored in the block-RAM, but THE INIT VALUE
> ARE NOT THE SAME.
>
> To do this, I use the constraint file, in which I use the following
> keyword :
>
> "INIT_00 = 256'h ...
> INIT_01 = 256'h ...
> ...
> INIT_3F = 256'h ..."
>
> The block-RAM is mapped as follow : 256 lines of 1 byte.
>
> The question is :
>
> If I want to init only the five first addresses to "1", and the rest
> of the block-RAM to zero, am I correct if I write :
> "INIT_00 =
> 256'h0000000000000000000000000000000000000000000000000000FFFFFFFFFFFF;
> INIT_01 =
> 256'h0000000000000000000000000000000000000000000000000000000000000000;
> ...
> INIT_3F =
> 256'h0000000000000000000000000000000000000000000000000000000000000000;"
>
> regards, Julien
> 



Article: 116740
Subject: Xilinx Synthesis Attribute usage
From: "Joel" <jceven@gmail.com>
Date: 16 Mar 2007 08:27:26 -0700
Links: << >>  << T >>  << A >>
Xilinx gurus out there,

I have a very very simple design with a 24 bit counter, and I am using
bit 24 in an always block like this

always @(posedge cnt[23])


Xilinx is telling me that it didnt automatically insert a clock
buffer, and that it thinks this is a clock.  I then added
// synthesis attribute BUFFER_TYPE of cnt[23] is bufgp

to my verilog and to a .xcf file (that I specified as synthesis
constraints file in synthesis properties).

However synthesis is still reporting that cnt[23] is a clock and the
buffer type is NONE and that I need to specify buffer_type for if I
want it to insert a buffer.

What am I doing wrong?  Based on what I read about synthesis
attributes, they can just go inline with the verilog, but it doenst
seem to be getting picked up.

Any ideas?

Thanks,
-J


Article: 116741
Subject: Re: sum of array
From: Jonathan Bromley <jonathan.bromley@MYCOMPANY.com>
Date: Fri, 16 Mar 2007 15:53:54 +0000
Links: << >>  << T >>  << A >>
On Fri, 16 Mar 2007 08:14:18 -0700, "John_H"
<newsgroup@johnhandwork.com> wrote:

>"VHDL_HELP" <abaidik@gmail.com> wrote in message 
>news:1174054292.325732.224840@y80g2000hsf.googlegroups.com...
><snip>
>> -----------------------------
>> this is my problem:
>> for the s(0) , s(1) , s(2) and s(3)  it gives me the numbers but for s
>> in simulation i have as a result 4'hU and 4'hX
>
>is there *anything* that might go wrong with the addition given 
>the libraries he has specified? 

Don't think so (although my dislike of STD_LOGIC_UNSIGNED 
is well enough known by now).

The problem is simpler:  SEQ_LOOP is an infinite loop
containing an implicit state machine.  The loop exits
only when reset is asserted.  If reset is held false, the
loop continues to iterate and the final assignment
is never executed, so 's' is never updated.

Could we please find the tutor (or book writer, or other
"authority") who is teaching beginners to use this
form of implicit state machine, and string him/her
up by a rope tied around some sensitive appendage?

It makes my blood boil so much that I'm willing to post
the (obvious, simple) code that works - assuming 
the use of NUMERIC_STD instead of STD_LOGIC_ARITH:

process (clk, reset)
  subtype T_chiffre is unsigned(3 downto 0);
  type T_tableau4x4 is array (0 to 3) of T_chiffre;
  variable lieu: unsigned(1 downto 0);
  variable t: T_tableau4x4;
  variable somme: T_chiffre;
begin
  if reset = '1' then
    -- remettre tout à zero
    lieu := "00";
    t := (others => (others => '0'));
    clk_out <= '0';
    s <= (others => '0');
  elsif rising_edge(clk) then
    -- faire le somme en ajoutant chaque numero memorisé
    somme := (others => '0');
    for i in t'range loop
      somme := somme + t(i);
    end loop;
    -- mettre le somme en mémoire "s"
    s <= somme;
    -- sauvegarder le numéro prochain
    t(to_unsigned(lieu)) := en;
    -- ??? horloge /2 ???
    clk_out <= not lieu(0);
    -- préparer pour boucle prochain
    lieu := lieu + 1;
  end if;
end process;

Beware of arithmetic overflow.  Output gives the sum of the
most recently seen 4 values.  I have no idea why you want
clk_out.
-- 
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: 116742
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: "MM" <mbmsv@yahoo.com>
Date: Fri, 16 Mar 2007 11:21:21 -0500
Links: << >>  << T >>  << A >>
> That's
> why I asked about straight JTAG programming, which it seems like no one 
> has
> actually done and gotten working.

Read again Antti's reply. He has done it.

/Mikhail 



Article: 116743
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: "Bob Golenda" <bgolinda@nospam.net>
Date: Fri, 16 Mar 2007 11:31:58 -0500
Links: << >>  << T >>  << A >>
> > Ah, OK.  Unfortunately, we care about:
> >
> > 1) how big the code it self is...so it fits in the XCF
> > 2) how big the data is, as it has to fit in available memory
> > 3) programming speed
> >
> > So, it doesn't seem like the XSVF player solution will work for us.
>
> Why not drip feed it?  Run the XSVF player on a PC, with access to the
> data file, and use your embedded target as a glorified programmer
> cable?

That may be possible in some situations, but not this.  The software that
talks to the board is dedicated (and embedded), and the programming needs to
be self contained.

> When you say you need speed, how fast do your need to be?
>
> Is two minutes okay?  That's what I'm getting for a fairly large
> Altera part using the equivelent method.

That would be fine, but the speed depends on a lot of things.  Now, you are
programming an Altera...I specifically asked about Xilinx XCF...



Article: 116744
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: "Bob Golenda" <bgolinda@nospam.net>
Date: Fri, 16 Mar 2007 11:37:03 -0500
Links: << >>  << T >>  << A >>
> Read again Antti's reply. He has done it.

I read that he ported XCF player.

 When he said his first time was about a month, it's unclear exactly what it
is he did, and how it operated.  I will ask him off-line.

But, let's say he has done it...has anyone else?  So far, it appears not,
and that doing it is no trivial task.



Article: 116745
Subject: Re: Programming XCF from MicroBlaze over JTAG???
From: cs_posting@hotmail.com
Date: 16 Mar 2007 09:49:30 -0700
Links: << >>  << T >>  << A >>
On Mar 16, 11:31 am, "Bob Golenda" <bgoli...@nospam.net> wrote:
>
> > Why not drip feed it?  Run the XSVF player on a PC, with access to the
> > data file, and use your embedded target as a glorified programmer
> > cable?
>
> That may be possible in some situations, but not this.  The software that
> talks to the board is dedicated (and embedded), and the programming needs to
> be self contained.

And how is the new bit or XSVF file going to get into this "self
contained" device to start with?
Download?  Flash Card?  How?  Answer that question and you are on the
path to solving your problem.

> > Is two minutes okay?  That's what I'm getting for a fairly large
> > Altera part using the equivelent method.
>
> That would be fine, but the speed depends on a lot of things.  Now, you are
> programming an Altera...I specifically asked about Xilinx XCF...

Speed depends mostly on the size of the part and the efficiency of the
implementation - for comparison, this is about 4x slower than the USB
blaster doing the same job.

You haven't specified how big your bitstream is, anyway.

(I haven't told you how big mine is because I'm not exactly sure - the
pof file is about 500k, but the jam file is only about 300k... I'm not
really sure how big the actual prom image is)


Article: 116746
Subject: Re: XIlinx 9.2 'partition' mode problem - s/w dies....
From: "davide" <davide@xilinx.com>
Date: Fri, 16 Mar 2007 09:57:08 -0700
Links: << >>  << T >>  << A >>
John,

I have not worked with partitions and can not offer any assistance there, 
but I did see a similar Answer Record (AR) that called out the same error in 
MAP.  Check out AR23369:
http://www.xilinx.com/xlnx/xil_ans_display.jsp?iLanguageID=1&iCountryID=1&getPagePath=23369

I can not say if the environment variable change will help, but it is 
something to try.  As the design is proprietary, is there a way you can 
create a non-proprietary design that exihibits the same error for the FAE? 
This is the best way for the SW developers to fix the bug / get a workaround 
to you.

-David


"johnp" <johnp3+nospam@probo.com> wrote in message 
news:1174000707.039560.139610@n59g2000hsh.googlegroups.com...
> I've tired using the Xilinx 'partition' feature several times now with
> very mixed/negative results.
>
> I tried partions again today with the 9.1.2 s/w and it dies with an
> unhelpful message:
>
>    DeleteInterpProc called with active evals
>
>    This application has requested the Runtime to terminate it in an
> unusual way.
>    Please contact the application's support team for more
> information.
>
>    Process "Place & Route" failed
>
> My FAE tells me Xilinx wants the HDL source to help resolve this
> problem - this
> can't happen since a chunk of it is highly proprietary.
>
> a) has anyone else seen this and found a work-around?
> b) has anyone had a positive experience with partitions?
>
> Please don't suggest trying SmartGuide - it has it's own set of
> problems
> with this design.
>
> John Providenza
> 



Article: 116747
Subject: Re: using XIlinx impact in batch mode to generate EEPROM files
From: dipumisc@hotmail.com
Date: 16 Mar 2007 10:02:35 -0700
Links: << >>  << T >>  << A >>


Thanks for all the postings. On unix, impact created a _impact.cmd
file when I ran it through the gui. I the copied the file to a new
name gen_mcs.cmd and added an "exit" command at the end and ran on
batch mode as "impact -batch gen_mcs.cmd". It worked fine.

-Dipankar




Article: 116748
Subject: Re: How to use the DDR SDRAM instead of Block RAM?
From: "Daniel S." <digitalmastrmind_no_spam@hotmail.com>
Date: Fri, 16 Mar 2007 13:13:20 -0400
Links: << >>  << T >>  << A >>
Ken Soon wrote:
> Hi,
> I have a design that is implemented on the Virtex4 and it consumes 69
> FIFO16/RAMB16s. I hope to be able to implement it on a Spartan 3E evaluation
> board but clearly, it is not enough as the 3E only has 36Block rams
> My evaluation board has 4 DDR SDRAM of 512MBit, can I use those instead of
> the insufficient block rams?
> 
> Cheers,
> Ken

It depends on how much bandwidth you need and whether or not you can spare the logic for 
the necessary memory controller.

I am working on a high-performance memory controller of my own to interface a PC3200 DDR 
DIMM to an XC2VP30 that can sustain anywhere from 100% read to 100% write and my 
preliminary data says this is pretty expensive: my final memory controller will consume 
about 40 BRAMs out of 136. About half of the BRAM cost comes from the quad x36 internal 
memory ring bus controllers' FIFOs and most of the other half comes from the dual-ported 
back-end's 128bits wide FIFOs. This design is overkill for a VP30 but I am currently 
unemployed so I am simply killing time by doing something that may be useful later - or at 
the very least instructive since I have never interfaced DRAMs directly before.

If your DRAMs provide you only a 32bits-wide data bus and you can operate your internal 
data path at twice the DDR clock, things get much simpler and smaller. A 0 BRAM memory 
controller would be possible under these conditions... but I'd still slap on a BRAM FIFO 
or three (local RX, local TX, pass-through) with extra logic to 'ringify' it if more than 
one or two function blocks are going to share access.

Article: 116749
Subject: Re: Xilinx FPGA, OFFSET OUT AFTER
From: jean-baptiste.nouvel@jdsu.com
Date: 16 Mar 2007 10:35:27 -0700
Links: << >>  << T >>  << A >>
Hello Cheng,

I have just tried your design here.
6ns from inside clock to outside of the chip is not huge.

If you want to go high up in frequency, you have two choices:
- the fpga (when writing to the outside) needs to provide the clock
alonside the data. This is done for instance by running the fpga at
twice the frequency then dividing this clock in the IOB by two and
this
forms the clock you provide to the outside world. But in your case
twice as
much might be a pain.
This way your system is said 'source synchronous'.

- if your system is 'system synchronous' i.e. an external clock is fed
to your
fpga and the other chips it interfaces with, then what you can do is
use a dcm
inside the fpga and use clk270 to 'advance the clock (1/4Tcycle). This
will help the
fpga-writes case but make sure it doesn't break the fpga-read (you can
do the math:
1/4Tcycle in your case is 2ns).

I hope this helps,
jb





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