From 1a94194a7c2df39995ef3bee8497e18d50ddb46a Mon Sep 17 00:00:00 2001 From: Leon Hiemstra <hiemstra@astron.nl> Date: Thu, 1 Oct 2015 20:21:42 +0000 Subject: [PATCH] update --- .../uniboard2/designs/unb2_minimal/doc/README | 70 +++++++++++++++---- boards/uniboard2/designs/unb2_test/doc/README | 14 ++++ .../ddr4_4g_1600/doc/README_ddr4.txt | 1 - 3 files changed, 71 insertions(+), 14 deletions(-) diff --git a/boards/uniboard2/designs/unb2_minimal/doc/README b/boards/uniboard2/designs/unb2_minimal/doc/README index 5ea4cd77f7..04453fffa3 100644 --- a/boards/uniboard2/designs/unb2_minimal/doc/README +++ b/boards/uniboard2/designs/unb2_minimal/doc/README @@ -1,15 +1,21 @@ Quick steps to compile and use design [unb2_minimal] in RadionHDL ----------------------------------------------------------------- +-> In case of a new installation, the IP's have to be generated for Arria10. + In the: $RADIOHDL/libraries/technology/ip_arria10 + directory; run the bash script: ./generate-all-ip.sh Start with the Oneclick Commands: python $RADIOHDL/tools/oneclick/base/modelsim_config.py -t unb2 python $RADIOHDL/tools/oneclick/base/quartus_config.py -t unb2 + Generate MMM for QSYS: run_qsys unb2 unb2_minimal + + -> From here either continue to Modelsim (simulation) or Quartus (synthesis) Simulation @@ -28,7 +34,7 @@ Modelsim instructions: # while the simulation runs... in another bash session do: cd unb2_minimal/tb/python - python tc_unb2_minimal.py --sim --unb 0 --bn 3 --seq INFO,PPSH,SENSORS + python tc_unb2_minimal.py --sim --unb 0 --fn 3 --seq INFO,PPSH,SENSORS # (sensor results only show up after 1000us of simulation runtime) @@ -38,26 +44,64 @@ Modelsim instructions: Synthesis --------- -Quartus instructions (for QSYS): - run_app unb2 unb2_minimal use=gen2 +Quartus instructions: run_qcomp unb2 unb2_minimal -In case of needing the Quartus GUI: + +In case of needing the Quartus GUI for inspection: run_quartus unb2 -Convert .sof to .rbf: - run_rbf unb2 unb2_minimal # QSYS +4. Load firmware +---------------- +Using JTAG: Start the Quartus GUI and open: tools->programmer. + Then click auto-detect; + Use 'change file' to select the correct .sof file for each FPGA + Select the FPGA(s) which has to be programmed + Click 'start' +Using EPCS: See step 6 below. -Send to LCU capture5: - scp $RADIOHDL/build/quartus/unb2_minimal/unb2_minimal.rbf capture5:~/rbf/ # QSYS - # Now login on capture5 and use pythonscript to program flash: - cd unb2_minimal/tb/python - # for example use frontnode 0 on uniboard 0: - python tc_unb2_minimal.py --gn 0 --seq REGMAP,FLASH -s ~/rbf/unb2_minimal.rbf # QSYS - python tc_unb2_minimal.py --gn 0 --seq REMU,REGMAP,INFO,PPSH,SENSORS # start design, read info-ppsh-sensors +5. Testing on hardware +---------------------- +Assuming the firmware is loaded and running already in the FPGA, the firmware can be tested from the connected +LCU computer. + +# (assume that the Uniboard is --unb 1) + +# To read out the design_name, ppsh and sensors; do: + +python tc_unb2_minimal.py --unb 1 --fn 0:3 --seq REGMAP,INFO,PPSH,SENSORS -v5 + + + +6. +Programming the EPCS flash. +when the EPCS module works an RBF file can be generated to program the flash, +then the .sof file file can be converted to .rbf with the 'run_rbf' script. +But for now the only way to program the EPCS flash is via JTAG. +Firstly a JIC file has to be generated from the SOF file. +In Quartus GUI; open current project; File -> Convert Programming Files. +Then setup: +- Output programming file: JIC +- Configuration device: EPCQL1024 +- Mode: Active Serial x4 +- Flash Loader: Add/Select Device Arria10/10AX115U4ES +- SOF Data: add file (the generated .sof file) + - click the .sof file; Set property 'Compression' to ON +- Press 'Generate' +Then program the .JIC file (output_file.jic) to EPCS flash: +- Make sure that the JTAG (on server connected to board) runs at 16MHz: + c:\altera\15.0\quartus\bin64\jtagconfig USB-BlasterII JtagClock 16M +- open tools->programmer +- make sure the 4 fpga icons have the device 10AX115U4F45ES +- right-click each fpga icon and attach flash device EPCQL1024 +- right-click each fpga and change file from <none> to sfl_enhanced_01_02e360dd.sof + (in $RADIOHDL/boards/uniboard2/libraries/unb2_board/quartus) +- right-click each EPCQL1024 and change file from <none> to output_file.jic +- select click each Program/Configure radiobutton +- click start and wait for 'Successful' diff --git a/boards/uniboard2/designs/unb2_test/doc/README b/boards/uniboard2/designs/unb2_test/doc/README index c3bd586958..6a26b3748f 100644 --- a/boards/uniboard2/designs/unb2_test/doc/README +++ b/boards/uniboard2/designs/unb2_test/doc/README @@ -16,6 +16,9 @@ The following revisions are available for unb2_test (see the directories in ../r In the: $RADIOHDL/libraries/technology/ip_arria10 directory; run the bash script: ./generate-all-ip.sh +-> For compilation it might be necessary to check the .vhd file: + $RADIOHDL/libraries/technology/technology_select_pkg.vhd + 1. Start with the Oneclick Commands: python $RADIOHDL/tools/oneclick/base/modelsim_config.py -t unb2 @@ -92,4 +95,15 @@ Then setup: - SOF Data: add file (the generated .sof file) - click the .sof file; Set property 'Compression' to ON - Press 'Generate' +Then program the .JIC file (output_file.jic) to EPCS flash: +- Make sure that the JTAG (on server connected to board) runs at 16MHz: + c:\altera\15.0\quartus\bin64\jtagconfig USB-BlasterII JtagClock 16M +- open tools->programmer +- make sure the 4 fpga icons have the device 10AX115U4F45ES +- right-click each fpga icon and attach flash device EPCQL1024 +- right-click each fpga and change file from <none> to sfl_enhanced_01_02e360dd.sof + (in $RADIOHDL/boards/uniboard2/libraries/unb2_board/quartus) +- right-click each EPCQL1024 and change file from <none> to output_file.jic +- select click each Program/Configure radiobutton +- click start and wait for 'Successful' diff --git a/libraries/technology/ip_arria10/ddr4_4g_1600/doc/README_ddr4.txt b/libraries/technology/ip_arria10/ddr4_4g_1600/doc/README_ddr4.txt index 4a32ab051e..b2efc7da1d 100644 --- a/libraries/technology/ip_arria10/ddr4_4g_1600/doc/README_ddr4.txt +++ b/libraries/technology/ip_arria10/ddr4_4g_1600/doc/README_ddr4.txt @@ -1,4 +1,3 @@ -Tue Jul 21 18:00:02 CEST 2015 Instructions of how to set the fields in the IP catalog for ddr4.qsys -- GitLab