Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Gateware
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
12
Issues
12
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Gateware
Commits
07d9aa05
Commit
07d9aa05
authored
Oct 30, 2015
by
Grzegorz Daniluk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
removing building.txt, now all the information is on wiki pages
parent
b7960025
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
0 additions
and
67 deletions
+0
-67
building.txt
building.txt
+0
-67
No files found.
building.txt
deleted
100644 → 0
View file @
b7960025
Building the WR Switch gateware
-------------------------------
Disclaimer: this readme assumes that you know the basic UNIX commands.
Otherwise, we recommend downloading the FPGA binaries from
the 'Files' section of WR Switch HDL project.
1. Environment setup:
1a. Make sure you have git & make installed.
1b. Make sure you have Xilinx ISE installed (64-bit version ONLY, version 14.5 or above).
1c. Check ISE-related environment variables:
- Xilinx binaries (xst, map, par) must be in PATH environmental variable.
- XILINX environmental variable must be correctly set (for example:
XILINX=/opt/Xilinx/14.5/ISE_DS for ISE suite installed in /opt/Xilinx)
2. Install and build hdlmake ("isyp" branch)
2a. Download the sources and build hdlmake
$ git clone git://ohwr.org/misc/hdl-make.git
$ cd hdl-make
$ git checkout isyp
$ make
2b. Put hdlmake in a directory listed in PATH, for example:
$ sudo ln -sf `readlink -f hdlmake` /usr/bin/hdlmake
3. Download WR Switch HDL sources
$ git clone --recursive git://ohwr.org/white-rabbit/wr-switch-hdl.git
$ cd wr-switch-hdl
$ git checkout wr-switch-sw-v4.2
$ git submodule update
4. Generate SDB Metadata package with synthesis information
$ cd top/bare_top
$ ./gen_sdbsyn.py --user <your name> --project WRS_18p --ver <ISE version>
5. Build it
5a. Generate the Makefiles
$ cd ../../syn/scb_18ports
$ hdlmake --ise-proj --make-ise
5b. Synthesize:
$ make
6. Deploy the firmware
Copy the freshly build firmware to the switch filesystem:
scp scb_top_synthesis.bin root@<your_switch_ip_address>:/wr/lib/firmware/18p_mb-LX240T.bin
Reboot the switch.
7. Good luck!
Frequently Asked Questions
--------------------------
Q: I'm getting PAR timing errors!
A: If only this constraint is failing:
NET "clk_dmtd" MAXSKEW = 0.5 ns
It's acceptable (I used ridiculously low skew value to force PAR to put more effort on routing this signal).
For reasons yet unknown, ISE refuses to route this signal on a global clock net, resulting in larger skew.
Fortunately, the skew on clk_dmtd net is equal to port-to-port clock offset, which can be
measured on a scope and compensated in delta_tx/delta_rx parameters in wrsw_hal.conf.
Q: It takes so long to synthesize!
A: The synthesis takes approx 2 hours on a Core i7-980x machine. If you don't need all 18 ports, you can
synthesize scb_8ports project instead (~30 mins on the same PC)
Q: ISE appears to have frozen during MAP/PAR!
A: Did you install a 64-bit version of ISE? It needs up to 4 GB of free RAM during mapping/routing the design.
32-bit version can't use more than 3 GBs and sometimes freezes instead of throwing an error.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment