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 51150

Article: 51150
(removed)


Article: 51151
Subject: Re: interface DRAM to FPGA
From: Thomas Rudloff <thomas_rudloff@gmx.net>
Date: Sat, 04 Jan 2003 04:20:46 +0100
Links: << >>  << T >>  << A >>
Oh dear,

There are to choices:
Leave the FPGA output unterminated (driving full speed/power)
and put a termination resistor in the middle.
This works fine as long as the traces are short and the capacitive
load is not that much.
Or:
Use impedance matching at the FPGA and put serial termination
resistors close to the RAMs.

I guess I saw an application note at Micron Technology
http://www.micron.com

Regards
Thomas


Peter Alfke wrote:

> Interesting problem.
> Here is a half-answer and half-promise:
> You can use series termination with DCI as the FPGA driver, and then (
> strange idea!  ) keep the FPGA output active ( High or Low) while
> receiving data from the DRAM. That gives you a brute-force parallel
> input termination to Vcc or to ground (your choice by manipulating the
> FPGA Dout line).
> The problem is that you may end up with poor receive logic levels,
> depending on the DRAM output impedance and the FPGA I/O standard. The
> promise is that we are working on  configuration standards to solve that
> issue...
> DCI looks better every day.
> Peter Alfke, Xilinx Applications
>
> jakab tanko wrote:
>
> > Hi Andy,
> >
> > This solves one half of my problem; if virtex2 drives the
> > bidirectional line then DCI will probably work, what about the DRAM
> > driving the same line (not the same time, of course). There is no
> > built in series resistor in the DRAM !?
> > ---
> > jakab
> > Andreas Schweizer <aschweiz@iiic.ethz.ch> wrote in message
> > news:3e1458fc@core.inf.ethz.ch...
> > > Hi Jakab,
> > >
> > > also a happy new year to you!
> > >
> > > > a Xilinx Virtex2 on one end and a DRAM on the other,
> > >
> > > These have built-in "resistors". You can configure the IO's as
> > > DCI (digitally controlled impedance) and provide two reference
> > > resistors per IO bank (VRN, VRP).
> > > If you instantiate the correct IO buffers in your code,
> > > probably LVDCI or LVDCI_DV2 (the former with 50 Ohm reference
> > > resistors, the latter with 100 Ohm), the virtex-ii automatically
> > > matches the impedance.
> > >
> > > HTH,
> > > Andy
> > >
> > >


Article: 51152
Subject: Re: BP programmer questions, prices, alternatives
From: "Daniel Lang" <dblx@xtyrvos.caltech.edu>
Date: Fri, 3 Jan 2003 20:51:28 -0800
Links: << >>  << T >>  << A >>
You may want to take a look at Advin, http://www.advin.com/ .
I have had good results with a Pilot U40 that I bought when
I was programming Pals & Gals.  The software updates are free.

Daniel Lang

"Dave" <dfnr2@yahoo.com> wrote in message news:m34r8yao2s.fsf@yahoo.com...
> Hello,
>
> I'm thinking of letting my Data I/O coast on without further software
> updates, and put the money into a new BP programmer.  I'm frustrated
> by the lack of pricing information on the BP website, or any
> distributors' sites.  Would anyone who recently bought a BP-1200 care
> to post some prices for the 1200, any of the extra modules, any
> upgrades, and the software upgrade to generate serial numbers.
>
> Also, is it possible to write your own little program to generate
> serial numbers, and have the free BP software call it, or do you still
> have to pay for an "advanced features" package?
>
> It would be great if some kind soul posted some info here;
> alternatively, I'd be grateful for a scanned pricelist by email.  I've
> contacted the local rep, but since there's no reply, I assume he's on
> vacation.
>
> Thanks for any info,
>
> David.
> --
> dave - dfnr2@yahoo.com
>



