INSTALLATION First extract the source code from the compressed tarball (created using tar and gzip). The extracted archive should contain the files documented in the file CONTENTS, which should be in the top-level directory of the archive. DEVELOPMENT ENVIRONMENT AND TOOLS All test-benches and trial-synths have been compiled under the following development environment and known to work as expected. It is reasonable to expect that all test-benches and trial-synths should compile under most Linux distributions provided that Xilinx ISE Design Suite 12.1 or greater is installed. All Matlab scripts are known to work under both Matlab and GNU Octave versions listed below. Host O/S - Kubuntu 11.10 Linux 3.0.0-15 Make tool version - GNU Make v3.81 Synthesis tools - Xilinx XST 13.4 Simulation tools - Xilinx ISim 13.4 Backend tool-chain - Xilinx ISE Design Suite 13.4 Octave version - GNU Octave v3.2.4 (requires signal-processing toolbox) Matlab version - 7.11.0.584(R2010b) (requires signal-processing toolbox) RUNNING SIMULATIONS Log-in to a linux shell (e.g. Bash) and change the directory to the location of the extracted archive. Then change the directory to the desired test-bench directory and run make. For example, to run the 2-stage pipelined 35x18-bit signed multiplier testbench, first change the directory to its unittests directory: $ cd ./source/dsp/misc/unittests/ Then, to run the simulation in batch-mode, use the command below: $ make -f mult_35x18s.mk test To run the simulation in interactive-mode, use the command below: $ make -f mult_35x18s.mk gui RUNNING TRIAL-SYNTHS Trial-synths are used for the following 3 purposes: 1. To verify the RTL design is synthesised and mapped to intended design elements of the target device. For example, to make sure a DSP48 slice is inferred and configured as a MAC when a MAC is intended in the RTL design. 2. To obtain post place&route resource utilisation reports 3. To perform post place&route static timing analysis (STA) To run a trial-synth, log-in to a linux shell (e.g. Bash) and change the directory to the location of the extracted archive. Then change the directory to the desired trial-synth directory and run make. For example, to run the 2-stage pipelined 35x18-bit signed multiplier trial-synth, first change the directory its trialsynths directory: $ cd ./source/dsp/misc/trialsynths/ Then to run synthesis -> translate -> map -> place&route: $ make -f mult_35x18s.mk REGENERATING FFT TWIDDLE-FACTOR ROMS: FFT twiddle factor ROMs can be regenerated by running the appropriate ROM generator scripts either from Matlab or GNU Octave. The scripts regenerate the twiddle factor ROMs for a specified twiddle-factor bit width. These ROMs are instantiated within the FFT processor's top-level structural modules. It is vital to ensure the twiddle-factor bit-width specified in the the FFT module instantiation matches the generated ROMs. To run an FFT twiddle factor ROM generator script from Matlab, start Matlab and change the directory to the location of the extracted archive. Then change the directory to the desired ROM generator script directory and run the script. For example, to regenerate the 256-point radix-2^2 SDF FFT twiddle factor ROMs with a twiddle-factor bit-width of 12-bits, first change the directory its matlab scripts directory: $ cd ./source/dsp/fft/r22sdf/matlab/ Then, to generate the ROMs: $ fft_r22sdf_rom_gen ('../roms', 256, 12); Copyright (c) 2010-2012, XIONLOGIC LIMITED All rights reserved.