User Tools

Site Tools


sopc_to_qsys

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
sopc_to_qsys [2013/06/24 14:16]
emily.miao
sopc_to_qsys [2013/06/24 14:28] (current)
emily.miao
Line 1: Line 1:
 +====== Running LegUp with QSYS or SOPC ======
 +
 +parameter in makefile.config specifies which builder to use for makefile.common
 +    BUILDER = SOPC / QSYS
 +parameter in legup.tcl specifies builder to use for SwOnly.cpp
 +    set_parameter USE_QSYS 0
 +0 for SOPC, 1 for QSYS
 +
 ====== Implementing LegUp to run with Qsys ====== ====== Implementing LegUp to run with Qsys ======
  
Line 41: Line 49:
     void SwOnly::​initWaveFile(...)     void SwOnly::​initWaveFile(...)
 added if statement to distinguish btw sopc and qsys added if statement to distinguish btw sopc and qsys
 +
  
 data_cache_hw.tcl:​ qsys system changed bursts to pipelined data_cache_hw.tcl:​ qsys system changed bursts to pipelined
 +
 wave.do: qsys testbench uses different instance naming scheme wave.do: qsys testbench uses different instance naming scheme
  
  
-===== Files added ===== +===== sopc/qsys tcl script =====
- +
-==== tiger.qsys ==== +
- +
-Directory:​ +
-    ~/​legup-3.0/​tiger/​processor/​tiger_DE#​ +
- +
-Open tiger.sopc in the above directory using QSYS, click ok if a box pops up. Then 'save as' with the name tiger, type .qsys +
- +
- +
-==== Notes ==== +
- +
--Need to have +
-    package require -exact qsys 12.1 +
- at first line of qsys tcl script to have +
-    load_system tiger/tiger.qsys +
- to run without error +
- +
-Tried to add the line in _hw.tcl, to replace +
-   ​package retuire -exact sopc 11.1 +
-but doesn'​t work +
- +
- +
-====== The tcl Commands ====== +
- +
-===== changes to tiger_top_hw.tcl:​ ===== +
- +
-__file can be found at__ +
- +
-for DE2: +
-    legup-3.0/​tiger/​processor/​tiger_DE2/​tiger_top_hw.tcl +
-for DE4: +
-    legup-3.0/​tiger/​processor/​tiger_DE4/​tiger_top_hw.tcl +
- +
-change all instances of +
-    set_interface_property '​connection point name' associatedReset ""​  +
-to +
-    set_interface_property '​connection point name' associatedReset reset +
-Note: there should be three places that needs to be changed +
- +
- +
-===== to run with qsys ===== +
- +
-__changes to Makefile:​__ +
- +
-find  +
-    sopc_builder ...  +
-comment line out (should be around line 730) +
- +
-uncomment the two lines underneath +
-    qsys-script ​... +
-    ip-generate ... +
- +
-===== the tcl file =====+
  
 sopc module = qsys instance sopc module = qsys instance
Line 160: Line 117:
 ===== Simulation ===== ===== Simulation =====
  
-Testbench +Testbench ​top level module 
- +    ​./​tiger/​testbench/​tiger_tb/​simulation/​tiger_tb.v 
-Directories +all other files in  
 +    ​./​tiger/​testbench/​tiger_tb/​simulation/​submodules 
 +qsys generated testbench uses system verilog files, need to have full version of Modelsim to run simulation
  
-===== Implementation Procedure ===== 
  
-First run  +===== Significant Changes =====
-    make hybridsim +
-in terminal to run the simulation using sopc (need to comment qsys and uncomment sopc in Makefile.common) +
-Then change Makefile.common to run qsys instead of sopc +
-Also change '​legup_sopc.tcl'​ to qsys tcl commands+
  
-Notealso need to remove all instances that has been created from sopc for qsys to run properly+QSYS uses QuartusII 13.0 instead of 11.1 
 +SOPC still supported. tiger processor directory 
 +    legup-3.0/​tiger/​processor/​tiger_DEx_sopc 
 +QSYS system changed burst to pipelined
  
-run  
-    make hybridGenerateSOPC ​ 
-in terminal to run the new tcl file 
  
-run  
-    make sim_proc 
-to simulate the circuit using the .v file produced by qsys 
-If tcl file is correctly done, result should be '​PASS'​ 
  
-Note: for qsys to function properly, need to change the "​AssociatedReset"​ for various interfaces to reset (See above section on "​changes to tiger_top_hw.tcl"​) 
  
-===== Progress ===== 
  
-Implemented QSYS for "​matrixmultiply",​ passed. (May 13, 2013) 
-Implemented QSYS for "​chstone_hybrid/​adpcm",​ passed. (May 14, 2013) 
sopc_to_qsys.txt · Last modified: 2013/06/24 14:28 by emily.miao