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 91250

Article: 91250
Subject: Re: FPGA : PCI-CORE
From: "Nial Stewart" <nial@nialstewartdevelopments.co.uk>
Date: Wed, 2 Nov 2005 15:10:55 -0000
Links: << >>  << T >>  << A >>
> http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=5825643507
>
> that e-book includes ALL instructions how to get an PCI design up and
> running.
> the PCI core used there is VERY simple and usually works out of box, you
> just assign PCI IO pins and constraint on PCI clock nothing else.
> I have tested the PCI core on spartan 3, virtex2, cyclone and max2 boards.


Antti,

Does this clearly explain how to get an FPGA based PCI core to emulate
an LPT port, and does the C++ include the code that talks to it?



Nial. 



Article: 91251
Subject: Re: FPGA : PCI-CORE
From: "Antti Lukats" <antti@openchip.org>
Date: Wed, 2 Nov 2005 16:21:59 +0100
Links: << >>  << T >>  << A >>
"Nial Stewart" <nial@nialstewartdevelopments.co.uk> schrieb im Newsbeitrag
news:4368d700$0$23295$db0fefd9@news.zen.co.uk...
> > http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=5825643507
> >
> > that e-book includes ALL instructions how to get an PCI design up and
> > running.
> > the PCI core used there is VERY simple and usually works out of box, you
> > just assign PCI IO pins and constraint on PCI clock nothing else.
> > I have tested the PCI core on spartan 3, virtex2, cyclone and max2
boards.
>
>
> Antti,
>
> Does this clearly explain how to get an FPGA based PCI core to emulate
> an LPT port, and does the C++ include the code that talks to it?
>

YES. it also includes a LPT connected logic analyzer (uses BRAM's).
so original software written for LPT connected logic analyzer does run on
the PCI board.

the PCI LPT is 'Lava PCI LPT' it is recognized by Windows XP nativly no
extra driver
just regular LPT (with 16 base address !!!) any software that can talk to
LPT can talk
to the PCI core, and whatever is connected to the virtual LPT wires.

I am using the same PCI-LPT with xilinx cable III emulation in MAX2
starterkit
as PCI Xlinx Cable III :)

Antti

PS Nial, I have verified the PCI part of the cores on your cyclone board it
worked.
the LPT stuff is just later mods not verified on your cyclone board but I am
confident
it should work as well.



Article: 91252
Subject: Re: differential clock in EDK
From: =?ISO-8859-1?Q?Johan_Bernsp=E5ng?= <xjohbex@xfoix.se>
Date: Wed, 02 Nov 2005 16:47:35 +0100
Links: << >>  << T >>  << A >>
Paul Hartke wrote:
> Here is I handle differential clock input with BSB/EDK.  Xilinx Answer
> Record 19539 discusses the general strategy which uses a pcore that
> converts from differential inputs to single net inside the FPGA.  Have a
> single ended clock in the XBD and generate the design.  
> Change the following in the generated MHS:
>  PORT sys_clk_pin = dcm_clk_s, DIR = INPUT, SIGIS = DCMCLK
> ... to: 
>  PORT diff_sys_clk_n_pin = diff_sys_clk_n, DIR = INPUT
>  PORT diff_sys_clk_p_pin = diff_sys_clk_p, DIR = INPUT
> ...
> And add the following pcore instantiation:
> BEGIN DIFF_INPUT_BUF
>  PARAMETER INSTANCE = DIFF_INPUT_BUF_0
>  PARAMETER HW_VER = 1.00.a
>  PARAMETER INPUT_BUS_WIDTH = 1
>  PORT DIFF_INPUT_P = diff_sys_clk_p
>  PORT DIFF_INPUT_N = diff_sys_clk_n
>  PORT SINGLE_ENDED_INPUT = dcm_clk_s
> END
> Then modify the UCF to duplicate the single ended LOC and constraints to
> the second differential pin.  I've been doing this with the XUPV2P board
> for several months and haven't had any issues.  
>  
> I've already made an enchancement request to the Xilinx EDK team to
> natively support this.  Would anyone else find such support useful?
> 
> Paul

Thanks Paul, your comment put me on the right track. The answer record 
19539 was exactly what I was looking for. Yes, I have been searching the 
Xilinx website.

The only thing I had to add to my design was IOB_STATE=BUF after the two 
differential ports in the MPD-file. The design is working fine now.