Article: 51153
Subject: xst adding rams?
From: Charlie Root <foo@bar.baz>
Date: Sat, 04 Jan 2003 06:11:18 GMT
Links: << >>  << T >>  << A >>
I have a v2pro design under 5.1i sp3 including a fifo with a
block ram directly instantiated in it (not inferred).  The
data outputs of the fifo drive a somewhat heavily loaded bus.
It looks like XST is adding extra rams to the fifo during
synthesis, which is causing our compile runs to fail, as the
extra 8 rams it infers puts us over the limit of our part.
Strangely XST is quiet about this replication in it's log file
- I see no mention of it.  We use this module in another design
with less loading and see no replication.

After looking in the xst log file, next I tried to look at the 
schematics generated by xst's rtlview keyword, but it doesn't
seem to show replicated logic.  We finally discovered it by
pulling up good ol' chip editor un the unrouted design and
listing all of the block rams.  I wish we still had edif (or
some text netlist) out...  Viewing schematics that don't
reflect reality is really annoying.

As for a fix I could add a f/f stage after the fifo, but I
don't want to add the gates and add another cycle of latency
and more complexity to the control state machine.

I tried adding a line like this:

// synthesis attribute REGISTER_DUPLICATION of u_ram is NO

to the code, but it seems to have no effect.


Anybody seen this?  Anyone know a fix?

Please reply to (remove the dashes) a-d-y-e-r@enteract.com


Article: 51154
Subject: Warnings in FPGA...
From: "Kevin Yeoh" <kevyeoh@tm.net.my>
Date: Sat, 4 Jan 2003 15:18:22 +0800
Links: << >>  << T >>  << A >>
Hi all,

Anyone out there who knows what's the meaning of this error?

Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 66
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 69
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 72
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 92
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 95
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 98
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 101
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 104
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 107
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 110
 Signal or port name expected as actual in association element.  (VSS-806)
Error: F:/Floating Point Unit/wallace_4_2_comp.vhd  line 113
 Signal or port name expected as actual in association element.  (VSS-806)


My source code is :

-- wallace_4_2_comp
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

entity wallace_4_2_comp is
 port (
  pp_0 : in BIT_VECTOR(25 downto 0);
  pp_1 : in BIT_VECTOR(28 downto 3);
  pp_2 : in BIT_VECTOR(31 downto 6);
  pp_3 : in BIT_VECTOR(34 downto 9);
  pp_4 : in BIT_VECTOR(37 downto 12);
  pp_5 : in BIT_VECTOR(40 downto 15);
  pp_6 : in BIT_VECTOR(43 downto 18);
  pp_7 : in BIT_VECTOR(46 downto 21);
  pp_8 : in BIT_VECTOR(49 downto 24);
  neg : in BIT_VECTOR(8 downto 0);
  wsuma : out BIT_VECTOR(49 downto 0);
  wcarrya : out BIT_VECTOR(50 downto 1)
 );
end wallace_4_2_comp;

architecture wallace_4_2_comp_arch of wallace_4_2_comp is
 signal coi:BIT_VECTOR(49 downto 6);
 signal negnot:BIT_VECTOR(8 downto 0);

 -- VHDL Module Generator component declarations
 component comp_4_2
 port (
  a : in BIT;
  b : in BIT;
  c : in BIT;
  d : in BIT;
  cin : in BIT;
  cout : out BIT;
  sum : out BIT;
  carry : out BIT
 );
 end component;

