From: "Jimmy Zhang" Newsgroups: comp.arch.fpga Subject: questions from a newby Lines: 12 X-Newsreader: Microsoft Outlook Express 4.72.3110.1 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Message-ID: <%Eil8.66405$q2.7660@sccrnsc01> NNTP-Posting-Host: 12.234.57.72 X-Complaints-To: abuse@attbi.com X-Trace: sccrnsc01 1016444603 12.234.57.72 (Mon, 18 Mar 2002 09:43:23 GMT) NNTP-Posting-Date: Mon, 18 Mar 2002 09:43:23 GMT Organization: AT&T Broadband Date: Mon, 18 Mar 2002 09:43:23 GMT Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.mailgate.org!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.cwix.com!wn2feed!wn14eed!worldnet.att.net!204.127.198.203!attbi_feed3!attbi_feed4!attbi.com!sccrnsc01.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:15426 Got two questions from a beginner here 1. What is the binary format of the bit stream one downloads to the FPGA that controls the place and route? 2. How much effort is needed for me to bypass FPGA vendor's software and write my own FSM machine into the binary format as in the previous question? Thanks ###### Message-ID: <3C95D669.187FB273@algor.co.uk> From: Rick Filipkiewicz X-Mailer: Mozilla 4.75 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.arch.fpga Subject: Re: questions from a newby References: <%Eil8.66405$q2.7660@sccrnsc01> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Organization: Algorithmics Ltd. Cache-Post-Path: mudchute.algor.co.uk!unknown@rfhome.algor.co.uk X-Cache: nntpcache 2.4.0b2 (see http://www.nntpcache.org/) Lines: 25 Date: Mon, 18 Mar 2002 11:58:33 +0000 NNTP-Posting-Host: 62.254.210.251 X-Complaints-To: abuse@ntlworld.com X-Trace: news6-win.server.ntlworld.com 1016452715 62.254.210.251 (Mon, 18 Mar 2002 11:58:35 GMT) NNTP-Posting-Date: Mon, 18 Mar 2002 11:58:35 GMT Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.mailgate.org!newsfeed.icl.net!dispose.news.demon.net!demon!peernews!peer.cwci.net!news5-gui.server.ntli.net!ntli.net!news6-win.server.ntlworld.com.POSTED!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:15427 Jimmy Zhang wrote: > Got two questions from a beginner here > > 1. What is the binary format of the bit stream one downloads to the FPGA > that > controls the place and route? > Its usually proprietary. Xilinx's certainly is although there is a tool that can be used to modify it directly. > > 2. How much effort is needed for me to bypass FPGA vendor's software and > write my own FSM machine into the binary format as in the previous question? > > Thanks Several million $s of VC funding. But you would be onto a winner if you could figure it. Xilinx bought NeoCAD, the last company to try it. Unfortunately since those XC3/4K days the devices have become much more complex. ###### Message-ID: <3c95f161@pfaff.ethz.ch> From: Christian Plessl Subject: Re: questions from a newby Newsgroups: comp.arch.fpga Date: Mon, 18 Mar 2002 14:50:47 +0100 References: <%Eil8.66405$q2.7660@sccrnsc01> Lines: 32 User-Agent: KNode/0.6.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7Bit NNTP-Posting-Host: tec-pc-cp.ethz.ch X-Trace: pfaff.ethz.ch 1016459617 tec-pc-cp.ethz.ch (18 Mar 2002 14:53:37 +0100) Organization: Swiss Federal Institute of Technology (ETHZ) Path: chonsp.franklin.ch!pfaff.ethz.ch Xref: chonsp.franklin.ch comp.arch.fpga:15451 Jimmy Zhang wrote: > Got two questions from a beginner here > > 1. What is the binary format of the bit stream one downloads to the FPGA > that > controls the place and route? > > 2. How much effort is needed for me to bypass FPGA vendor's software and > write my own FSM machine into the binary format as in the previous > question? Do you want to do your own statemachine synthesis (i.e. bypassing VHDL/Verilog synthesis) or do you want to really implement your statemachine (bypassing backend place & route tools, e.g. Xilinx PAR) In the case that you want to bypass VHDL/Verilog synthesis, you can write an application that directly writes EDIF or XNF files. In the case that you want complete control over placement and routing and if you are using Xilinx Virtex or Spartan-2 devices, you can get a set of Java classes called JBits that allows direct manipulation of bitstreams. Mail to jbits@xilinx.com . The exact format of the bitstream is only partially known to public and seems to be a good keeped secred of Xilinx. However, the format for the configuration bits that control LUTs, BlockRAMs and IOBs is available as application note from Xilinx, XAPP 151. Regards, Chris ###### From: nweaver@CSUA.Berkeley.EDU (Nicholas Weaver) Newsgroups: comp.arch.fpga Subject: Re: questions from a newby Date: Mon, 18 Mar 2002 17:27:15 +0000 (UTC) Organization: Unknown Lines: 17 Message-ID: References: <%Eil8.66405$q2.7660@sccrnsc01> NNTP-Posting-Host: soda.csua.berkeley.edu X-Trace: agate.berkeley.edu 1016472435 1003 128.32.247.226 (18 Mar 2002 17:27:15 GMT) X-Complaints-To: usenet@agate.berkeley.edu NNTP-Posting-Date: Mon, 18 Mar 2002 17:27:15 +0000 (UTC) Originator: nweaver@CSUA.Berkeley.EDU (Nicholas Weaver) Path: chonsp.franklin.ch!pfaff.ethz.ch!news-zh.switch.ch!news.imp.ch!news.imp.ch!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!news-hog.berkeley.edu!ucberkeley!agate.berkeley.edu!agate!not-for-mail Xref: chonsp.franklin.ch comp.arch.fpga:15437 In article <%Eil8.66405$q2.7660@sccrnsc01>, Jimmy Zhang wrote: >Got two questions from a beginner here > >1. What is the binary format of the bit stream one downloads to the FPGA >that >controls the place and route? It depends on the vendor and part. Xilinx has documentation for virtex, at least. But it is ugly. >2. How much effort is needed for me to bypass FPGA vendor's software and >write my own FSM machine into the binary format as in the previous question? Use a higher level API, eg Jbits for Xilinx (not sure of altera). -- Nicholas C. Weaver nweaver@cs.berkeley.edu ###### Path: chonsp.franklin.ch!not-for-mail From: Neil Franklin Newsgroups: comp.arch.fpga Subject: Re: questions from a newby Date: 18 Mar 2002 21:41:54 +0100 Organization: My own Private Self Lines: 61 Message-ID: <6uadt5ip65.fsf@chonsp.franklin.ch> References: <%Eil8.66405$q2.7660@sccrnsc01> NNTP-Posting-Host: chonsp.franklin.ch X-Trace: chonsp.franklin.ch 1016484114 407 10.0.3.2 (18 Mar 2002 20:41:54 GMT) X-Complaints-To: news@chonsp.franklin.ch NNTP-Posting-Date: 18 Mar 2002 20:41:54 GMT X-Newsreader: Gnus v5.7/Emacs 20.4 Xref: chonsp.franklin.ch comp.arch.fpga:15458 nweaver@CSUA.Berkeley.EDU (Nicholas Weaver) writes: > Jimmy Zhang wrote: > >Got two questions from a beginner here > > > >1. What is the binary format of the bit stream one downloads to the FPGA > >that > >controls the place and route? > > It depends on the vendor and part. Xilinx has documentation for > virtex, at least. But it is ugly. Yes. To give that "ugly" a bit more shape: In particular XAPP138 (basic bitstream block format), XAPP151 (CLB/IOB/BRAM format and framing as far as FFs/LUTs/BRAMs go) and the JBits (actual configurable elements and config bits, at symbolic level) docs. Even then the actual binary values are not directly written down and have to be extracted by experiment. So this is definitely _not_ something for beginners. Contrary to conspiracy-theory myth, Xilinx does not keep it secret because they dont want anyone to know. Noone less than Peter Alfke has confirmed to me that they simply dont want the support costs of people writing their own tools and getting in trouble. So they simply try to discourage it by not helping. A completely acceptable stance. But it is possible. And it is not an $mio VC job. More on the $10-30k size. Well within the reach of an dedicated single person. But not a beginner. > >2. How much effort is needed for me to bypass FPGA vendor's software and > >write my own FSM machine into the binary format as in the previous question? > > Use a higher level API, eg Jbits for Xilinx (not sure of altera). I can only second that one. JBits is the entry into all the low level stuff, at least for Virtex/Spartan-II (and possibly[1] by extension Virtex-E/Virtex-EM/Spartan-IIE). [1] IOBs and DLL may be a problem[2], the rest seems to be OK. [2] either totally different or possible just the extended features missing. Virtex-II is presently off limits, but JBits seems to be going in direction of including that. Altera I have never heard of such an tool. They are far more "let the compiler do it" types. -- Neil Franklin, neil@franklin.ch.remove http://neil.franklin.ch/ Hacker, Unix Guru, El Eng HTL/BSc, Sysadmin, Archer, Roleplayer - Intellectual Property is Intellectual Robbery