All pastes #381144 Raw Edit

Someone

public text v1 · immutable
#381144 ·published 2007-03-04 17:37 UTC
rendered paste body

Design flow:


project file *.prj contains the names of all vhdl files for the design:

sample:
---------
vhdl work somefile.vhd
vhdl work otherfile.vhf
---------

work is a default library, not sure what thats all about

our device is the 2s200pq208-5

first step: synthesis.... uses xst

remember to set enviroment vars:

    source ~/xilinx/settings.sh"

xst has its own prompt, but the commands are long and you don't want to type them
use script mode... put the commands in a script file "foo.src", and run it like so:

    ~/xilinx/bin/lin/xst -ifn foo.scr -ofn log.file.name

that writes results to screen and log.file.name

So what goes in the script file?

----------------------------------------------------
    set -tmpdir ./tmp
    set -xsthdpdir ./work
    run
    -ifn foo.prj
    -ifmt VHDL
    -top some-entity-name
    -ofn foo.ngc
    -ofmt NGC
    -p 2s200pq208-5
----------------------------------------------------

(there can be more - later)

The result of this is "foo.ngc"

Next step - build NGD

    ngdbuild -uc constraints.ucf foo.ngc foo.ngd

  note: maybe should pass the unplaced .bmm file into ngdbuild?  -bm foo-unplaced.bmm

Next step - mapping

    map foo.ngd 

The biggie - place and route

    par -r foo.ncd foo-placed.ncd foo.pcf

    par -p foo-placed.ncd foo-routed.ncd foo.pcf

Make a bitfile

    bitgen foo-routed.ncd foo.bit foo.pcf

  Note: if there was an unplaced .bmmm file passed into ngdbuild, this should produce a placed one for use with data2mem? 

Merge ROM/RAM content
see http://home.mnet-online.de/al/BRAM_Bitstreams.html
(this is not correct yet)

to view the contents of a bitfile:

    data2mem -bm foo.bmm -bt foo.bit -d > viewable.file

to merde data from a data file into the bitfile"

    data2mem -bm foo.bm -bt foo.bit -bd data.mem -o b merged.bit

format of .mem:

@addr data data data
@addr data data data

addresses are only needed where there is a break in the data stream, not on every line



    data2mem -bm mapping.bmm -bd data.mem -bt foo.bit