begin
 --First part of compressor
 process(pp_0,neg,pp_1)
  variable temp:BIT;
  variable notneg:BIT_VECTOR(8 downto 0);
  begin
   for i in 0 to 8 loop
    notneg(i):='1' xor neg(i);
   end loop;
   negnot<=notneg;
   wsuma(0)<=neg(0)xor pp_0(0);
   wcarrya(1)<=neg(0)and pp_0(0);
   wsuma(1)<=pp_0(1);
   wsuma(2)<=pp_0(2);
   temp:=neg(1)xor pp_0(3);
   wsuma(3)<=temp xor pp_1(3);
   wcarrya(4)<=(neg(1) and pp_0(3))or(temp and pp_1(3));
   wsuma(4)<=pp_0(4) xor pp_1(4);
   wcarrya(5)<=pp_0(4)and pp_1(4);
   wsuma(5)<=pp_0(5) xor pp_1(5);
   wcarrya(6)<=pp_0(5) and pp_1(5);
 end process;

 cp6: comp_4_2  --the error occurs here
  port map (pp_0(6), pp_1(6), pp_2(6), neg(2), '0', coi(6), wsuma(6),
wcarrya(7));

 cp7: comp_4_2 --and also here and the rest of the components instantiation
  port map (pp_0(7), pp_1(7), pp_2(7), '0', coi(6), coi(7), wsuma(7),
wcarrya(8));

 cp8: comp_4_2
  port map (pp_0(8), pp_1(8), pp_2(8), '0', coi(7), coi(8), wsuma(8),
wcarrya(9));

 cp_9_25: for i in 9 to 25 generate

 cp : comp_4_2 port map (pp_0(i), pp_1(i), pp_2(i), pp_3(i), coi(i-1),
coi(i), wsuma(i), wcarrya(i+1));
 end generate;

 cp26: comp_4_2
  port map (neg(0), pp_1(26), pp_2(26), pp_3(26), coi(25), coi(26),
wsuma(26), wcarrya(27));

 cp27: comp_4_2
  port map (neg(0), pp_1(27), pp_2(27), pp_3(27), coi(26), coi(27),
wsuma(27), wcarrya(28));

 cp28: comp_4_2
  port map (neg(0), pp_1(28), pp_2(28), pp_3(28), coi(27), coi(28),
wsuma(28), wcarrya(29));

 cp29: comp_4_2
  port map (negnot(0), negnot(1), pp_2(29), pp_3(29), coi(28), coi(29),
wsuma(29), wcarrya(30));

 cp30: comp_4_2
  port map ('0', '1', pp_2(30), pp_3(30), coi(29), coi(30), wsuma(30),
wcarrya(31));

 cp31: comp_4_2
  port map ('0', '1', pp_2(31), pp_3(31), coi(30), coi(31), wsuma(31),
wcarrya(32));

 cp32 : comp_4_2
  port map ('0', '0', negnot(2), pp_3(32), coi(31), coi(32), wsuma(32),
wcarrya(33));

 cp33 : comp_4_2
  port map ('0', '0', '1', pp_3(33), coi(32), coi(33), wsuma(33),
wsuma(34));

 cp34: comp_4_2
  port map ('0', '0', '1', pp_3(34), coi(33), coi(34), wsuma(34),
wcarrya(35));

 cp35: comp_4_2
  port map ('0', '0', '0', negnot(3), coi(34), coi(35), wsuma(35),
wcarrya(36));

 cp36: comp_4_2
  port map ('0', '0', '0', '1', coi(35), coi(36), wsuma(36), wcarrya(37));

 cp37: comp_4_2
  port map ('0', '0', '0', '1', coi(36), coi(37), wsuma(37), wcarrya(38));

 --Second part of compressor


 -- Enter concurrent statements here
end wallace_4_2_comp_arch;





Article: 51155
Subject: Re: Xilinx Makefile for ISE 5.1i
From: akineko@pacbell.net (Aki Niimura)
Date: 3 Jan 2003 23:40:19 -0800
Links: << >>  << T >>  << A >>
Hi Kate,

Thank you very much for letting me know a feature which I have 
overlooked. XFLOW is not exactly something what I originally 
wanted. But surely it does the job.
I will investigate further.

BTW, I also thank you for giving me the pointer to the documentation, 
'Development System Reference Guide' (dev.pdf). I found the documentation
very useful.

Thanks!
Aki Niimura

Kate Kelley <kate.kelley@xilinx.com> wrote in message 
> Aki,
> 
> Check out XFLOW.
> 
> http://toolbox.xilinx.com/docsan/xilinx5/pdf/docs/dev/dev.pdf
> 
> Chapter 22.
> 
> XFLOW is a command line tool similar to makefiles.  It might be what 
> you want to do.
> 
> Kate

Article: 51156
Subject: Re: Running 2 inter related programs on the FPGA
From: Javier =?iso-8859-1?Q?Fern=E1ndez?= <javier@atc.ugr.es>
Date: Sat, 04 Jan 2003 12:06:52 +0100
Links: << >>  << T >>  << A >>


