1
0
mirror of git://projects.qi-hardware.com/wernermisc.git synced 2024-11-27 21:30:37 +02:00
wernermisc/m1/tools
2012-07-12 09:16:56 +08:00
..
m1nor m1/tools/m1nor: erase data partition before reflash 2012-07-12 09:16:56 +08:00
README m1/tools/: xdltap and xdlfixes, to add taps to FPGA signals 2011-11-25 21:26:25 -03:00
xdlfixes m1/tools/: xdltap and xdlfixes, to add taps to FPGA signals 2011-11-25 21:26:25 -03:00
xdltap m1/tools/: xdltap and xdlfixes, to add taps to FPGA signals 2011-11-25 21:26:25 -03:00
xse-sane-init64 m1/tools/xse-sane-init64: nice and tidy setup script for the Xilinx tools 2011-11-21 19:31:17 -03:00

m1nor - Flash a file to M1 NOR partition selected by the file name
==================================================================

During software development, one often need to update only the
content of a single partition. reflash_m1.sh is a bit unwieldy
for this kind of task.

I've written a small script called m1nor that selects the target 
partition based on the file name. E.g., m1nor flickernoise.fbi
would update the regular Flickernoise partition.

The matching algorithm checks the beginning of the file name,
so names like flickernoise-test.fbi would also work. Furthermore,
it checks the file extension, so if you try to flash flickernoise
(ELF, for debugging) or flickernoise.bin (an intermediate form
unsuitable for booting from NOR), it will politely refuse to do
so.

You need to have fjmem.bit somwehere. It searches for it under
$HOME/.qi/milkymist/, where reflash_m1.sh caches it. You can also
specify the location directly by setting the environment variable
FJMEM_BIT.


xdltap - Route nets from inside the FPGA to I/O pads
====================================================

xdltap adds routes from signals inside the FPGA to I/O pads. It
does this by converting the .ncd file generated by synthesis 

xdltap signal=output ... [xdl-file]

The path to the signal to be tapped has to be fully qualified.
Note that not all signals are listed in the .pcf file. Some may
only show up in .xdl

The output is the name of a global net that has to be connected
to an input (!) pad.

Signal names containing < and > can be written with { and }, to
avoid extra escaping for the shell.

Since xdl chokes on its own .xdl files, xdlfixes applies a number
of ugly hacks to either avoid errors or to propagate them to a
later stage, where they can be ignored.

Example:

map ... foo.ngd			# generates foo.ncd
xdl -ncd2xdl foo.ncd		# generates foo.xdl
xdltap usb/sie/rx_pending=exp{8} foo.xdl | xdlfixes >foo-dbg.xdl
xdl -xdl2ncd foo-dbg.xdl	# generates foo-dbg.ncd
par ... foo-dbg.ncd ...