Upgrading Eclipse
Upgrading Eclipse
Upgrading Eclipse
Upgrading Eclipse
Upgrading Eclipse
Upgrading Eclipse
Created page with "Upgrading Eclipse installation to work with Elphel projects, including VDT plugin that launches another Eclipse application (e.g. from Neon to Oxygen) '''Always backup your w..."
New page
Upgrading Eclipse installation to work with Elphel projects, including VDT plugin that launches another Eclipse application (e.g. from Neon to Oxygen)'''Always backup your workspace files tree or use copies, such as workspace-neon and workspace-oxygen (start with a copy of workspace-neon).'''
Same for secondary workspaces (runtime-EclipseApplication-neon, runtime-EclipseApplication-oxygen). You may find the path to the secondary workspace for VDT plugin here:
Run -> Run Configurations -> Eclipse Application -> Eclipse Application -> Main (tab) -> Location
That may look like: ${workspace_loc}/../runtime-EclipseApplication-oxygen
First open current (working) version of Eclipse (here: Neon), select
File -> Export -> Install -> Installed Software Items to File
Select: All
Select: Include entries not found in repositories
select location where to save the export file
Run new Eclipse version, '''select new empty workspace, not the working one with your projects'''
File -> Import -> Install -> Install Software Items from File -> Next
Locate exported file
select: Install latest version of selected file
Finish
Then close Eclipse and open it with workspace-oxygen (copied from workspace-neon). Eclipse will worn you that it will update the workspace and there is no way back. Agree, as it is a copy of the workspace-neon, not workspace-neon itself.
You projects should open correctly. Now change location of the secondary workspace (from ...-neon to ...-oxygen) in:
Run -> Run Configurations -> Eclipse Application -> Eclipse Application -> Main (tab) -> Location
Try running that secondary Eclipse (it will take longer first time before it will ask about updating configuration to the new Eclipse version) Andrey.filippov
Using 10359 mux with 10393
Firmware image
← Older revision Revision as of 23:18, 15 November 2017 Line 2: Line 2: ===Firmware image=== ===Firmware image=== −[https://community.elphel.com/files/393/20171115/ '''20171115'''] or required apps-autocampars version is at least 1.0.46+[https://community.elphel.com/files/393/20171115/ '''20171115'''] or required apps-autocampars version is at least 1.0.47 root@elphel393:~# cat /etc/elphel393/packages/apps-autocampars root@elphel393:~# cat /etc/elphel393/packages/apps-autocampars 1.0.47 1.0.47 OlegUsing 10359 mux with 10393
Firmware image
← Older revision Revision as of 23:18, 15 November 2017 (One intermediate revision by the same user not shown)Line 2: Line 2: ===Firmware image=== ===Firmware image=== −[https://community.elphel.com/files/393/20171115/ '''20171115'''] or required apps-autocampars version is at least 1.0.46+[https://community.elphel.com/files/393/20171115/ '''20171115'''] or required apps-autocampars version is at least 1.0.47 root@elphel393:~# cat /etc/elphel393/packages/apps-autocampars root@elphel393:~# cat /etc/elphel393/packages/apps-autocampars − 1.0.46+ 1.0.47 ===Connection=== ===Connection=== OlegUsing 10359 mux with10393
Oleg moved page Using 10359 mux with10393 to Using 10359 mux with 10393 -
OlegX393
Simulation with Cocotb
← Older revision Revision as of 21:58, 15 November 2017 (2 intermediate revisions by the same user not shown)Line 25: Line 25: Examples of the commands to launch in the client program are available like comment sin the end of the file [https://git.elphel.com/Elphel/x393/blob/master/py393/x393_jpeg.py] and can be copy-pasted from there. Program is ran from the top directory of the cloned x393 project: Examples of the commands to launch in the client program are available like comment sin the end of the file [https://git.elphel.com/Elphel/x393/blob/master/py393/x393_jpeg.py] and can be copy-pasted from there. Program is ran from the top directory of the cloned x393 project: +[[File:Continue cocotb.png|400px|thumb|right|Figure 2. cocotb simulation after 'measure_all "*DI"' command finished]] ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 Next lines are the actual commands to be executed, starting with the DDR memory initialization. The whole command block can be copy-pasted simultaneously, and they will start running - that may take a long times (from tens to hundreds of minutes with small but actual image acquisition and compression on all ports). Next lines are the actual commands to be executed, starting with the DDR memory initialization. The whole command block can be copy-pasted simultaneously, and they will start running - that may take a long times (from tens to hundreds of minutes with small but actual image acquisition and compression on all ports). As soon as the client will start, Cocotb simulation in VDT should come to life again and output executed commands. As soon as the client will start, Cocotb simulation in VDT should come to life again and output executed commands. −[[File:Continue cocotb.png|400px|thumb|right|Figure 2. cocotb simulation after 'measure_all "*DI"' command finished]] measure_all "*DI" measure_all "*DI" Console output for the client will look like: Console output for the client will look like: + eyesis@eyesis-SH87R: eyesis@eyesis-SH87R:~/git/x393$ ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 eyesis@eyesis-SH87R:~/git/x393$ ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 args.simulated = localhost:7777 args.simulated = localhost:7777 args = Namespace(commands=[], defines=[[' TARGET_MODE=1']], exceptions=0, interactive=True, localparams=' includes/x393_cur_params_target_gen.vh', parameters=[[' PICKLE="includes/x393_mcntrl.pickle"']], paths=[[' system_defines.vh'], [' includes/x393_parameters.vh includes/x393_cur_params_simulation.vh includes/x393_localparams.vh includes/x393_simulation_parameters.vh']], simulated='localhost:7777', socket_port='', verbose=None) args = Namespace(commands=[], defines=[[' TARGET_MODE=1']], exceptions=0, interactive=True, localparams=' includes/x393_cur_params_target_gen.vh', parameters=[[' PICKLE="includes/x393_mcntrl.pickle"']], paths=[[' system_defines.vh'], [' includes/x393_parameters.vh includes/x393_cur_params_simulation.vh includes/x393_localparams.vh includes/x393_simulation_parameters.vh']], simulated='localhost:7777', socket_port='', verbose=None) +++ paths=['system_defines.vh', 'includes/x393_parameters.vh', 'includes/x393_cur_params_simulation.vh', 'includes/x393_localparams.vh', 'includes/x393_simulation_parameters.vh'] +++ paths=['system_defines.vh', 'includes/x393_parameters.vh', 'includes/x393_cur_params_simulation.vh', 'includes/x393_localparams.vh', 'includes/x393_simulation_parameters.vh'] + +[[File:Finish cocotb.png|400px|thumb|right|Figure 3. cocotb simulation after 'finish' command]] ... ... [113.368/+113.364] Initialize memory, turn on refresh (used when no calibration is needed) [113.368/+113.364] Initialize memory, turn on refresh (used when no calibration is needed) Line 43: Line 46: [122.141/+8.773] All Done [122.141/+8.773] All Done x393 (localhost:7777) +122.141s--> x393 (localhost:7777) +122.141s--> + It is possible to view partially simulated waveforms and then enter more commands. In the simplest case just enter "finish" command and then "exit" - restarting simulation after "finish" is not built in the program. It is possible to view partially simulated waveforms and then enter more commands. In the simplest case just enter "finish" command and then "exit" - restarting simulation after "finish" is not built in the program. +[[File:Gtkwave cocotb.png|400px|thumb|right|Figure 4. GTKWave viewer after cocotb simulation is finished]] x393 (localhost:7777) +122.141s--> finish x393 (localhost:7777) +122.141s--> finish stop-> 0 stop-> 0 Line 50: Line 55: eyesis@eyesis-SH87R:~/git/x393-neon$ eyesis@eyesis-SH87R:~/git/x393-neon$ −"finish" command from the client ends cocotb simulation and VDT launches GTKWave showing simulation results+"finish" command from the client ends cocotb simulation (Figure 3) and VDT launches GTKWave showing simulation results (Figure 4). Andrey.filippovX393
Simulation with Cocotb
← Older revision Revision as of 21:58, 15 November 2017 (3 intermediate revisions by the same user not shown)Line 18: Line 18: Simulation with cocotb uses client-server model. Simulation with cocotb uses client-server model. −First you launch Cocotb simulation (double-click on 'Cocotb Python Verification' menu item in the bottom-right panel of VDT perspective. This should launch simulation, and after all the initialization steps are done, simulation will be suspended, waiting for the client to communicate.+[[File:Launch cocotb.png|400px|thumb|right|Figure 1. cocotb simulation initialized]] + +First you launch Cocotb simulation (double-click on 'Cocotb Python Verification' menu item in the bottom-right panel of VDT perspective. This should launch simulation, and after all the initialization steps are done, simulation will be suspended, waiting for the client to communicate (Figure 1). Client is a Python application that may run either in the physical camera, or on a GNU/Linux computer. In that case all hardware-dependent functionality (access to the memory or FPGA registers) is replaced by the interaction with Cocotb simulation (see this blog post [https://blog.elphel.com/2016/07/i-will-not-have-to-learn-systemverilog/]) Client is a Python application that may run either in the physical camera, or on a GNU/Linux computer. In that case all hardware-dependent functionality (access to the memory or FPGA registers) is replaced by the interaction with Cocotb simulation (see this blog post [https://blog.elphel.com/2016/07/i-will-not-have-to-learn-systemverilog/]) Examples of the commands to launch in the client program are available like comment sin the end of the file [https://git.elphel.com/Elphel/x393/blob/master/py393/x393_jpeg.py] and can be copy-pasted from there. Program is ran from the top directory of the cloned x393 project: Examples of the commands to launch in the client program are available like comment sin the end of the file [https://git.elphel.com/Elphel/x393/blob/master/py393/x393_jpeg.py] and can be copy-pasted from there. Program is ran from the top directory of the cloned x393 project: +[[File:Continue cocotb.png|400px|thumb|right|Figure 2. cocotb simulation after 'measure_all "*DI"' command finished]] ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 Next lines are the actual commands to be executed, starting with the DDR memory initialization. The whole command block can be copy-pasted simultaneously, and they will start running - that may take a long times (from tens to hundreds of minutes with small but actual image acquisition and compression on all ports). Next lines are the actual commands to be executed, starting with the DDR memory initialization. The whole command block can be copy-pasted simultaneously, and they will start running - that may take a long times (from tens to hundreds of minutes with small but actual image acquisition and compression on all ports). −As soon as the client will start, Cocotb simulation in VDT should come to life again and output commands executed+As soon as the client will start, Cocotb simulation in VDT should come to life again and output executed commands. measure_all "*DI" measure_all "*DI" + +Console output for the client will look like: + eyesis@eyesis-SH87R: + eyesis@eyesis-SH87R:~/git/x393$ ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 + args.simulated = localhost:7777 + args = Namespace(commands=[], defines=[[' TARGET_MODE=1']], exceptions=0, interactive=True, localparams=' includes/x393_cur_params_target_gen.vh', parameters=[[' PICKLE="includes/x393_mcntrl.pickle"']], paths=[[' system_defines.vh'], [' includes/x393_parameters.vh includes/x393_cur_params_simulation.vh includes/x393_localparams.vh includes/x393_simulation_parameters.vh']], simulated='localhost:7777', socket_port='', verbose=None) + +++ paths=['system_defines.vh', 'includes/x393_parameters.vh', 'includes/x393_cur_params_simulation.vh', 'includes/x393_localparams.vh', 'includes/x393_simulation_parameters.vh'] + +[[File:Finish cocotb.png|400px|thumb|right|Figure 3. cocotb simulation after 'finish' command]] +... + [113.368/+113.364] Initialize memory, turn on refresh (used when no calibration is needed) + init_ddr3(wait_complete=True, refresh=True, quiet=4, ) + [122.141/+8.773] All Done + x393 (localhost:7777) +122.141s--> + + +It is possible to view partially simulated waveforms and then enter more commands. In the simplest case just enter "finish" command and then "exit" - restarting simulation after "finish" is not built in the program. +[[File:Gtkwave cocotb.png|400px|thumb|right|Figure 4. GTKWave viewer after cocotb simulation is finished]] + x393 (localhost:7777) +122.141s--> finish + stop-> 0 + x393 (localhost:7777) +0.001s--> exit + eyesis@eyesis-SH87R:~/git/x393-neon$ + +"finish" command from the client ends cocotb simulation (Figure 3) and VDT launches GTKWave showing simulation results (Figure 4). Andrey.filippovFile:Gtkwave cocotb.png
Andrey.filippov uploaded File:Gtkwave cocotb.png GTKWave viewer after cocotb simulation finished
New page
== Summary ==GTKWave viewer after cocotb simulation finished
== Licensing ==
{{GNU FDLv1.3 }} Andrey.filippov
File:Finish cocotb.png
Andrey.filippov uploaded File:Finish cocotb.png VDT+cocotb after simulation finished
New page
== Summary ==VDT+cocotb after simulation finished
== Licensing ==
{{GNU FDLv1.3 }} Andrey.filippov
File:Continue cocotb.png
Andrey.filippov uploaded File:Continue cocotb.png Screenshot of the running cocotb after client ran several commands
New page
== Summary ==Screenshot of the running cocotb after client ran several commands
== Licensing ==
{{GNU FDLv1.3 }} Andrey.filippov
File:Launch cocotb.png
Andrey.filippov uploaded File:Launch cocotb.png
New page
== Licensing =={{GNU FDLv1.3 }} Andrey.filippov
X393
Simulation with Cocotb
← Older revision Revision as of 21:25, 15 November 2017 Line 16: Line 16: VDT plugin does not use Vivado GUI, in the case of x393 it only uses Vivado synthesis and implementation command line tools. Other projects (x353) for older FPGA devices use Xiinx ISE, it is possible to use Intel/Altera Quartus also. VDT plugin does not use Vivado GUI, in the case of x393 it only uses Vivado synthesis and implementation command line tools. Other projects (x353) for older FPGA devices use Xiinx ISE, it is possible to use Intel/Altera Quartus also. ==Simulation with Cocotb== ==Simulation with Cocotb== +Simulation with cocotb uses client-server model. + +First you launch Cocotb simulation (double-click on 'Cocotb Python Verification' menu item in the bottom-right panel of VDT perspective. This should launch simulation, and after all the initialization steps are done, simulation will be suspended, waiting for the client to communicate. + +Client is a Python application that may run either in the physical camera, or on a GNU/Linux computer. In that case all hardware-dependent functionality (access to the memory or FPGA registers) is replaced by the interaction with Cocotb simulation (see this blog post [https://blog.elphel.com/2016/07/i-will-not-have-to-learn-systemverilog/]) + +Examples of the commands to launch in the client program are available like comment sin the end of the file [https://git.elphel.com/Elphel/x393/blob/master/py393/x393_jpeg.py] and can be copy-pasted from there. Program is ran from the top directory of the cloned x393 project: + ./py393/test_mcntrl.py @py393/cocoargs --simulated=localhost:7777 + +Next lines are the actual commands to be executed, starting with the DDR memory initialization. The whole command block can be copy-pasted simultaneously, and they will start running - that may take a long times (from tens to hundreds of minutes with small but actual image acquisition and compression on all ports). +As soon as the client will start, Cocotb simulation in VDT should come to life again and output commands executed + + measure_all "*DI" Andrey.filippovX393
starting page
New page
x393 is a project for the FPGA (Xilinx Zynq 7030) that powers Elphel NC393 camera.==Code repository==
[https://git.elphel.com/Elphel/x393/]
==Installation instructions==
[https://git.elphel.com/Elphel/x393/blob/master/README.md]
==Introduction==
The project uses Verilog HDL, it is distributed as a project of [[VDT]] plugin for Eclipse IDE. When VDT plugin (and related software) is installed you may launch simulation and implementation tools from this IDE.
Simulation uses Icarus Verilog simulator and Cocotb Python co-simulator (Cocotb still uses Icarus).
Proprietary Implementations tools (x393 project uses only free for download WebPack edition of Xilinx Vivado tools) may be installed on the same computer as the development environment, or on a separate computer - in that case VDP plugin uses ssh+rsync to communicate with teh installed software. Such separation allows to comply with Xilinx WebPack license that requires that computer with Vivado WebPack installation should be connected to the Internet, and at the same time preserve security of the files on your workstation - communication between the two computers is one-way and Vivado can not reach files on the workstation.
VDT plugin does not use Vivado GUI, in the case of x393 it only uses Vivado synthesis and implementation command line tools. Other projects (x353) for older FPGA devices use Xiinx ISE, it is possible to use Intel/Altera Quartus also.
==Simulation with Cocotb== Andrey.filippov
Using 10359 mux with10393
Eclipse/ExDT/VDT plugins
marked as legacy, added link to current page
← Older revision Revision as of 20:40, 15 November 2017 Line 1: Line 1: +{{Legacy}} +Current page is [[VDT]] + == About == == About == Eclipse/ExDT (and its special version for Verilog - Eclipse/VDT) is a plugin for Eclipse developed by [http://www.excelsior-usa.com Excelsior,LLC] for Elphel,Inc. Eclipse/ExDT (and its special version for Verilog - Eclipse/VDT) is a plugin for Eclipse developed by [http://www.excelsior-usa.com Excelsior,LLC] for Elphel,Inc. Andrey.filippovVdt
Andrey.filippov moved page Vdt to VDT without leaving a redirect
Andrey.filippov