Peter Alfke wrote:
> 
> On a more sophisticated level, you can also use partial reconfiguration
> to modify the logic functionality ( not just the data) in one part of the
> FPGA, as determined by results from another ( or even the same) part of
> the device. This can get quite esoteric...
> 

This reminded me of a paragraph in Wirth's book
"Algorithms + Data structures = Programs".
I haven't the english version at hand, but in my
version the paragraph is in section 5.6, right
before Program 5.3, while explaining table-driven
syntactic analysis.

Wirth talks about the flexibility of table-driven
analysis, which is able not only to translate a
piece of code to its parsing tree, but also may
be used for extendible languages: languages that
allow modifying the language itself while analyzing
code.

Right after that, Wirth remarks that the idea wasn't
too successful, because of semantics. Machine code must
be finally generated, and including the semantic description
of the <newly added language features> is difficult to
formalize.

Perhaps Wirth could have used an FPGA block library to
formalize the semantic description... :-) Ahead of time

-javier

Article: 51157
Subject: How can you tell if your clock signals are on the clock net?
From: "chris" <cjwang@notmyemail.net>
Date: Sat, 4 Jan 2003 20:30:29 +0900
Links: << >>  << T >>  << A >>
Hello.
I am running into some weird timing skews on my clock signals in my
post-route simulation. I believe that my clock signals are not on the clock
nets. I am using a Virtex2, with Synplify 7.2, and Xilins ISE 4.2 SP3. Is
there any way to tell if my clock signal is on the clock net or not?
chris wang


Article: 51158
Subject: Re: Latch edge sensitive on data & RESET
From: "Stan Lackey" <stanlackey@hotmail.com>
Date: Sat, 4 Jan 2003 10:51:42 -0500
Links: << >>  << T >>  << A >>
> I work on an altera MAX7000 & MAX+PLUS II. I want to use a D latch
> sensitive to falling edge for clock & rising edge for reset. For the
> clock it is not a problem but I don't find any lacth which is not
> sensitive to level on reset pin.
>
> It can be made in VHDL but i don't have the license. Is it possible to
> do it in an other way ?

That coding paradigm used that makes latches or flops look sensitive to a
reset "edge" is a hack in the languages to make asynchronous resets work,
without actually handling it properly in the language.  BTW they just appear
to "work" - none of the simulators can actually model an asynchronous reset
or set properly.

So in answer, it only LOOKS like it can be done in VHDL.

You need a flop with two clocks.  Some libraries have them, but I guess the
one you're using doesn't.  If you can't get around absolutely needing this
capability, you'll probably have to design an Asynchronous FSM to get it.
You should be able to get a textbook that outlines the procedure.  It's been
about 15 years since I've done one and have more or less forgotton.  Try a
Web search.

-Stan



Article: 51159
Subject: Dynamic Reconfiguration
From: thetallman63@yahoo.com (Sumanth Donthi)
Date: 4 Jan 2003 08:03:44 -0800
Links: << >>  << T >>  << A >>
Hi!

  I am new to Dynamic reconfigurable FPGAs, can anyone send me links
that would clearly explain this concept with a suitable application.

Thank you,
Sumanth Donthi

Article: 51160
Subject: Re: interface DRAM to FPGA
From: rickman <spamgoeshere4@yahoo.com>
Date: Sat, 04 Jan 2003 11:27:56 -0500
Links: << >>  << T >>  << A >>
Peter Alfke wrote:
> 
> rickman wrote:
> 
> >  However if they use an internal control for direction in
> > the same way a tristate control works, then they can switch the
> > resistance to match in both cases.
> >
> > Is this what Xilinx is thinking about doing?
> 
> Yes, but it's even simpler. The resistance is not even switched around, and the
> output is not 3-stated. It's just made active Low (or High). Intriguingly
> simple.  :-)
> Peter Alfke

I understand the simplicity.  I was not suggesting that you tristate the
output.  I was suggesting that you use a control to switch the
resistance between the input and output.  If you don't change the
resistance you have a poor compromise for the resistor value.  

