From: Antti Lukats on
Martin Thompson" <martin.j.thompson(a)trw.com> schrieb im Newsbeitrag
news:u8xtcb3o8.fsf(a)trw.com...
> ptkwt(a)aracnet.com (Phil Tomson) writes:
>
>> In article <uzmltkjm9.fsf(a)trw.com>,
>> Martin Thompson <martin.j.thompson(a)trw.com> wrote:
>> >ptkwt(a)aracnet.com (Phil Tomson) writes:
>> >
>> >>
>> >> Where can one find more info on NCD and XDL file formats (and what the
>> >> acronymns stand for)? Are you implying that if one has this NCD file
>> >> that one
>> >> can figure out the bitstream format?
>> >>
>> >> Phil
>> >
>> >
>> >As I understand it, the XDL is a textual representation of NCD. The
>> >NCD is the native circuit database, which has pretty much everything
>> >required to make a bitstream (logic, placement, routing, startup
>> >values, BRAM contents etc). If you run "xdl -ncd2xdl" you can get the
>> >XDL equivalent, hack it about and then regenerate the NCD from the XDL
>> >and from there go to a bitstream... You can also get a list of all
>> >the resources in the device using the -report mode of "xdl".
>> >
>> >Presumably you could create various small designs in XDL, NCD them and
>> >then convert to bitstreams and by diffing the bitstream figure out
>> >what was going on. In theory you could also automoate this...
>> >
>>
>> So xdl come with the webpack?
>>
>
> I believe so... maybe someone who runs Webpack (we have Foundation
> here) can jump in?

for just the purpose of knowing what is in WebPack I have installed
additionally
so I can answer : yes the XDL is included with free WebPack

but the XDL (or NCD) does __not__ contain bitstream info, it does hold the
design info that is not mapped to the bitstream by bitgen later

NCD (that can be viewed as XDL after conversion) is used together
with BFD (NeoCad Bitstream Format Database ?) file by bitgen for
actual bitstream generation.

there are some other files for each family, like GRD, etc I am able to
view pretty much all of the files used by Xilinx tools, (NGC, NCD, etc)
but...
the path from NCD to bitstream is not so 1:1, I have written some
analyzer software for the BFD to see if there is some visible mapping
but the result have been a little confusing so far. oh well I dont have
all the for such a play,

but the reversing of the bitstream info is for sure doable just need
to write some smart analyzer and bit map database auto generation
software and let it run for long time to gather the info for you :)


--
Antti Lukats


From: fpga_toys on

Antti Lukats wrote:
> but the reversing of the bitstream info is for sure doable just need
> to write some smart analyzer and bit map database auto generation
> software and let it run for long time to gather the info for you :)
> Antti Lukats

You might want to look a little closer at the license for the web pack,
and any other license you have ever executed with Xilinx, as it wasn't
that long ago that it contained very strong language about reverse
engineering proprietary data.

With the current DMCA state, the law isn't hardly on the side of fair
use for computer software or hardware owners these days. It's
terribly like owning a car, but unable to remove the heads to repair
a valve without getting sued.

Or when the telco's prevented third party phones from being attached
to their systems. When finally lifted an entire industry blossomed
bringing
us cheap cordless phones and digital answering machines that would
never have appeared with the PUC mandated 10 year capital recovery
limitiation on hardware. Ever wonder why WeCo had to over design the
clunky 500 desk set?

From: fpga_toys on
or for that matter even high speed consumer modems, as we would have
remained stuck in the accustic coupler days.

From: fpga_toys on
I probably should add that the whole process for assembling fpga bits
streams
is optimized poorly for reconfigurable computing - if not outright
wrong and
backward. In hardware design you break the design into one or more
clock
domains and fine tune the designs timing constraints in those clock
domains.

For reconfigurable computing, as a comodity general purpose processor
engine
exactly the opposite process needs to occur. The Hardware WILL have
fixed
clock rates available, and maybe even a few setable ones, but in
general the
compiler needs to match code blocks to available clock periods, even if
it's
mismatched by as much as a factor of 2-5. With some basic worst case
timing
data for the target fpga's this is easily done, and the compiler can
bin sort statement
blocks into clock domains on the fly, and emit synchronizers when
necessary to
cross clock domains. This allows statement groups which have horrible
combinatorial
delays to run at one clock speed, and other statement groups with very
flat netlists
and little to no combinatorial delays to run at a faster clock rate ...
"all the compiler
needs" is some clues about general timing costs and the actual runtime
target
capabilities. In some cases this even can be done by fixups by the
'runtime linker"
just prior to loading.

The practial clocking environment for this would be a series of edge
synchronized
clocks spread a factor of two, three, four or five in time (so rising
edges always
match) to avoid synchronizers completely. In such a target execution
environment,
the one hot state machine gating the execution flow can freely cross
clock domains.

Some with a runtime life in days can surely have it's clocks fine
tuned, but for most
applications this granularity is quite reasonable.

Now, how practical its it to hand a netlist with 8 interleaved clock
domains to your
favorite vendors place and route tools, and get back verification of
setup and hold
times for this environment?

From: Antti Lukats on
<fpga_toys(a)yahoo.com> schrieb im Newsbeitrag
news:1137688374.809626.35200(a)o13g2000cwo.googlegroups.com...
>
> Antti Lukats wrote:
>> but the reversing of the bitstream info is for sure doable just need
>> to write some smart analyzer and bit map database auto generation
>> software and let it run for long time to gather the info for you :)
>> Antti Lukats
>
> You might want to look a little closer at the license for the web pack,
> and any other license you have ever executed with Xilinx, as it wasn't
> that long ago that it contained very strong language about reverse
> engineering proprietary data.
>
> With the current DMCA state, the law isn't hardly on the side of fair
> use for computer software or hardware owners these days. It's
> terribly like owning a car, but unable to remove the heads to repair
> a valve without getting sued.
>
> Or when the telco's prevented third party phones from being attached
> to their systems. When finally lifted an entire industry blossomed
> bringing
> us cheap cordless phones and digital answering machines that would
> never have appeared with the PUC mandated 10 year capital recovery
> limitiation on hardware. Ever wonder why WeCo had to over design the
> clunky 500 desk set?
>
well I am not doing anything, I just know what can or could be done :)
[pretty much anything...]

Atmel bitstream info is all known and its fully runtime reconfigurable
so it makes way more sense to go with Atmel FPGA/FPSLIC if
someones wants self or dynamicall reconfiguring FPGA systems.

Antti