regards



-- 
-----------------------------------------------
Johan Bernspång, xjohbex@xfoix.se
Research engineer

Swedish Defence Research Agency - FOI
Division of Command & Control Systems
Department of Electronic Warfare Systems

www.foi.se

Please remove the x's in the email address if
replying to me personally.
-----------------------------------------------

Article: 91253
Subject: FPGA C Compiler on sourceforge.net (TMCC derivative)
From: air_bits@yahoo.com
Date: 2 Nov 2005 07:56:39 -0800
Links: << >>  << T >>  << A >>
Project released a beta based on an enhanced TMCC, and is looking for
help
to bring FpgaC up to a production stable level.

Home page at http://fpgac.sourceforge.net/
Project page at http://sourceforge.net/projects/fpgac


Article: 91254
Subject: Re: FPGA C Compiler on sourceforge.net (TMCC derivative)
From: Rene Tschaggelar <none@none.net>
Date: Wed, 02 Nov 2005 17:34:47 +0100
Links: << >>  << T >>  << A >>
air_bits@yahoo.com wrote:

> Project released a beta based on an enhanced TMCC, and is looking for
> help
> to bring FpgaC up to a production stable level.
> 
> Home page at http://fpgac.sourceforge.net/
> Project page at http://sourceforge.net/projects/fpgac
> 

Why are those guys so keen on C ? Suggesting
compatibility with something while having least
readability ?

Rene

Article: 91255
Subject: Re: FPGA : PCI-CORE
From: "John_H" <johnhandwork@mail.com>
Date: Wed, 02 Nov 2005 16:44:07 GMT
Links: << >>  << T >>  << A >>
"bijoy" <pbijoy@rediffmail.com> wrote in message 
news:ee916ad.-1@webx.sUN8CHnE...
> Hi I have a PCI core from xilinx it's ucf is done for spartan-3-200 device
>
> want to port the same design to spartan-3e250 device.
>
> have changed the pin assignment but was getting the following error during 
> place and route. " Phase 1.1 ERROR:Place:207 - Due to SelectIO banking 
> constraints, the IOBs in your design cannot be automatically placed." and 
> there were timing errors too,
>
> how can i port the design to another device, may i get some direction to 
> proceed in this regard
>
> Thanks in advance
>
> rgds bijoy

It shouldn't be tough to get things running.  If you look at the pad report 
generated during place & route, you'll find the banks and what the tool 
believes the VCCO should be for those banks.  You may have an I/O from 
somewhere else in your design that wants to share a bank with the PCI pins 
but doesn't use the 3.3V.

The Spartan-3E has a bunch of input-only pins that you need to keep track of 
since most of the PCI signals are I/O.  Also, your config file has a bit 
that will put the "PCI_LOGIC" block back into use; the Spartan-3 dropped the 
feature but the Spartan-3E brought it back.  You can look at FPGA Editor to 
see the expected placement of the I/Os relative to the PCI_LOGIC block 
assuming you're not using the free Xilinx tools (which don't have the FPGA 
Editor if I recall correctly). 



Article: 91256
Subject: Re: FPGA : PCI-CORE
From: "Antti Lukats" <antti@openchip.org>
Date: Wed, 2 Nov 2005 18:09:56 +0100
Links: << >>  << T >>  << A >>
"John_H" <johnhandwork@mail.com> schrieb im Newsbeitrag 
news:r16af.26$Ge6.159@news-west.eli.net...
> "bijoy" <pbijoy@rediffmail.com> wrote in message 
> news:ee916ad.-1@webx.sUN8CHnE...
>> Hi I have a PCI core from xilinx it's ucf is done for spartan-3-200 
>> device
>>
>> want to port the same design to spartan-3e250 device.
>>
>> have changed the pin assignment but was getting the following error 
>> during place and route. " Phase 1.1 ERROR:Place:207 - Due to SelectIO 
>> banking constraints, the IOBs in your design cannot be automatically 
>> placed." and there were timing errors too,
>>
>> how can i port the design to another device, may i get some direction to 
>> proceed in this regard
>>
>> Thanks in advance
>>
>> rgds bijoy
>
> It shouldn't be tough to get things running.  If you look at the pad 
> report generated during place & route, you'll find the banks and what the 
> tool believes the VCCO should be for those banks.  You may have an I/O 
> from somewhere else in your design that wants to share a bank with the PCI 
> pins but doesn't use the 3.3V.
>
> The Spartan-3E has a bunch of input-only pins that you need to keep track 
> of since most of the PCI signals are I/O.  Also, your config file has a 
> bit that will put the "PCI_LOGIC" block back into use; the Spartan-3 
> dropped the feature but the Spartan-3E brought it back.  You can look at 
> FPGA Editor to see the expected placement of the I/Os relative to the 
> PCI_LOGIC block assuming you're not using the free Xilinx tools (which 
> don't have the FPGA Editor if I recall correctly).
>
Hi John,