As I said in the other post, the series resistance is set to a value
equal to the trace impedance minus the output impedance of the driver. 
A parallel impedance is set equal to the trace impedance.  Unless your
output driver has an inherent output impedance that is near zero, the
method you suggest will result in a poor match to one, the other or both
resistors.  

-- 

Rick "rickman" Collins

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

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

Article: 51161
Subject: Re: Running 2 inter related programs on the FPGA
From: "Stevenson" <NOSPAMstevenson@infinito.it>
Date: Sat, 04 Jan 2003 17:15:13 GMT
Links: << >>  << T >>  << A >>
Hi Peter!
I'm very interested in partial reconfiguration, but I've always found few
documentation about it,
and above all, it seemed to me that there are very few parts that can
implement it explicitly, is it true?!? Common FPGAs like the Xilinx
Spartan2 can implement it too in some way?
And if yes, how? (e.g. which software tools are needed?)
Thank you in advance for your answer!

Stevenson




Peter Alfke <peter@xilinx.com> wrote in message
3E160A0B.6AFCAEBA@xilinx.com...
> Yes, absolutely true.
> But it needs an external piece of logic to maintain the control, since the
> FPGA is "dead" during the whole reconfiguration process. That's not the
fact
> during partial reconfiguration, but it may require real finesse to take
> advantage of that.
>
> Peter Alfke
> ==================
> Mike Treseler wrote:
>
> > Peter Alfke wrote:
> >
> > > On a more sophisticated level, you can also use partial
reconfiguration
> > > to modify the logic functionality ( not just the data) in one part of
the
> > > FPGA, as determined by results from another ( or even the same) part
of
> > > the device. This can get quite esoteric...
> >
> > In cases where your pcb has the flash and firmware to load
> > the FPGA, you can keep multiple configurations
> > in flash available to downloade in response to
> > a system mode change.
> >
> >            -- Mike Treseler
>





Article: 51162
Subject: HDMP-1032/34 Design experinces, hints and so
From: naderimisc@yahoo.com (Masoud Naderi)
Date: 4 Jan 2003 13:18:25 -0800
Links: << >>  << T >>  << A >>
Hi,
Does anyone has experinces or know some tricky points on designing
with hdmp-1032/34 gigabit Tx/Rx ICs? I want to design a card with
them. Please let me know what you know.
Best regards
Masoud

Article: 51163
Subject: conversions and some assistance please
From: "Jason Berringer" <jberringer@trace-logic.com.delete>
Date: Sat, 4 Jan 2003 16:27:46 -0500
Links: << >>  << T >>  << A >>
Hello All,

I'm working on a rather trivial project for myself to help me get further
acquainted with FPGAs and VHDL in particular (No I'm not a student, I'm
educating myself, or trying to).

