aboutsummaryrefslogtreecommitdiffstats
path: root/techlibs/xilinx/example_zed_counter/example.sh
blob: d0fcd8322db6c0771519f1d801d090da2ed97425 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash

set -ex

XILINX_DIR=/opt/Xilinx/14.7/ISE_DS/ISE
XILINX_PART=xc7z020clg484-1

yosys - <<- EOT
	read_verilog example.v
	synth_xilinx -edif synth.edif
EOT

$XILINX_DIR/bin/lin64/edif2ngd -a synth.edif synth.ngo
$XILINX_DIR/bin/lin64/ngdbuild -p $XILINX_PART -uc example.ucf synth.ngo synth.ngd
$XILINX_DIR/bin/lin64/map -p $XILINX_PART -w -o mapped.ncd synth.ngd constraints.pcf
$XILINX_DIR/bin/lin64/par -w mapped.ncd placed.ncd constraints.pcf
$XILINX_DIR/bin/lin64/bitgen -w placed.ncd example.bit constraints.pcf
$XILINX_DIR/bin/lin64/promgen -w -b -p bin -o example.bin -u 0 example.bit -data_width 32
/span> * * 1. debugger_trap_entry(): * Called at start of any synchronous fault or trap, before any other work * is done. The idea is that if your debugger deliberately caused the trap * (e.g. to implement breakpoints or data watchpoints) then you can take * appropriate action and return a non-zero value to cause early exit from * the trap function. * * 2. debugger_trap_fatal(): * Called when Xen is about to give up and crash. Typically you will use this * hook to drop into a debug session. It can also be used to hook off * deliberately caused traps (which you then handle and return non-zero) * but really these should be hooked off 'debugger_trap_entry'. */ #ifndef __ASM_DEBUGGER_H__ #define __ASM_DEBUGGER_H__ #include <xen/softirq.h> /* The main trap handlers use these helper macros which include early bail. */ static inline int debugger_trap_entry( unsigned int vector, struct cpu_user_regs *regs) { return 0; } static inline int debugger_trap_fatal( unsigned int vector, struct cpu_user_regs *regs) { return 0; } #define debugger_trap_immediate() do {} while(0) #endif /* __ASM_DEBUGGER_H__ */