the the PCI_LOGIC is undocumented FPGA primitive do you happen to have 
addtional info about it?
is useable in non xilinx design by using hard macro wrapper around it or by 
other means?

Antti






Article: 91257
Subject: clock detection
From: sebastien.coquet@techway-dot-fr.no-spam.invalid (seb_tech_fr)
Date: Wed, 02 Nov 2005 11:16:13 -0600
Links: << >>  << T >>  << A >>
Hi !
I need advice to build a very small firmware which will detect if a
clock signal is active or not.
Indeed, My FPGA (V2Pro) is connected to other devices/boards and
receives a clock signal. However, this clock signal is not active at
the begining and I would like to inform other devices/boards if clock
signal is ready or not.

My question is : How can I do to know if a signal clock is active?

I thought to implement a counter driven by this clock. But this will
not ensure me that signal is a clock at X MHz.

May I use a DCM, and look at the LOCKED signal?

All ideas are welcomed.


Thank you.


Article: 91258
Subject: Newbie. Clocks.
From: miti0200@student.miun-dot-se.no-spam.invalid (mice)
Date: Wed, 02 Nov 2005 11:16:13 -0600
Links: << >>  << T >>  << A >>
My head is spinning...
One should only use one of the edges in a clock domain, right?

But if I have a memory read set up at "posedge clk".
verilog ex.

always @(posedge clk)
ram_adress<=8'h00;

Where do I do the acual reading of the result of this if I'm not
allowed to use the negedge of the clock?
Having another "always @(posedge)" for the reading doesn't make any
sense to me.
Could any kind soul explain this to me? Please.

Also I've searched the forums regarding gated clocks, but couldn't
find any info about it (thought I did a while ago, but it seems to be
lost).
How do I go about creating a clock with half of the frequency of the
clock coming in to the fpga?
This is how I do it now, and that's not right, is it?
[code:1:faaa777181]
reg px=1'b0;
always @(posedge clk)
begin 
   px<=px+1'b1;
end
assign pixelClock=px;
[/code:1:faaa777181]
Also, I create more clocks in the same way, with different phases
(using both the pos- and negedge).

If someone could point me in the right direction I would be very
pleased.