I'm attempting to build a voltmeter. I'm using an ADC tied to the FPGA and
then eventually I want to output the reading on a LCD display also tied to
the FPGA. I'm a little bit confused as to the steps needed to get from one
end to the other. Firstly my values coming from the ADC are binary values,
so I have to convert them to an integer (I'm assuming) then I have to do
some multiplication and division to get my final result which will be a
fixed point number (again an assumption but I want at least one decimal
place for accuracy). Then this value must be converted somehow so that I can
send it to the LCD. I understand a BCD to hex converter for the display, but
how does one convert say a 16 bit fixed point number to a unit that can be
displayed.

I would appreciate any pointers or useful links that may help me discover
all of the steps required to do this. I know that there are ICs to do this
already out there, but that isn't any fun, and they won't help me learn
anything.

Thanks for the help (in advance)

Jason



Article: 51164
Subject: Re: Dynamic Reconfiguration
From: Rene Tschaggelar <tschaggelar@dplanet.ch>
Date: Sat, 04 Jan 2003 22:54:31 +0100
Links: << >>  << T >>  << A >>
Sumanth Donthi wrote:
> Hi!
> 
>   I am new to Dynamic reconfigurable FPGAs, can anyone send me links
> that would clearly explain this concept with a suitable application.

Some families of programmable logic is RAM based and therefore
allows being reloaded when necessary.
The manufacturers websites contain application notes.

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


Article: 51165
Subject: Re: conversions and some assistance please
From: "dave garnett" <dave.garnett@metapurple.co.uk>
Date: Sat, 4 Jan 2003 22:01:02 -0000
Links: << >>  << T >>  << A >>
Actually not so trivial a project on an FPGA, much simpler with a micro.

You need to do arithmetic, you have plenty of time (FPGA's are very fast compared with the human reader), so you do everything with
a serial (one bit at a time) adder/subtracter. It is possible to do everything with parallel logic of course, but that would require
quite a lot of (FPGA) resources, besides being rather less fun.

Multiplication is just repeated addition, division is repeated subtraction. To convert binary to decimal for the output, you divide
by ten, the remainder (in the range 0 to 9) is the least significant digit. Now divide the quotient by ten, the new remainder is the
next most significant digit, and so on.

Dave


"Jason Berringer" <jberringer@trace-logic.com.delete> wrote in message news:ptIR9.16736$VW5.1466136@news20.bellglobal.com...
> Hello All,
>
> I'm working on a rather trivial project for myself to help me get further
> acquainted with FPGAs and VHDL in particular (No I'm not a student, I'm
> educating myself, or trying to).
>
> I'm attempting to build a voltmeter. I'm using an ADC tied to the FPGA and
> then eventually I want to output the reading on a LCD display also tied to
> the FPGA. I'm a little bit confused as to the steps needed to get from one
> end to the other. Firstly my values coming from the ADC are binary values,
> so I have to convert them to an integer (I'm assuming) then I have to do
> some multiplication and division to get my final result which will be a
> fixed point number (again an assumption but I want at least one decimal
> place for accuracy). Then this value must be converted somehow so that I can
> send it to the LCD. I understand a BCD to hex converter for the display, but
> how does one convert say a 16 bit fixed point number to a unit that can be
> displayed.
>
> I would appreciate any pointers or useful links that may help me discover
> all of the steps required to do this. I know that there are ICs to do this
> already out there, but that isn't any fun, and they won't help me learn
> anything.
>
> Thanks for the help (in advance)
>
> Jason
>
>



Article: 51166
Subject: Re: How can you tell if your clock signals are on the clock net?
From: Phil Hays <SpamPostmaster@attbi.com>
Date: Sat, 04 Jan 2003 22:08:36 GMT
Links: << >>  << T >>  << A >>
chris wrote:
> 
> Hello.
> I am running into some weird timing skews on my clock signals in my
> post-route simulation. I believe that my clock signals are not on the clock
> nets. I am using a Virtex2, with Synplify 7.2, and Xilins ISE 4.2 SP3. Is
> there any way to tell if my clock signal is on the clock net or not?
> chris wang

Run a static timing.  TRCE -v 100 -u 100 your_design_name.  Then look
carefully at the resulting timing report.  Make sure that all timings
you care about are specified, and that you understand what you see.  

If you have HDL Analyst on Synplify, look at the "technology view"
schematic.

FPGA editor.



-- 
Phil Hays

Article: 51167
Subject: place and route problem
From: m.bonny@tu-bs.de (Talal)
Date: 4 Jan 2003 14:10:34 -0800
Links: << >>  << T >>  << A >>
Hello All,
Every time i try to place and rote my design, I get this error:

ERROR:Place:106 - Could not find an automatic placement for the following
components:
clkp of type GCLK IOB is unplaced.
initilization_dll0 of type DLL is placed at DLL2.
initilization_dll1 of type DLL is placed at DLL1.
initilization_bufg2 of type GCLK BUFFER is placed at GCLKBUF2.
initilization_bufg1 of type GCLK BUFFER is placed at GCLKBUF0.
initilization_bufg0 of type GCLK BUFFER is placed at GCLKBUF1.
ERROR:Place:107 - Xilinx requires using locate constraints to preplace such
connected GCLK/GCLKIO/DLL components.


Any one knows the solution?

Talal

Article: 51168
Subject: Re: How can you tell if your clock signals are on the clock net?
From: johnjakson@yahoo.com (john jakson)
Date: 4 Jan 2003 16:44:08 -0800
Links: << >>  << T >>  << A >>
"chris" <cjwang@notmyemail.net> wrote in message news:<av6g1p$lif$2@news01cd.so-net.ne.jp>...
> Hello.
> I am running into some weird timing skews on my clock signals in my
> post-route simulation. I believe that my clock signals are not on the clock
> nets. I am using a Virtex2, with Synplify 7.2, and Xilins ISE 4.2 SP3. Is
> there any way to tell if my clock signal is on the clock net or not?
> chris wang

Did you gate the Clock?, if you did, you likely got a routed clock
net. If you didn't, you shouldn't be seeing any routed clock nets.

High speed clocks can't be gated on the wire since they are usually
driven by PLL/DLL and distributed low skew buffers. If you really
needed to gate the clock, use a hold mux instead.

Article: 51169
Subject: Re: interface DRAM to FPGA
From: Peter Alfke <peter@xilinx.com>
Date: Sat, 04 Jan 2003 18:45:02 -0800
Links: << >>  << T >>  << A >>

rickman wrote:

> I understand the simplicity.  I was not suggesting that you tristate the
> output.  I was suggesting that you use a control to switch the
> resistance between the input and output.  If you don't change the
> resistance you have a poor compromise for the resistor value.
>
> As I said in the other post, the series resistance is set to a value
> equal to the trace impedance minus the output impedance of the driver.
> A parallel impedance is set equal to the trace impedance.  Unless your
> output driver has an inherent output impedance that is near zero, the
> method you suggest will result in a poor match to one, the other or both
> resistors.

Rick, I have to correct you:
When you use DCI (digitally controlled impedance), the output impedance is exactly
the way you program it. It is NOT the sum of two impedances or resistors. The output
transistor ( the one pulling High as well as the other one pulling Low) are
controlled to each have the appropriate resistance (whenever each one is activated),
and the user should make that equal to the characteristic impedance of the line.
Now you see that we have perfect series termination, and also perfect parallel
termination.
The beauty of a servo-controlled internally-defined output impedance...  :-)

Peter Alfke, Xilinx Applications


Article: 51170
Subject: Re: Dynamic Reconfiguration
From: Peter Alfke <peter@xilinx.com>
Date: Sat, 04 Jan 2003 18:55:05 -0800
Links: << >>  << T >>  << A >>
All so-called "SRAM-based" FPGA (mainly offered by Xilinx and Altera)
must be configured by loading a bitstream ( or bytestream) into the
device, and they can then be reconfigured with a different stream, as
often as you want. The configuration takes milliseconds to seconds, and
during the (re)configuration the device is not usable, i.e its outputs
are 3-stated.
The newer Xilinx devices go one step further, they allow partial
reconfiguration, where part of the existing configuration is retained.
Obviously faster, and avoiding the potential data loss in the preserved
part of the device.

Peter Alfke, Xilinx Applications
===================================
Sumanth Donthi wrote:

> Hi!
>
>   I am new to Dynamic reconfigurable FPGAs, can anyone send me links
> that would clearly explain this concept with a suitable application.
>
> Thank you,
> Sumanth Donthi


Article: 51171
Subject: Re: How can you tell if your clock signals are on the clock net?
From: "S. Ramirez" <sramirez@cfl.rr.com>
Date: Sun, 05 Jan 2003 03:46:56 GMT
Links: << >>  << T >>  << A >>
"chris" <cjwang@notmyemail.net> wrote in message
news:av6g1p$lif$2@news01cd.so-net.ne.jp...
> Hello.
> I am running into some weird timing skews on my clock signals in my
> post-route simulation. I believe that my clock signals are not on the
clock
> nets. I am using a Virtex2, with Synplify 7.2, and Xilins ISE 4.2 SP3. Is
> there any way to tell if my clock signal is on the clock net or not?
> chris wang

Chris,

The sure fire way to determine if your clock signal is actually on a clock
net is to look at it using FPGA Editor in the Xilinx tool kit.  In Design
Mangler, the FPGA Editor icon is a chip looking thing on the right, second
from bottom.

Find a slice containing a flip flop that is in doubt and click on the net
line that comes into its CLK input.  Most likely it's the last input on the
left of the slice.  When you click on the net line, it will turn red.  If it
is a dedicated clock net, it will go many places and look like a grid.  You
can actually trace the driver of this grid back to a BUFG.  BUFGs (and DLLs)
are usually located at the top and bottom middles.  If you see this
grid-like net driven by a BUFG, then you will know that the "clock signal is
on the clock net..."

Regards and Happy New Year,

Simon Ramirez
Synchronous Design, Inc.



Article: 51172
Subject: reconfiguration times
From: thetallman63@yahoo.com (Sumanth Donthi)
Date: 4 Jan 2003 20:13:59 -0800
Links: << >>  << T >>  << A >>
hi!

  How can you determine the reconfiguration time of the Xilinx
virtex/virtex E FPGA and atmel AT40K FPGA?

Thanks,
Sumanth Donthi

Article: 51173
Subject: Re: reconfiguration times
From: "Tony M" <tonym_98@hotmail.com>
Date: Sun, 05 Jan 2003 08:19:38 GMT
Links: << >>  << T >>  << A >>
I depends on which version of the chip you have and number of gates and the
speed of your programming system and the programming method (serial?  select
i/o parallel? jtag?).

Read the tech notes on programming the chips.

A quick example might be the Virtex 300k gate chip, with a config clock of
50 MHz, using SelectMAP programming mode.

It can be programmed at up to 50mhz without having to worry about a 'wait
i'm processing' signal from the virtex chip.  As noted in the tech docs, the
bit stream size is IIRC 297860 bytes.
Using SelectMAP 8-bit interface you can send over 1 byte per cclk
(configuration clock) for a rate of 50 megabytes per second.   doing the
math 297860 bytes / (50 MBps) = 5.9572 ms.  add a few uS before and after to
erase and start programming as well as init the device after programming,
again these #'s are in the tech doc.

Tony


"Sumanth Donthi" <thetallman63@yahoo.com> wrote in message
news:b43a630c.0301042013.275fc342@posting.google.com...
> hi!
>
>   How can you determine the reconfiguration time of the Xilinx
> virtex/virtex E FPGA and atmel AT40K FPGA?
>
> Thanks,
> Sumanth Donthi



Article: 51174
Subject: Re: conversions and some assistance please
From: Ralf Hildebrandt <Ralf-Hildebrandt@gmx.de>
Date: Sun, 05 Jan 2003 10:15:19 +0100
Links: << >>  << T >>  << A >>
Hi Jason!

> I'm attempting to build a voltmeter. I'm using an ADC tied to the FPGA and
> then eventually I want to output the reading on a LCD display also tied to
> the FPGA. I'm a little bit confused as to the steps needed to get from one
> end to the other. Firstly my values coming from the ADC are binary values,
> so I have to convert them to an integer (I'm assuming)

You think like writing a software.
The output of the ADC is a parallel/serial word. The word contains bits, 
that represent some value. You say, that the value is coded binary - fine.

Every hardware uses these binary coded words. VHDL gives you the ability 
to convert the type of your data, but this does not change the 
representation of the date in hardware. - Example:

signal		A_sulv		: std_ulogic_vector(7 downto 0);
-- I assume, this is the output of the ADC - a 8 bit binary coded word.
signal		A_int		: integer range 0 to 255;
-- A_int will be the same data, like A_sulv.

Now I can convert A_sulv to A_int:
A_int <= to_integer( signed(A_sulv) );

The conversion is only for _you_. For hardware there is no difference 
between A_int and A_sulv.


-> Hint: Work always with std_ulogic (better) or std_logic. If you want 
to do some arithmetic operations (e.g. A+B), convert the data to 
unsigned, signed, integer or whatever is nessecary and helpful.


> I understand a BCD to hex converter for the display, but
> how does one convert say a 16 bit fixed point number to a unit that can be
> displayed.

That depends on your display. How the data should be coded for it?

If it accepts BCD, you have to write a binary-to-BCD-converter. (You 
mentioned, that the result of your operations will be a fixed point 
number - this means, it can be represented as std_ulogic_vector and 
should be coded binary.)

Ralf




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