Cheers!
((mice


Article: 91259
Subject: Re: FPGA C Compiler on sourceforge.net (TMCC derivative)
From: Jan Panteltje <pNaonStpealmtje@yahoo.com>
Date: Wed, 02 Nov 2005 18:02:26 GMT
Links: << >>  << T >>  << A >>
On a sunny day (2 Nov 2005 07:56:39 -0800) it happened air_bits@yahoo.com
wrote in <1130946999.695784.287900@g14g2000cwa.googlegroups.com>:

>Project released a beta based on an enhanced TMCC, and is looking for
>help
>to bring FpgaC up to a production stable level.
>
>Home page at http://fpgac.sourceforge.net/
>Project page at http://sourceforge.net/projects/fpgac
>
Interesting.
here is something to think about from the libc.info from gcc C.
maybe you already support these?
I recently found out it is better to use these in C then 'int' and 'short',
as some programs I wrote stopped working when compiled on AMD 64....
(header file structures with 'int' and 'short' and 'BYTE' ).

Integers
========

   The C language defines several integer data types: integer, short
integer, long integer, and character, all in both signed and unsigned
varieties.  The GNU C compiler extends the language to contain long
long integers as well.

   The C integer types were intended to allow code to be portable among
machines with different inherent data sizes (word sizes), so each type
may have different ranges on different machines.  The problem with this
is that a program often needs to be written for a particular range of
integers, and sometimes must be written for a particular size of
storage, regardless of what machine the program runs on.

   To address this problem, the GNU C library contains C type
definitions you can use to declare integers that meet your exact needs.
Because the GNU C library header files are customized to a specific
machine, your program source code doesn't have to be.

   These `typedef's are in `stdint.h'.

   If you require that an integer be represented in exactly N bits, use
one of the following types, with the obvious mapping to bit size and
signedness:

   * int8_t

   * int16_t

   * int32_t

   * int64_t

   * uint8_t

   * uint16_t

   * uint32_t

   * uint64_t

_________________________________________
Usenet Zone Free Binaries Usenet Server
More than 140,000 groups
Unlimited download
http://www.usenetzone.com to open account

Article: 91260
Subject: Re: Newbie. Clocks.
From: Brian Dam Pedersen <brian.pedersen@mail.danbbs.dk>
Date: Wed, 02 Nov 2005 19:04:20 +0100
Links: << >>  << T >>  << A >>
Keep away from gated clocks until you know how a clocked system works. I 
would recommend to start at http://www.answers.com/sequential%20logic 
for an introduction.

-- Brian

mice wrote:
> My head is spinning...
> One should only use one of the edges in a clock domain, right?
> 
> But if I have a memory read set up at "posedge clk".
> verilog ex.
> 
> always @(posedge clk)
> ram_adress<=8'h00;
> 
> Where do I do the acual reading of the result of this if I'm not
> allowed to use the negedge of the clock?
> Having another "always @(posedge)" for the reading doesn't make any
> sense to me.
> Could any kind soul explain this to me? Please.
> 
> Also I've searched the forums regarding gated clocks, but couldn't
> find any info about it (thought I did a while ago, but it seems to be
> lost).
> How do I go about creating a clock with half of the frequency of the
> clock coming in to the fpga?
> This is how I do it now, and that's not right, is it?
> [code:1:faaa777181]
> reg px=1'b0;
> always @(posedge clk)
> begin 
>    px<=px+1'b1;
> end
> assign pixelClock=px;
> [/code:1:faaa777181]
> Also, I create more clocks in the same way, with different phases
> (using both the pos- and negedge).
> 
> If someone could point me in the right direction I would be very
> pleased.
> 
> Cheers!
> ((mice
> 

Article: 91261
Subject: Re: Newbie. Clocks.
From: "Symon" <symon_brewer@hotmail.com>
Date: Wed, 2 Nov 2005 10:28:40 -0800
Links: << >>  << T >>  << A >>
"mice" <miti0200@student.miun-dot-se.no-spam.invalid> wrote in message 
news:edudncK3N_3AafXeRVn_vQ@giganews.com...
> My head is spinning...
> One should only use one of the edges in a clock domain, right?
>
> But if I have a memory read set up at "posedge clk".
> verilog ex.
>
> always @(posedge clk)
> ram_adress<=8'h00;
>
> Where do I do the acual reading of the result of this if I'm not
> allowed to use the negedge of the clock?
> Having another "always @(posedge)" for the reading doesn't make any
> sense to me.
> Could any kind soul explain this to me? Please.
>
Dear Rodents,
I sold my soul long ago, and even then it wasn't kind! However, I'll try and 
help. OK, it's important your clock has very little skew. This means it 
arrives at all the FFs at the same time. Fogs provide a special low skew 
feature for this purpose. Look for BUFG on Xilinx's website. Also, it's 
important that your FFs have short hold times. You'll find FPGAs' FFs are of 
this type. This means you can use the rising edge of your clock to clock all 
the FFs in your design, without getting race conditions and the like. The 
delay from one FF to the next is enough to meet the hold condition, provide 
your skew is low enough. If your clock is too fast, or the delays too long, 
you won't meet the setup condition, but that's another subject...
HTH, Syms. 



Article: 91262
Subject: Re: Newbie. Clocks.
From: "Symon" <symon_brewer@hotmail.com>
Date: Wed, 2 Nov 2005 10:29:53 -0800
Links: << >>  << T >>  << A >>
Fogs = FPGAs. Bloody spell-checker. 



Article: 91263
Subject: Re: FPGA : PCI-CORE
From: "John_H" <johnhandwork@mail.com>
Date: Wed, 02 Nov 2005 18:31:10 GMT
Links: << >>  << T >>  << A >>
Antti,

I have no documentation on the functionality of the block.  I only know that 
it's included or excluded in the Xilinx PCI cores through the PCI .cfg file. 
Others have wondered about explicit functionality before - you might find 
something with Google.  Generally, it's used to provide clock enables to the 
data lines combinatorially based on the PCI interface IRDY and TRDY (and 
other core) signals since these have the most stressed timing in PCI.

- John_H


"Antti Lukats" <antti@openchip.org> wrote in message 
news:dkart4$h85$1@online.de...
> Hi John,
>
> the the PCI_LOGIC is undocumented FPGA primitive do you happen to have 
> addtional info about it?
> is useable in non xilinx design by using hard macro wrapper around it or 
> by other means?
>
> Antti 



Article: 91264
Subject: Re: FPGA : PCI-CORE
From: Kevin Brace <sa0les1@brac2ed3esi4gns5olut6ions.com>
Date: Wed, 02 Nov 2005 18:51:12 GMT
Links: << >>  << T >>  << A >>
Hi bijoy,

My company Brace Design Solutions has developed a Xilinx (TM) LogiCORE 
(TM) PCI compatible (replacement) PCI IP core called BDS XPCI PCI IP core.
While the current release of the BDS XPCI PCI IP core (Ver. 1.0.0) 
doesn't come with a constraint file for Spartan-3 or Spartan-3E, we have 
done Post Place & Route simulation of BDS XPCI PCI IP core in Spartan-3, 
and has functioned properly.
Therefore, we should be able to port it to Spartan-3E relatively easily, 
and we can also specifically create a UCF constraint file for the 
particular Spartan-3E part you have.
The BDS XPCI32 PCI IP core commercial perpetual license version normally 
costs $3,000 for domestic customers/$3,600 for foreign customers, but as 
an introductory pricing, we will offer it for $2,000 for domestic 
customers/$2,400 for foreign customers.
Only the first few customers will get the introductory pricing, so if 
you are interested, we recommend that you contact us right away.
         For other interested ordinary FPGA users, we offer BDS XPCI32 
PCI IP core is available for as little as $100 for non-commercial, 
non-profit, personal use, and the same 64-bit version BDS XPCI64 PCI IP 
core (Includes BDS XPCI32 PCI IP core) goes for $200.
Since the pricing starts at only $100, it is ideal for HDL learners, 
FPGA beginners, FPGA hobbyists, computer hardware enthusiasts, or 
student graduation projects.
BDS XPCI PCI IP core comes with a PCI testbench for Verilog HDL which 
allows the user to simulate the design extensively on HDL simulators 
before firing up the FPGA.
ModelSim including ModelSim XE is supported by BDS XPCI PCI IP core, and 
the next release of BDS XPCI PCI IP core will support a $50 Verilog HDL 
simulator called Veritak by Sugawara Systems 
(http://www.sugawara-systems.com) as a low cost alternative to ModelSim 
XE. (Current version doesn't function properly in Veritak, but the 
problem has been fixed.)
VHDL support is currently poor, but VHDL porting of reference designs 
and PCI testbench should be available in a month. (Porting has been 
taking a little longer than expected.)
BDS XPCI PCI IP core officially supports the following PCI boards.

- Insight Electronics Spartan-II 150 PCI (Already discontinued)

- Insight Electronics Spartan-II 200 PCI Development Kit
http://www.memec.com/uploaded/SpartanII200PCI.pdf


BDS XPCI PCI IP core "unofficially" supports the following PCI boards.

- Avnet Xilinx Spartan-3 Evaluation Kit
http://www.em.avnet.com/evk/home/0,1719,RID%253D0%2526CID%253D7816%2526CCD%253DUSA%2526SID%253D4742%2526DID%253DDF2%2526SRT%253D1%2526LID%253D18806%2526PVW%253D%2526BID%253DDF2%2526CTP%253DEVK,00.html
http://www.em.avnet.com/ctf_shared/evk/df2df2usa/Xilinx%20Spartan-3%20Evaluation%20Kit%20-%20Brief%20022504F.pdf

- Enterpoint Broaddown2 Development Board
http://www.enterpoint.co.uk/moelbryn/broaddown2.html


So with BDS XPCI PCI IP core, almost anyone can make their own PCI 
device for about $450 to $550. ($300 to $400 for the board + $100 for 
BDS XPCI32 PCI IP core + $50 for Veritak.)
For commercial users who want to modify a Xilinx LogiCORE PCI or want to 
convert a design that uses Xilinx LogiCORE PCI to an ASIC (FPGA to ASIC 
conversion), BDS XPCI PCI IP core is also available in Verilog HDL RTL.
For more information, visit Brace Design Solutions website at 
http://www.bracedesignsolutions.com.


Kevin Brace


bijoy wrote:
> Hi I have a PCI core from xilinx it's ucf is done for spartan-3-200 device
> 
> want to port the same design to spartan-3e250 device.
> 
> have changed the pin assignment but was getting the following error during place and route. " Phase 1.1 ERROR:Place:207 - Due to SelectIO banking constraints, the IOBs in your design cannot be automatically placed." and there were timing errors too,
> 
> how can i port the design to another device, may i get some direction to proceed in this regard
> 
> Thanks in advance
> 
> rgds bijoy


-- 
Brace Design Solutions
Xilinx (TM) LogiCORE (TM) PCI compatible BDS XPCI PCI IP core available 
for as little as $100 for non-commercial, non-profit, personal use.
http://www.bracedesignsolutions.com

Xilinx and LogiCORE are registered trademarks of Xilinx, Inc.

Article: 91265
Subject: Re: clock detection
From: "Jochen" <JFrensch@HarmanBecker.com>
Date: 2 Nov 2005 10:56:06 -0800
Links: << >>  << T >>  << A >>
Hi seb_tech_fr

> May I use a DCM, and look at the LOCKED signal?

Would not help: you'd need 3 valid input clock-cycles before releasing
DCM's reset (at least for Spartan3) - so knowing that you have 3
valid input clocks means, that you already know that the clock is
valid.

Perhaps, you could build a statemachine: periodically reset the DCM for
some ns and waiting for some ms for the DCM to lock (have a look
at the datasheet for worst case timing) and re-apply a reset if DCM
hasn't locked yet (but you would need a reference-clock for the
statemachine)...

But if you have a reference-clock, you could use this clock for one
counter that periodically resets a second counter driven by your
input-clock: define your input clock as valid as soon (as long) as the
second
counter is within a specific boundary just before he sees the very next
reset..


Hope, I didn't describe my idea too complex...

Cheers
Jochen


Article: 91266
Subject: Re: FPGA : PCI-CORE
From: Kevin Brace <sa0les1@brac2ed3esi4gns5olut6ions.com>
Date: Wed, 02 Nov 2005 19:47:29 GMT
Links: << >>  << T >>  << A >>
Hi John_H,

We have figured out how to use PCILOGIC in our Xilinx (TM) LogiCORE (TM) 
PCI compatible PCI IP core called BDS XPCI PCI IP core.
It basically gives very fast routing for IOB Output FF's CE (Clock 
Enable) input, but as many already know, it is supported by Virtex, 
Virtex-E, Spartan-II, and Spartan-IIE only.
Xilinx dropped the support of PCILOGIC starting in Virtex-II.


Kevin Brace


John_H wrote:

> Antti,
> 
> I have no documentation on the functionality of the block.  I only know that 
> it's included or excluded in the Xilinx PCI cores through the PCI .cfg file. 
> Others have wondered about explicit functionality before - you might find 
> something with Google.  Generally, it's used to provide clock enables to the 
> data lines combinatorially based on the PCI interface IRDY and TRDY (and 
> other core) signals since these have the most stressed timing in PCI.
> 
> - John_H
> 
> 
> "Antti Lukats" <antti@openchip.org> wrote in message 
> news:dkart4$h85$1@online.de...
> 
>>Hi John,
>>
>>the the PCI_LOGIC is undocumented FPGA primitive do you happen to have 
>>addtional info about it?
>>is useable in non xilinx design by using hard macro wrapper around it or 
>>by other means?
>>
>>Antti 
> 
> 
> 


-- 
Brace Design Solutions
Xilinx (TM) LogiCORE (TM) PCI compatible BDS XPCI PCI IP core available 
for as little as $100 for non-commercial, non-profit, personal use.
http://www.bracedesignsolutions.com

Xilinx and LogiCORE are registered trademarks of Xilinx, Inc.

Article: 91267
Subject: Re: Newbie. Clocks.
From: "Kunal Shenoy" <kunal.shenoy@xilinx.com>
Date: 2 Nov 2005 11:57:02 -0800
Links: << >>  << T >>  << A >>
Memory Question:
The memory data output will be delayed by one clock cycle positive edge
from the address input.
Your code would look like
always @(posedge clk)
begin
     ram_address<=8'h00;
     data_register <= data_in_from_mem;
end

On the first positive clock edge you would provide the first address to
the memory. On the second positive edge you would read in the data of
the first address and simultaneously provide the second address to the
memory. Third positive edge => read in data (address2) and give out
address3 simultaneously.

--------------

Clock/2:
Xilinx specific info
If you want to divide down the clock entering your FPGA use a Digital
Clock Manager (DCM). You input your external clock to the DCM, set a
parameter to tell the DCM to divide your clock by 2 and take the
divided clock out of the CLKDV output.
You could also create clocks with different phases with the DCM. Read
up on its documents.

Gated Clocks:
Xilinx Specific
Instead of using gated clocks, you could use the CE input on the Flip
Flop. Your flip flip will still be clocked by the signal clocking the
rest of the FPGA.

regards
Kunal@Xilinx


Article: 91268
Subject: FPGA : PCI core needed
From: Kevin Brace <sa0les1@brac2ed3esi4gns5olut6ions.com>
Date: Wed, 02 Nov 2005 20:04:23 GMT
Links: << >>  << T >>  << A >>
Hi bijoy,

My company Brace Design Solutions has developed a Xilinx (TM) LogiCORE
(TM) PCI compatible (replacement) PCI IP core called BDS XPCI PCI IP core.
Assuming that your project's PCI interface is target only (no
initiator), and uses only one BAR (Base Address Register), BDS XPCI32
PCI IP core should occupy roughly 580 LUTs and 250 FFs.
That should translate roughly 290 Slices (580 / 2 = 290).
Of course, if your project uses initiator mode, the LUT consumption will
be much higher.
         If the number we presented is not satisfactory, we have several
ideas to reducing the LUT count such as:

* Using multiplexer instead of internal tri-state buffers for
configuration register part of the PCI IP core

* Completely getting rid of initiator capability by removing initiator
related logic

* (I personally don't like it, but . . .) Getting rid of parity checking
capability


Obviously, the custom version will cost more money than the regular
version because we will have to customize it, but let us know if you are
interested.
For more information, visit Brace Design Solutions website at
http://www.bracedesignsolutions.com.


Kevin Brace


bijoy wrote:
> Hi My company wanted to buy PCI core(33Mhz), and it should be fitted 
in spartan-3 fpga and should not take not more than 350 slices Does any
one have got any idea from where i can get this PCI core ? pls mail to
pbijoy@rediffmail.com
>
> rgds bijoy


-- 
Brace Design Solutions
Xilinx (TM) LogiCORE (TM) PCI compatible BDS XPCI PCI IP core available
for as little as $100 for non-commercial, non-profit, personal use.
http://www.bracedesignsolutions.com

Xilinx and LogiCORE are registered trademarks of Xilinx, Inc.


Article: 91269
Subject: Re: Newbie. Clocks.
From: Bob Perlman <bobsrefusebin@hotmail.com>
Date: Wed, 02 Nov 2005 20:10:40 GMT
Links: << >>  << T >>  << A >>
On Wed, 2 Nov 2005 10:29:53 -0800, "Symon" <symon_brewer@hotmail.com>
wrote:

>Fogs = FPGAs. Bloody spell-checker. 
>

An earlier incarnation of Word used to replace my former boss's name,
Geoff, with "Goof."  This was not only unfair but potentially
career-limiting.  

The only thing worse than the spell checker is the grammar checker.

Bob Perlman
Cambrian Design Works

Article: 91270
Subject: Re: FPGA : PCI-CORE
From: Duane Clark <dclark@junkmail.com>
Date: Wed, 02 Nov 2005 21:13:46 GMT
Links: << >>  << T >>  << A >>
Antti Lukats wrote:
> 
> the the PCI_LOGIC is undocumented FPGA primitive do you happen to have 
> addtional info about it?
> is useable in non xilinx design by using hard macro wrapper around it or by 
> other means?
> 

It is fairly easy to find out what the macro does and to use it; at 
least this procedure used to work;) I have not tried it with a recent 
version of the Xilinx tools.

First of all, look at the macro in with FPGA editor. It will show the 
name of the module, and the name of the pins. Create a new design and 
instantiate just the macro, as a black box, and connect the inputs and 
outputs to FPGA pins. Generate the FPGA; the tools understand the macro. 
Run ngd2vhdl (or ngd2ver). The result should be an HDL model of the 
macro, which you can now use for simulation.

Article: 91271
Subject: Re: FPGA C Compiler on sourceforge.net (TMCC derivative)
From: air_bits@yahoo.com
Date: 2 Nov 2005 13:43:03 -0800
Links: << >>  << T >>  << A >>

Rene Tschaggelar wrote:
> Why are those guys so keen on C ? Suggesting
> compatibility with something while having least
> readability ?
>
> Rene

The description at the project page pretty much says it all:

"C provides an excellent alternative to VHDL/Verilog for algorithmic
expression of tasks targeting FPGAs for reconfigurable computing."

Project page at http://sourceforge.net/projects/fpga

The object is to use FPGAs as computing engines, and less concerned
about how to describe circuits in an HDL for synthesis, as most
hardware designers would with VHDL or Verilog. VHDL and Verilog are the
rough equivalent of programming in assemenbly language, as the
implementation languages are directly expressing clocks, registers and
wires which adds a tremendous design state factor and skill level in
their use.

Simplifed C to netlist compilers, such as FpgaC are attempting to hide
most of synthesis details, to ease the design burden for hardware
implementations of applications which have rich algorithmic complexity.
These applications range from doing network stacks in FPGAs for wire
speed performance at gigabit rates, to richly parallel algorithms such
as searching which are performance limited by the serial nature of
traditional CPU/Memory architectures.

FPGAs in this decade are simply building blocks for high performance
computing,
not just a dense PLD to express hardware funtions for the logic
designer.


Article: 91272
Subject: Re: Newbie. Clocks.
From: "Andy Peters" <Bassman59a@yahoo.com>
Date: 2 Nov 2005 13:54:47 -0800
Links: << >>  << T >>  << A >>
mice wrote:
> My head is spinning...
> One should only use one of the edges in a clock domain, right?
>
> But if I have a memory read set up at "posedge clk".
> verilog ex.
>
> always @(posedge clk)
> ram_adress<=8'h00;
>
> Where do I do the acual reading of the result of this if I'm not
> allowed to use the negedge of the clock?

The question you're asking is, "when is the read data word available?"
If it's a synchronous RAM, then your answer has to be "on the next
rising edge of the clock."  If it's an asynchronous RAM, then the
answer is, "do a timing analysis," but the usual method is to choose a
clock frequency such that the read data word is available on the next
rising clock edge.

> Having another "always @(posedge)" for the reading doesn't make any
> sense to me.
> Could any kind soul explain this to me? Please.

It's actually the simplest way to do it.  Of course you could read the
data (from an async RAM) on the falling edge of the clock, but you have
to ensure that the data are valid at that time.

> Also I've searched the forums regarding gated clocks, but couldn't
> find any info about it (thought I did a while ago, but it seems to be
> lost).
> How do I go about creating a clock with half of the frequency of the
> clock coming in to the fpga?

In a modern FPGA, use one of the built-in clock divider/multiplier
blocks.  They're free and they work.

-a


Article: 91273
Subject: Re: clock detection
From: "Peter Alfke" <peter@xilinx.com>
Date: 2 Nov 2005 14:02:04 -0800
Links: << >>  << T >>  << A >>
This is easy if you have a continuously-running clock somewhere.
If you don't, you can easily detect when the clock starts for the first
time after power-on ( have the clock advance a 2-bit counter that you
had reset during power-on.)
But if you also want to detect if the clock has diappeared later on,
you need some timing element somewhere.
There is no mystery, it's all very logical, and your sharp Gallic
analytical mind will understand that...
Cheers
Peter Alfke, Xilinx


Article: 91274
Subject: Re: FPGA : PCI-CORE
From: "John_H" <johnhandwork@mail.com>
Date: Wed, 02 Nov 2005 22:03:19 GMT
Links: << >>  << T >>  << A >>
"Kevin Brace" <sa0les1@brac2ed3esi4gns5olut6ions.com> wrote in message 
news:lJ8af.3419$Lv.658@newssvr23.news.prodigy.net...
<snip>
> ... but as many already know, it is supported by Virtex, Virtex-E, 
> Spartan-II, and Spartan-IIE only.
> Xilinx dropped the support of PCILOGIC starting in Virtex-II.
<snip>

But they brought it back in Spartan-3E ! 





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