<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ro">
	<id>http://wiki.dcae.pub.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrei.ulmamei</id>
	<title>WikiLabs - Contribuții utilizator [ro]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.dcae.pub.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrei.ulmamei"/>
	<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php/Special:Contribu%C8%9Bii/Andrei.ulmamei"/>
	<updated>2026-04-21T09:34:23Z</updated>
	<subtitle>Contribuții utilizator</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale&amp;diff=8324</id>
		<title>Circuite Integrate Digitale</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Circuite_Integrate_Digitale&amp;diff=8324"/>
		<updated>2026-04-08T11:20:55Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Scopul laboratorului */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Scopul laboratorului ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Laboratorul de circuite integrate digitale vine ca o completare practica a cursului de CID. &lt;br /&gt;
Prin definitie, acesta se va axa pe elemente practice de simulare, sinteza si testare a circuitelor ce sunt prezentate la curs. &lt;br /&gt;
&lt;br /&gt;
Acest laborator se bazeaza pe limbajul &amp;quot;SystemVerilog&amp;quot;, acesta fiind unul din cele 2 limbaje de descriere hardware folosite in industrie la ora actuala (celalalt fiind &amp;quot;VHDL&amp;quot;). &amp;quot;SystemVerilog&amp;quot; vine ca o completare la &amp;quot;Verilog&amp;quot;, introducand numeroase elemente ce ajuta in special testarea circuitelor, dar si unele imbunatatiri pentru procesul de proiectare. &lt;br /&gt;
&lt;br /&gt;
Platformele sunt structurate astfel incat sa contina cateva elemente de teorie minimala, un exemplu de circuit descris in cod Verilog si apoi exercitii pe care sa le rezolvati in ora de aplicatii (simulare/testare pe placa FPGA) si acasa (simulare). &lt;br /&gt;
&lt;br /&gt;
In laborator se va lucra in Vivado, program al companiei AMD (Xilinx), pe o placă de dezvoltare Boolean Board. &lt;br /&gt;
&lt;br /&gt;
Circuitele digitale sunt o parte fundamentala a electronici moderne, cu numeroase oportunitati in industrie, atat in design cat si in verificarea circuitelor.&lt;br /&gt;
&lt;br /&gt;
Pe langa ce veti invata in acest laborator, limbajul ofera si capabilitati mai avansate pentru a descrie mai eficient circuitele dorite, cat si pentru testarea acestora. Sintaxa nu se termina cu ce invatati aici si pentru cei pasionati, nu ezitati sa va contactati cadrul didactic cu intrebari.&lt;br /&gt;
&lt;br /&gt;
Speram ca o sa va placa, veti invata si vi se va parea interesant ce veti vedea in orele de aplicatii ce urmeaza. Spor.&lt;br /&gt;
&lt;br /&gt;
== Tutoriale și documentații ==&lt;br /&gt;
&lt;br /&gt;
Programul Vivado este gratuit (necesita cont, dar este gratis) si poate fi descarcat si instalat urmand tutorialul de aici:&lt;br /&gt;
# [[Tutorial instalare Vivado]]&lt;br /&gt;
# [[Tutorial Vivado]].&lt;br /&gt;
# [[FPGA - Introducere]].&lt;br /&gt;
# [https://www.realdigital.org/doc/02013cd17602c8af749f00561f88ae21 Boolean Board - user manual]&lt;br /&gt;
# [[Boolean Board - Pinout]].&lt;br /&gt;
# [https://www.tulembedded.com/FPGA/ProductsPYNQ-Z2.html Pynq-Z2 - pagina oficiala]&lt;br /&gt;
# [https://dpoauwgwqsy2x.cloudfront.net/Download/pynqz2_user_manual_v1_0.pdf Pynq-Z2 - user manual]&lt;br /&gt;
# [[Pynq-Z2 - Pinout]].&lt;br /&gt;
	&lt;br /&gt;
O lista de link-uri utile poate fi gasita aici:&lt;br /&gt;
# [[Introducere. SystemVerilog HDL]] (Sintaxa [[SystemVerilog]])&lt;br /&gt;
# [https://www.asic-world.com/digital/index.html Asic-world - digital]&lt;br /&gt;
# [https://www.asic-world.com/verilog/index.html Asic-world - verilog]&lt;br /&gt;
# [https://nandgame.com/ Joc online: Nandgame]	&lt;br /&gt;
# [https://circuitverse.org/simulator Simulator/joc online si grafic de circuite: Circuitverse]	&lt;br /&gt;
# [https://falstad.com/circuit/ Simulator online si grafic de circuite (analog+digital): Falstad]&lt;br /&gt;
# [https://github.com/hneemann/Digital Simulator grafic de circuite digitale: hneemann-digital]&lt;br /&gt;
# [https://play.google.com/store/apps/details?id=com.ViacheslavRud.Circuit&amp;amp;hl=en_US&amp;amp;gl=US Joc android - Make it True: Solve the Circuit]&lt;br /&gt;
# [https://www.edaplayground.com/ Simulatoare online (mod text): Edaplayground]&lt;br /&gt;
# [https://wavedrom.com/ Utilitar desenare forme de unda]&lt;br /&gt;
# [https://www.draw.io/ Utilitar desenare diagrame]&lt;br /&gt;
# [[Domenii conexe]]&lt;br /&gt;
&lt;br /&gt;
== Lucrări de laborator ==&lt;br /&gt;
&lt;br /&gt;
# [[CID_aplicatii_1 : Generare de forme de unda]]&lt;br /&gt;
# [[CID_aplicatii_2 : Instantiere si porti logice]]&lt;br /&gt;
# [[CID_aplicatii_3 : Circuite combinationale elementare]]&lt;br /&gt;
# [[CID_aplicatii_4 : Memoria ROM]]&lt;br /&gt;
# [[CID_aplicatii_5 : Exercitii cu circuite combinationale]]&lt;br /&gt;
# CID_aplicatii_6 : Lucrarea 1 - circuite combinationale&lt;br /&gt;
# [[CID_aplicatii_7 : Circuite secventiale elementare]]&lt;br /&gt;
# [[CID_aplicatii_8 : Registre si memorii RAM]]&lt;br /&gt;
# [[CID_aplicatii_9 : Numaratorul]]&lt;br /&gt;
# [[CID_aplicatii_10 : Aplicatii cu numaratoare]]&lt;br /&gt;
# [[CID_aplicatii_11 : Automate finite]]&lt;br /&gt;
# [[CID_aplicatii_12 : Exercitii cu circuite secventiale]]&lt;br /&gt;
# CID_aplicatii_13 : Lucrarea 2 - circuite secventiale&lt;br /&gt;
# [[CID_aplicatii_14 : Circuite digitale complexe]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=8294</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=8294"/>
		<updated>2026-03-17T16:21:43Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., a415-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) (ask your system administrator if you don&amp;#039;t have it) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://wiki.dcae.pub.ro/index.php/VPN_Tutorial_-_en this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl list-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to see the open sessions. Identify your session and run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-session &amp;lt;session-id&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
replacing session-id with the id of your session.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Q: Is there any fix for the login screen bug? &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: Run this command in a SSH connection (different terminal):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gsettings set org.gnome.desktop.session idle-delay 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=8293</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=8293"/>
		<updated>2026-03-17T16:21:08Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* FAQ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., a415-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) (ask your system administrator if you don&amp;#039;t have it) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://wiki.dcae.pub.ro/index.php/VPN_Tutorial_-_en this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl list-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
to see the open sessions. Identify your session and run&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-session &amp;lt;session-id&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
replacing session-id with the id of your session.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039; Q: Is there any fix for the login screen bug? &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Run this command in a SSH connection (different terminal):&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
gsettings set org.gnome.desktop.session idle-delay 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=8006</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=8006"/>
		<updated>2025-03-25T20:16:39Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;Name and Location&amp;#039;&amp;#039;&amp;#039; tab, choose a name for your HLS component and a location. In the &amp;#039;&amp;#039;&amp;#039;Configuration File&amp;#039;&amp;#039;&amp;#039;, leave everything as is. In &amp;#039;&amp;#039;&amp;#039;Source Files&amp;#039;&amp;#039;&amp;#039;, write your desired top level function under the textbox labeled &amp;#039;&amp;#039;&amp;#039;Top Function&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|800px]]&lt;br /&gt;
[[Fișier:Source Files.png|800px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under the hardware section, select &amp;#039;&amp;#039;&amp;#039;xc7z020iclg400-1l&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In the summary section, two pieces of information need to be provided:&lt;br /&gt;
* expected clock speed at which the circuit should operate: this constraints the tool to create a circuit that can function at that specific frequency&lt;br /&gt;
* clock uncertainty, how much the clock can vary around the expected value.&lt;br /&gt;
[[Fișier:Summary.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Next step, Settings, lets the user select the target operating frequency and clock uncertainty. For a safe design, we will choose 10ns for operating frequency and 2ns for clock uncertainty.&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Clock summary.png.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Now press next and finish. The project should be generated.&lt;br /&gt;
&lt;br /&gt;
To create new sources, right click on &amp;#039;&amp;#039;&amp;#039;Sources&amp;#039;&amp;#039;&amp;#039;, then &amp;#039;&amp;#039;&amp;#039;New Source File&amp;#039;&amp;#039;&amp;#039;. To add C simulation testbench, right click on &amp;#039;&amp;#039;&amp;#039;Test Bench&amp;#039;&amp;#039;&amp;#039;, then &amp;#039;&amp;#039;&amp;#039;New Test Bench File&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Clock_summary.png.png&amp;diff=8005</id>
		<title>Fișier:Clock summary.png.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Clock_summary.png.png&amp;diff=8005"/>
		<updated>2025-03-25T20:14:24Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7989</id>
		<title>VPN Tutorial - en</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7989"/>
		<updated>2025-03-10T18:09:05Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Downloading and Installing WireGuard */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WireGuard VPN Installation and Usage Guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WireGuard&amp;#039;&amp;#039;&amp;#039; is a modern, fast, and secure VPN solution. This guide provides step-by-step instructions on how to install and configure WireGuard on Windows, Linux, and macOS.&lt;br /&gt;
&lt;br /&gt;
To use WireGuard, you need:&lt;br /&gt;
* The WireGuard application installed on your system.&lt;br /&gt;
* A VPN configuration file (e.g., &amp;#039;&amp;#039;&amp;#039;wg-config.conf&amp;#039;&amp;#039;&amp;#039;) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;!!! Each user should request only one configuration file per device and should NOT share it with other users or devices. !!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Windows Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading the Application ===&lt;br /&gt;
1. Go to the official WireGuard website: [https://www.wireguard.com/install/ https://www.wireguard.com/install/]&lt;br /&gt;
2. Download the **Windows Installer**.&lt;br /&gt;
&lt;br /&gt;
[[File:Wireguard_download_page.png|1500px|Download the WireGuard installer from the official website.]]&lt;br /&gt;
&lt;br /&gt;
=== Installing the Application ===&lt;br /&gt;
1. Double-click the downloaded file (**wireguard-installer.exe**).&lt;br /&gt;
2. Follow the installation instructions.&lt;br /&gt;
3. After installation, open the WireGuard application.&lt;br /&gt;
&lt;br /&gt;
[[File:Wire1.png|Opening WireGuard after installation.]]&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click the &amp;#039;&amp;#039;&amp;#039;&amp;quot;Import tunnel(s) from file&amp;quot;&amp;#039;&amp;#039;&amp;#039; button.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|Importing the configuration file into WireGuard.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Once the configuration file is loaded, click on the **Activate** button.&lt;br /&gt;
2. If the connection is successful, the status will change to **Active** (green).&lt;br /&gt;
&lt;br /&gt;
[[File:Activare1.png|WireGuard connection activated.]]&lt;br /&gt;
&lt;br /&gt;
== Linux Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Installing WireGuard ===&lt;br /&gt;
1. Open a terminal.&lt;br /&gt;
2. Run the following command to install WireGuard:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install wireguard    # For Debian-based systems (Ubuntu)&lt;br /&gt;
sudo dnf install wireguard    # For Fedora-based systems&lt;br /&gt;
sudo pacman -S wireguard-tools # For Arch Linux&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Move the configuration file to the correct location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Downloads/&lt;br /&gt;
sudo cp wg-config.conf /etc/wireguard/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Ensure the correct file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod 600 /etc/wireguard/wg-config.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
To start the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick up wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of the WireGuard connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== macOS Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing WireGuard ===&lt;br /&gt;
1. Open the **App Store**.&lt;br /&gt;
2. Search for **WireGuard**.&lt;br /&gt;
3. Click **Install**.&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click on **Import tunnel(s) from file**.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**).&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|Importing the configuration file into WireGuard on macOS.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Click on the tunnel you imported.&lt;br /&gt;
2. Click the **Activate** button.&lt;br /&gt;
&lt;br /&gt;
Once activated, your internet traffic will be routed through the VPN.&lt;br /&gt;
&lt;br /&gt;
[[File:Activare2.png|WireGuard successfully connected on macOS.]]&lt;br /&gt;
&lt;br /&gt;
== Checking Connection Status ==&lt;br /&gt;
To verify your VPN connection, visit:&lt;br /&gt;
[https://www.whatismyip.com/ https://www.whatismyip.com/]&lt;br /&gt;
&lt;br /&gt;
Your IP address should match the one assigned by the VPN server.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: My WireGuard connection does not work. What should I do?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Check the following:&lt;br /&gt;
* Ensure that the configuration file is correctly imported.&lt;br /&gt;
* Verify that your internet connection is active.&lt;br /&gt;
* Restart the WireGuard service:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  sudo wg-quick down wg-config&lt;br /&gt;
  sudo wg-quick up wg-config&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If the problem persists, contact your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot browse the internet after connecting to WireGuard.&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: This could be due to incorrect routing. Check with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip route&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that your VPN server is properly configured.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: How do I disconnect from WireGuard?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Click **Deactivate** in the WireGuard interface or run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
You have now installed and configured WireGuard on Windows, Linux, and macOS. Always ensure your VPN is active when working remotely for security and privacy.&lt;br /&gt;
&lt;br /&gt;
If you encounter any issues, contact your system administrator for further assistance.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7988</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7988"/>
		<updated>2025-03-09T15:05:24Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Useful resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
* [[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
* [[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;br /&gt;
&lt;br /&gt;
= Admin =&lt;br /&gt;
* Course - 50p oral exam (to be discussed)&lt;br /&gt;
* Lab&lt;br /&gt;
** 20p assignments (to be discussed)&lt;br /&gt;
** 30p project (to be discussed)&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
alexandru.ulmamei@upb.ro&lt;br /&gt;
&lt;br /&gt;
= Useful resources =&lt;br /&gt;
&lt;br /&gt;
* [https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM ZYNQ7000 Technical Reference Manual]&lt;br /&gt;
* [https://docs.amd.com/r/en-US/ug1399-vitis-hls High Level Synthesis User Guide]&lt;br /&gt;
* [https://developer.arm.com/documentation/ihi0022/latest/ ARM AMBA Architecture]&lt;br /&gt;
* [https://cse.usf.edu/~haozheng/teach/cda4253/doc/hls/hls_bluebook_uv.pdf High Level Synthesis Book]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7987</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7987"/>
		<updated>2025-03-09T13:13:55Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;Name and Location&amp;#039;&amp;#039;&amp;#039; tab, choose a name for your HLS component and a location. In the &amp;#039;&amp;#039;&amp;#039;Configuration File&amp;#039;&amp;#039;&amp;#039;, leave everything as is. In &amp;#039;&amp;#039;&amp;#039;Source Files&amp;#039;&amp;#039;&amp;#039;, write your desired top level function under the textbox labeled &amp;#039;&amp;#039;&amp;#039;Top Function&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|800px]]&lt;br /&gt;
[[Fișier:Source Files.png|800px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Under the hardware section, select &amp;#039;&amp;#039;&amp;#039;xc7z020iclg400-1l&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In the summary section, two pieces of information need to be provided:&lt;br /&gt;
* expected clock speed at which the circuit should operate: this constraints the tool to create a circuit that can function at that specific frequency&lt;br /&gt;
* clock uncertainty, how much the clock can vary around the expected value.&lt;br /&gt;
[[Fișier:Summary.png|800px]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Summary.png&amp;diff=7986</id>
		<title>Fișier:Summary.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Summary.png&amp;diff=7986"/>
		<updated>2025-03-09T13:12:10Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7985</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7985"/>
		<updated>2025-03-09T13:09:20Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|800px]]&lt;br /&gt;
[[Fișier:Source Files.png|800px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
In &amp;#039;&amp;#039;&amp;#039;Name and Location&amp;#039;&amp;#039;&amp;#039; tab, choose a name for your HLS component and a location. In the &amp;#039;&amp;#039;&amp;#039;Configuration File&amp;#039;&amp;#039;&amp;#039;, leave everything as is. In &amp;#039;&amp;#039;&amp;#039;Source Files&amp;#039;&amp;#039;&amp;#039;, write your desired top level function under the textbox labeled &amp;#039;&amp;#039;&amp;#039;Top Function&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Source_Files.png&amp;diff=7984</id>
		<title>Fișier:Source Files.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Source_Files.png&amp;diff=7984"/>
		<updated>2025-03-09T13:08:14Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7983</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7983"/>
		<updated>2025-03-09T13:04:33Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|400px]]&lt;br /&gt;
[[Fișier:New prj.png|400px]]&lt;br /&gt;
[[Fișier:New prj.png|400px]]&lt;br /&gt;
[[Fișier:New prj.png|400px]]&lt;br /&gt;
[[Fișier:New prj.png|400px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7982</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7982"/>
		<updated>2025-03-09T13:03:59Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|800px]]&lt;br /&gt;
[[Fișier:New prj.png|800px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7981</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7981"/>
		<updated>2025-03-09T13:03:41Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:flex; justify-content:space-between;&amp;quot;&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|1200px]]&lt;br /&gt;
[[Fișier:New prj.png|1200px]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7980</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7980"/>
		<updated>2025-03-09T13:03:07Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
[Fișier:New prj.png|1200px]&lt;br /&gt;
[Fișier:New prj.png|1200px]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7979</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7979"/>
		<updated>2025-03-09T13:02:51Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
[[Fișier:New prj.png|1200px]]&lt;br /&gt;
[[Fișier:New prj.png|1200px]]&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7978</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7978"/>
		<updated>2025-03-09T13:02:28Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fișier:New prj.png|1200px&lt;br /&gt;
Fișier:New prj.png|1200px&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7977</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7977"/>
		<updated>2025-03-09T13:02:06Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
Follow the steps shown in the Vitis executable. At some point, you will have to pick a name for the top function. Beware that the function name should also appear in the declaration of it.&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Fișier:New prj.png|miniatura&lt;br /&gt;
Fișier:New prj.png|miniatura&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:New_prj.png&amp;diff=7976</id>
		<title>Fișier:New prj.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:New_prj.png&amp;diff=7976"/>
		<updated>2025-03-09T13:00:50Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7975</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7975"/>
		<updated>2025-03-09T12:55:44Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;br /&gt;
[[Fișier:Vitis hls new prj.png|1200px]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vitis_hls_new_prj.png&amp;diff=7974</id>
		<title>Fișier:Vitis hls new prj.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vitis_hls_new_prj.png&amp;diff=7974"/>
		<updated>2025-03-09T12:55:26Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7973</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7973"/>
		<updated>2025-03-08T16:16:45Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;br /&gt;
&lt;br /&gt;
In order to create a new project, click on Create Component -&amp;gt; Create Empty HLS Component.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7972</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7972"/>
		<updated>2025-03-08T16:15:51Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|1200px]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7971</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7971"/>
		<updated>2025-03-08T16:15:43Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png|miniatura]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7970</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7970"/>
		<updated>2025-03-08T16:15:31Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Vitis window looks like this:&lt;br /&gt;
&lt;br /&gt;
[[Fișier:Vitis.png]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vitis.png&amp;diff=7969</id>
		<title>Fișier:Vitis.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vitis.png&amp;diff=7969"/>
		<updated>2025-03-08T16:15:25Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7968</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7968"/>
		<updated>2025-03-08T16:12:23Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Setup ==&lt;br /&gt;
&lt;br /&gt;
For this lab, we will be using the AMD Vitis tool. In order to access the tool, login into your assigned machine using tigervnc-viewer (please see the [https://wiki.dcae.pub.ro/index.php/FPGA_Student_Classroom_tutorial tutorial].&lt;br /&gt;
&lt;br /&gt;
Once the GUI is opened, open a terminal and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
source /nfs/amd/Vitis/2024.2/settings64.sh&lt;br /&gt;
vitis&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7967</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7967"/>
		<updated>2025-03-08T16:10:11Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7966</id>
		<title>Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Lab_1_-_Intro_to_High_Level_Synthesis._Simulation._Co-simulation._RTL_generation&amp;diff=7966"/>
		<updated>2025-03-08T16:09:52Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: Pagină nouă: = Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation =  High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation =&lt;br /&gt;
&lt;br /&gt;
High-Level Synthesis (HLS) is a design methodology that enables hardware description at a higher level of abstraction, typically using C, C++, or SystemC, rather than traditional register-transfer level (RTL) coding. HLS tools automatically translate high-level specifications into optimized RTL implementations, reducing development time while allowing for &amp;#039;&amp;#039;&amp;#039;design space exploration&amp;#039;&amp;#039;&amp;#039;.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7965</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7965"/>
		<updated>2025-03-08T15:13:40Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Step 1 - VPN */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., a415-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) (ask your system administrator if you don&amp;#039;t have it) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://wiki.dcae.pub.ro/index.php/VPN_Tutorial_-_en this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7964</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7964"/>
		<updated>2025-03-08T15:13:07Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., a415-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://wiki.dcae.pub.ro/index.php/VPN_Tutorial_-_en this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7963</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7963"/>
		<updated>2025-03-08T15:12:21Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
* [[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
* [[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;br /&gt;
&lt;br /&gt;
= Admin =&lt;br /&gt;
* Course - 50p oral exam (to be discussed)&lt;br /&gt;
* Lab&lt;br /&gt;
** 20p assignments (to be discussed)&lt;br /&gt;
** 30p project (to be discussed)&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
alexandru.ulmamei@upb.ro&lt;br /&gt;
&lt;br /&gt;
= Useful resources =&lt;br /&gt;
&lt;br /&gt;
* [https://docs.amd.com/r/en-US/ug585-zynq-7000-SoC-TRM ZYNQ7000 Technical Reference Manual]&lt;br /&gt;
* [https://docs.amd.com/r/en-US/ug1399-vitis-hls High Level Synthesis User Guide]&lt;br /&gt;
* [https://developer.arm.com/documentation/ihi0022/latest/ ARM AMBA Architecture]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7962</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7962"/>
		<updated>2025-03-08T15:07:48Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Admin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
* [[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
* [[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;br /&gt;
&lt;br /&gt;
= Admin =&lt;br /&gt;
* Course - 50p oral exam (to be discussed)&lt;br /&gt;
* Lab&lt;br /&gt;
** 20p assignments (to be discussed)&lt;br /&gt;
** 30p project (to be discussed)&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
alexandru.ulmamei@upb.ro&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7961</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7961"/>
		<updated>2025-03-08T15:06:54Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
* [[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
* [[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;br /&gt;
&lt;br /&gt;
= Admin =&lt;br /&gt;
* Course - 50p oral exam (to be discussed)&lt;br /&gt;
* Lab - 20p assignments (to be discussed)&lt;br /&gt;
      - 30p project (to be discussed)&lt;br /&gt;
&lt;br /&gt;
Contact:&lt;br /&gt;
alexandru.ulmamei@upb.ro&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7960</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7960"/>
		<updated>2025-03-08T15:05:41Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Lab sessions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
* [[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
* [[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7959</id>
		<title>Reconfigurable Computing</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Reconfigurable_Computing&amp;diff=7959"/>
		<updated>2025-03-08T15:05:30Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: Pagină nouă: = Course sessions =  Courses can be found on Moodle platform.  = Lab sessions =  Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation Lab 2 - Hard...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Course sessions =&lt;br /&gt;
&lt;br /&gt;
Courses can be found on Moodle platform.&lt;br /&gt;
&lt;br /&gt;
= Lab sessions =&lt;br /&gt;
&lt;br /&gt;
[[Lab 1 - Intro to High Level Synthesis. Simulation. Co-simulation. RTL generation]]&lt;br /&gt;
[[Lab 2 - Hardware flow. Vivado. PYNQ framework]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Pagina_principal%C4%83&amp;diff=7958</id>
		<title>Pagina principală</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Pagina_principal%C4%83&amp;diff=7958"/>
		<updated>2025-03-08T15:03:04Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Platforme de aplicatii sau laborator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scopul acestei pagini este de a centraliza platformele de laborator dar și toate resursele auxiliare pentru cursurile și laboratoarele ținute în cadrul departamentului de Dispozitive, Circuite și Arhitecturi Electronice. &lt;br /&gt;
&lt;br /&gt;
== Materiale de curs ==&lt;br /&gt;
* [[Programarea Calculatoarelor (curs seria C,F)|Programarea Calculatoarelor]]&lt;br /&gt;
* [[Circuite Integrate Digitale (curs)|Circuite Integrate Digitale]]&lt;br /&gt;
* [[Dispozitive Semiconductoare de Putere (curs)|Dispozitive Semiconductoare de Putere]]&lt;br /&gt;
* [[Structuri de Date și Algoritmi (curs)|Structuri de Date și Algoritmi]]&lt;br /&gt;
* [[Senzori si Circuite de Conditionare a Semnalelor (curs)|Senzori si Circuite de Conditionare a Semnalelor]]&lt;br /&gt;
&amp;lt;!--* [[Programarea Calculatoarelor (curs)|Programarea Calculatoarelor]]--&amp;gt;&lt;br /&gt;
* [[Programare Orientată Obiect (curs)|Programare Orientată Obiect]]&lt;br /&gt;
* [[Tehnici de proiectare VLSI (curs)|Tehnici de proiectare VLSI]]&lt;br /&gt;
&lt;br /&gt;
== Platforme de aplicatii sau laborator ==&lt;br /&gt;
* [[Arhitectura Sistemelor de Calcul]]&lt;br /&gt;
* [[Circuite Integrate Analogice (laborator)|Circuite Integrate Analogice]]&lt;br /&gt;
* [[Circuite Integrate Digitale | Circuite Integrate Digitale]] &amp;lt;&amp;gt; [[Digital Integrated Circuits (app) | Digital Integrated Circuits (app)]]&lt;br /&gt;
* [[Electronica Digitala | Electronica Digitala]]&lt;br /&gt;
* [[Dispozitive Semiconductoare de Putere (laborator)|Dispozitive Semiconductoare de Putere]]&lt;br /&gt;
* [[Dispozitive Electronice(laborator)|Dispozitive Electronice]]&lt;br /&gt;
* [[Circuite Electronice(laborator)|Circuite Electronice]]&lt;br /&gt;
* [[Programare Orientată Obiect (Java)]]&lt;br /&gt;
* [[Programare Orientată pe Obiecte (C++)]]&lt;br /&gt;
* [[Structuri de Date și Algoritmi]]&lt;br /&gt;
* [[Senzori si Circuite de Conditionare a Semnalelor (laborator)|SCCS]]&lt;br /&gt;
* [[Programarea Calculatoarelor (laborator)|Programarea Calculatoarelor]]&lt;br /&gt;
* [[Tehnici de proiectare VLSI (laborator)|Tehnici de proiectare VLSI]]&lt;br /&gt;
* [[Performance analysis and optimization]]&lt;br /&gt;
* [https://users.dcae.pub.ro/~zhascsi/courses/dsd/dsd.html Digital Systems Design Project]&lt;br /&gt;
* [[Reconfigurable Computing]]&lt;br /&gt;
&lt;br /&gt;
== Materiale vechi CID ==&lt;br /&gt;
* [[Circuite Integrate Digitale (2023)]]&lt;br /&gt;
* [[Circuite_Integrate_Digitale_(2021)|Circuite Integrate Digitale (2021)]]&lt;br /&gt;
* [[Circuite integrate digitale (seminar)|Circuite Integrate Digitale]] * [[Digital Integrated Circuits (seminar)|Digital Integrated Circuits]]&lt;br /&gt;
* [[Circuite Integrate Digitale (laborator)|Circuite Integrate Digitale]] * [[Digital Integrated Circuits (lab)|Digital Integrated Circuits]]&lt;br /&gt;
&lt;br /&gt;
== Materiale pentru proiecte ==&lt;br /&gt;
* [[Project SCCS - Senzori si Circuite de Conditionare a Semnalelor]]&lt;br /&gt;
* [[Proiect 1 - Dispozitive si Circuite Electronice|Dispozitive si Circuite Electronice]]&lt;br /&gt;
* [[ACES - Vivado remote run]]&lt;br /&gt;
&lt;br /&gt;
== Regulamente ==&lt;br /&gt;
* [[Regulament protectia muncii]]&lt;br /&gt;
* [[Regulamentul laboratoarelor POO și ASC]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Pagina_principal%C4%83&amp;diff=7957</id>
		<title>Pagina principală</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Pagina_principal%C4%83&amp;diff=7957"/>
		<updated>2025-03-08T15:02:56Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: /* Platforme de aplicatii sau laborator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Scopul acestei pagini este de a centraliza platformele de laborator dar și toate resursele auxiliare pentru cursurile și laboratoarele ținute în cadrul departamentului de Dispozitive, Circuite și Arhitecturi Electronice. &lt;br /&gt;
&lt;br /&gt;
== Materiale de curs ==&lt;br /&gt;
* [[Programarea Calculatoarelor (curs seria C,F)|Programarea Calculatoarelor]]&lt;br /&gt;
* [[Circuite Integrate Digitale (curs)|Circuite Integrate Digitale]]&lt;br /&gt;
* [[Dispozitive Semiconductoare de Putere (curs)|Dispozitive Semiconductoare de Putere]]&lt;br /&gt;
* [[Structuri de Date și Algoritmi (curs)|Structuri de Date și Algoritmi]]&lt;br /&gt;
* [[Senzori si Circuite de Conditionare a Semnalelor (curs)|Senzori si Circuite de Conditionare a Semnalelor]]&lt;br /&gt;
&amp;lt;!--* [[Programarea Calculatoarelor (curs)|Programarea Calculatoarelor]]--&amp;gt;&lt;br /&gt;
* [[Programare Orientată Obiect (curs)|Programare Orientată Obiect]]&lt;br /&gt;
* [[Tehnici de proiectare VLSI (curs)|Tehnici de proiectare VLSI]]&lt;br /&gt;
&lt;br /&gt;
== Platforme de aplicatii sau laborator ==&lt;br /&gt;
* [[Arhitectura Sistemelor de Calcul]]&lt;br /&gt;
* [[Circuite Integrate Analogice (laborator)|Circuite Integrate Analogice]]&lt;br /&gt;
* [[Circuite Integrate Digitale | Circuite Integrate Digitale]] &amp;lt;&amp;gt; [[Digital Integrated Circuits (app) | Digital Integrated Circuits (app)]]&lt;br /&gt;
* [[Electronica Digitala | Electronica Digitala]]&lt;br /&gt;
* [[Dispozitive Semiconductoare de Putere (laborator)|Dispozitive Semiconductoare de Putere]]&lt;br /&gt;
* [[Dispozitive Electronice(laborator)|Dispozitive Electronice]]&lt;br /&gt;
* [[Circuite Electronice(laborator)|Circuite Electronice]]&lt;br /&gt;
* [[Programare Orientată Obiect (Java)]]&lt;br /&gt;
* [[Programare Orientată pe Obiecte (C++)]]&lt;br /&gt;
* [[Structuri de Date și Algoritmi]]&lt;br /&gt;
* [[Senzori si Circuite de Conditionare a Semnalelor (laborator)|SCCS]]&lt;br /&gt;
* [[Programarea Calculatoarelor (laborator)|Programarea Calculatoarelor]]&lt;br /&gt;
* [[Tehnici de proiectare VLSI (laborator)|Tehnici de proiectare VLSI]]&lt;br /&gt;
* [[Performance analysis and optimization]]&lt;br /&gt;
* [https://users.dcae.pub.ro/~zhascsi/courses/dsd/dsd.html Digital Systems Design Project]&lt;br /&gt;
* [[]Reconfigurable Computing]&lt;br /&gt;
&lt;br /&gt;
== Materiale vechi CID ==&lt;br /&gt;
* [[Circuite Integrate Digitale (2023)]]&lt;br /&gt;
* [[Circuite_Integrate_Digitale_(2021)|Circuite Integrate Digitale (2021)]]&lt;br /&gt;
* [[Circuite integrate digitale (seminar)|Circuite Integrate Digitale]] * [[Digital Integrated Circuits (seminar)|Digital Integrated Circuits]]&lt;br /&gt;
* [[Circuite Integrate Digitale (laborator)|Circuite Integrate Digitale]] * [[Digital Integrated Circuits (lab)|Digital Integrated Circuits]]&lt;br /&gt;
&lt;br /&gt;
== Materiale pentru proiecte ==&lt;br /&gt;
* [[Project SCCS - Senzori si Circuite de Conditionare a Semnalelor]]&lt;br /&gt;
* [[Proiect 1 - Dispozitive si Circuite Electronice|Dispozitive si Circuite Electronice]]&lt;br /&gt;
* [[ACES - Vivado remote run]]&lt;br /&gt;
&lt;br /&gt;
== Regulamente ==&lt;br /&gt;
* [[Regulament protectia muncii]]&lt;br /&gt;
* [[Regulamentul laboratoarelor POO și ASC]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7956</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7956"/>
		<updated>2025-03-08T15:02:09Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://wiki.dcae.pub.ro/index.php/VPN_Tutorial_-_en this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7955</id>
		<title>VPN Tutorial - en</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7955"/>
		<updated>2025-03-08T15:01:13Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WireGuard VPN Installation and Usage Guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WireGuard&amp;#039;&amp;#039;&amp;#039; is a modern, fast, and secure VPN solution. This guide provides step-by-step instructions on how to install and configure WireGuard on Windows, Linux, and macOS.&lt;br /&gt;
&lt;br /&gt;
To use WireGuard, you need:&lt;br /&gt;
* The WireGuard application installed on your system.&lt;br /&gt;
* A VPN configuration file (e.g., &amp;#039;&amp;#039;&amp;#039;wg-config.conf&amp;#039;&amp;#039;&amp;#039;) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;!!! Each user should request only one configuration file per device and should NOT share it with other users or devices. !!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Windows Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading the Application ===&lt;br /&gt;
1. Go to the official WireGuard website: [https://www.wireguard.com/install/ https://www.wireguard.com/install/]&lt;br /&gt;
2. Download the **Windows Installer**.&lt;br /&gt;
&lt;br /&gt;
[[File:Wireguard_download_page.png|1500px|Download the WireGuard installer from the official website.]]&lt;br /&gt;
&lt;br /&gt;
=== Installing the Application ===&lt;br /&gt;
1. Double-click the downloaded file (**wireguard-installer.exe**).&lt;br /&gt;
2. Follow the installation instructions.&lt;br /&gt;
3. After installation, open the WireGuard application.&lt;br /&gt;
&lt;br /&gt;
[[File:Wire1.png|Opening WireGuard after installation.]]&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click the &amp;#039;&amp;#039;&amp;#039;&amp;quot;Import tunnel(s) from file&amp;quot;&amp;#039;&amp;#039;&amp;#039; button.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|Importing the configuration file into WireGuard.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Once the configuration file is loaded, click on the **Activate** button.&lt;br /&gt;
2. If the connection is successful, the status will change to **Active** (green).&lt;br /&gt;
&lt;br /&gt;
[[File:Activare1.png|WireGuard connection activated.]]&lt;br /&gt;
&lt;br /&gt;
== Linux Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Installing WireGuard ===&lt;br /&gt;
1. Open a terminal.&lt;br /&gt;
2. Run the following command to install WireGuard:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install wireguard    # For Debian-based systems (Ubuntu)&lt;br /&gt;
sudo dnf install wireguard    # For Fedora-based systems&lt;br /&gt;
sudo pacman -S wireguard-tools # For Arch Linux&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Move the configuration file to the correct location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Downloads/&lt;br /&gt;
sudo cp wg-config.conf /etc/wireguard/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Ensure the correct file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod 600 /etc/wireguard/wg-config.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
To start the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick up wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of the WireGuard connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== macOS Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing WireGuard ===&lt;br /&gt;
1. Open the **App Store**.&lt;br /&gt;
2. Search for **WireGuard**.&lt;br /&gt;
3. Click **Install**.&lt;br /&gt;
&lt;br /&gt;
Alternatively, install it via Homebrew:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install --cask wireguard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click on **Import tunnel(s) from file**.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**).&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|Importing the configuration file into WireGuard on macOS.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Click on the tunnel you imported.&lt;br /&gt;
2. Click the **Activate** button.&lt;br /&gt;
&lt;br /&gt;
Once activated, your internet traffic will be routed through the VPN.&lt;br /&gt;
&lt;br /&gt;
[[File:Activare2.png|WireGuard successfully connected on macOS.]]&lt;br /&gt;
&lt;br /&gt;
== Checking Connection Status ==&lt;br /&gt;
To verify your VPN connection, visit:&lt;br /&gt;
[https://www.whatismyip.com/ https://www.whatismyip.com/]&lt;br /&gt;
&lt;br /&gt;
Your IP address should match the one assigned by the VPN server.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: My WireGuard connection does not work. What should I do?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Check the following:&lt;br /&gt;
* Ensure that the configuration file is correctly imported.&lt;br /&gt;
* Verify that your internet connection is active.&lt;br /&gt;
* Restart the WireGuard service:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  sudo wg-quick down wg-config&lt;br /&gt;
  sudo wg-quick up wg-config&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If the problem persists, contact your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot browse the internet after connecting to WireGuard.&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: This could be due to incorrect routing. Check with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip route&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that your VPN server is properly configured.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: How do I disconnect from WireGuard?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Click **Deactivate** in the WireGuard interface or run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
You have now installed and configured WireGuard on Windows, Linux, and macOS. Always ensure your VPN is active when working remotely for security and privacy.&lt;br /&gt;
&lt;br /&gt;
If you encounter any issues, contact your system administrator for further assistance.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7954</id>
		<title>VPN Tutorial - en</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=VPN_Tutorial_-_en&amp;diff=7954"/>
		<updated>2025-03-08T15:00:23Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: Pagină nouă: == WireGuard VPN Installation and Usage Guide ==  &amp;#039;&amp;#039;&amp;#039;WireGuard&amp;#039;&amp;#039;&amp;#039; is a modern, fast, and secure VPN solution. This guide provides step-by-step instructions on how to install and co...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== WireGuard VPN Installation and Usage Guide ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WireGuard&amp;#039;&amp;#039;&amp;#039; is a modern, fast, and secure VPN solution. This guide provides step-by-step instructions on how to install and configure WireGuard on Windows, Linux, and macOS.&lt;br /&gt;
&lt;br /&gt;
To use WireGuard, you need:&lt;br /&gt;
* The WireGuard application installed on your system.&lt;br /&gt;
* A VPN configuration file (e.g., &amp;#039;&amp;#039;&amp;#039;wg-config.conf&amp;#039;&amp;#039;&amp;#039;) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;!!! Each user should request only one configuration file per device and should NOT share it with other users or devices. !!!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Windows Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading the Application ===&lt;br /&gt;
1. Go to the official WireGuard website: [https://www.wireguard.com/install/ https://www.wireguard.com/install/]&lt;br /&gt;
2. Download the **Windows Installer**.&lt;br /&gt;
&lt;br /&gt;
[[File:Wireguard_download_page.png|1500px|thumb|Download the WireGuard installer from the official website.]]&lt;br /&gt;
&lt;br /&gt;
=== Installing the Application ===&lt;br /&gt;
1. Double-click the downloaded file (**wireguard-installer.exe**).&lt;br /&gt;
2. Follow the installation instructions.&lt;br /&gt;
3. After installation, open the WireGuard application.&lt;br /&gt;
&lt;br /&gt;
[[File:Wire1.png|thumb|Opening WireGuard after installation.]]&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click the &amp;#039;&amp;#039;&amp;#039;&amp;quot;Import tunnel(s) from file&amp;quot;&amp;#039;&amp;#039;&amp;#039; button.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**) provided by your system administrator.&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|thumb|Importing the configuration file into WireGuard.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Once the configuration file is loaded, click on the **Activate** button.&lt;br /&gt;
2. If the connection is successful, the status will change to **Active** (green).&lt;br /&gt;
&lt;br /&gt;
[[File:Activare1.png|thumb|WireGuard connection activated.]]&lt;br /&gt;
&lt;br /&gt;
== Linux Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Installing WireGuard ===&lt;br /&gt;
1. Open a terminal.&lt;br /&gt;
2. Run the following command to install WireGuard:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo apt install wireguard    # For Debian-based systems (Ubuntu)&lt;br /&gt;
sudo dnf install wireguard    # For Fedora-based systems&lt;br /&gt;
sudo pacman -S wireguard-tools # For Arch Linux&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Move the configuration file to the correct location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd ~/Downloads/&lt;br /&gt;
sudo cp wg-config.conf /etc/wireguard/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Ensure the correct file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo chmod 600 /etc/wireguard/wg-config.conf&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
To start the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick up wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VPN connection, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To check the status of the WireGuard connection:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== macOS Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Installing WireGuard ===&lt;br /&gt;
1. Open the **App Store**.&lt;br /&gt;
2. Search for **WireGuard**.&lt;br /&gt;
3. Click **Install**.&lt;br /&gt;
&lt;br /&gt;
Alternatively, install it via Homebrew:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
brew install --cask wireguard&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Importing the Configuration File ===&lt;br /&gt;
1. Open the WireGuard application.&lt;br /&gt;
2. Click on **Import tunnel(s) from file**.&lt;br /&gt;
3. Select the configuration file (**wg-config.conf**).&lt;br /&gt;
&lt;br /&gt;
[[File:upload_config_file.png|thumb|Importing the configuration file into WireGuard on macOS.]]&lt;br /&gt;
&lt;br /&gt;
=== Activating the VPN ===&lt;br /&gt;
1. Click on the tunnel you imported.&lt;br /&gt;
2. Click the **Activate** button.&lt;br /&gt;
&lt;br /&gt;
Once activated, your internet traffic will be routed through the VPN.&lt;br /&gt;
&lt;br /&gt;
[[File:Activare2.png|thumb|WireGuard successfully connected on macOS.]]&lt;br /&gt;
&lt;br /&gt;
== Checking Connection Status ==&lt;br /&gt;
To verify your VPN connection, visit:&lt;br /&gt;
[https://www.whatismyip.com/ https://www.whatismyip.com/]&lt;br /&gt;
&lt;br /&gt;
Your IP address should match the one assigned by the VPN server.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: My WireGuard connection does not work. What should I do?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Check the following:&lt;br /&gt;
* Ensure that the configuration file is correctly imported.&lt;br /&gt;
* Verify that your internet connection is active.&lt;br /&gt;
* Restart the WireGuard service:&lt;br /&gt;
  &amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
  sudo wg-quick down wg-config&lt;br /&gt;
  sudo wg-quick up wg-config&lt;br /&gt;
  &amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* If the problem persists, contact your system administrator.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot browse the internet after connecting to WireGuard.&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: This could be due to incorrect routing. Check with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip route&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that your VPN server is properly configured.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: How do I disconnect from WireGuard?&amp;#039;&amp;#039;&amp;#039;  &lt;br /&gt;
A: Click **Deactivate** in the WireGuard interface or run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo wg-quick down wg-config&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Conclusion ==&lt;br /&gt;
&lt;br /&gt;
You have now installed and configured WireGuard on Windows, Linux, and macOS. Always ensure your VPN is active when working remotely for security and privacy.&lt;br /&gt;
&lt;br /&gt;
If you encounter any issues, contact your system administrator for further assistance.&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Tutoriale_DCAE&amp;diff=7953</id>
		<title>Tutoriale DCAE</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Tutoriale_DCAE&amp;diff=7953"/>
		<updated>2025-03-08T14:58:25Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[Deplasare internă]]&lt;br /&gt;
* [[Deplasare externă]]&lt;br /&gt;
* [[Plată taxă conferință]]&lt;br /&gt;
* [[Procedură decont]]&lt;br /&gt;
* [[Tutorial VPN]]&lt;br /&gt;
* [[VPN Tutorial - en]]&lt;br /&gt;
* [[Tutorial VNC/RDP]]&lt;br /&gt;
* [[FPGA Student Classroom tutorial]]&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vivado_open.png&amp;diff=7952</id>
		<title>Fișier:Vivado open.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:Vivado_open.png&amp;diff=7952"/>
		<updated>2025-03-08T14:57:23Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7951</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7951"/>
		<updated>2025-03-08T14:56:59Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://link this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:GNOME_desktop.png&amp;diff=7950</id>
		<title>Fișier:GNOME desktop.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:GNOME_desktop.png&amp;diff=7950"/>
		<updated>2025-03-08T14:56:28Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7949</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7949"/>
		<updated>2025-03-08T14:56:02Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://link this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|thumb|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|thumb|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:TigerVNC_password.png&amp;diff=7948</id>
		<title>Fișier:TigerVNC password.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=Fi%C8%99ier:TigerVNC_password.png&amp;diff=7948"/>
		<updated>2025-03-08T14:55:11Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7947</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7947"/>
		<updated>2025-03-08T14:54:31Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://link this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|thumb|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|thumb|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|thumb|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7946</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7946"/>
		<updated>2025-03-08T14:53:36Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., a415-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [https://link this page].&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [https://apps.microsoft.com/detail/9n0dx20hk701 Windows Terminal] from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [https://iterm2.com/ iTerm2] is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/ here].&lt;br /&gt;
* **macOS:** Download TigerVNC from [https://tigervnc.macupdate.com/ here].&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|1500px|thumb|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|thumb|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|thumb|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|thumb|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error known bug] in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
	<entry>
		<id>http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7945</id>
		<title>FPGA Student Classroom tutorial</title>
		<link rel="alternate" type="text/html" href="http://wiki.dcae.pub.ro/index.php?title=FPGA_Student_Classroom_tutorial&amp;diff=7945"/>
		<updated>2025-03-08T14:50:07Z</updated>

		<summary type="html">&lt;p&gt;Andrei.ulmamei: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== FPGA Student Classroom Access Tutorial ==&lt;br /&gt;
&lt;br /&gt;
This is a guide that aims to show how to connect to the classroom resources remotely, in order to access the software and hardware resources (FPGAs) available at the university. The goal is to create a remote desktop session to one of the computers in the lab. This session can then be used to run software (e.g., Vivado) and to program hardware FPGAs.&lt;br /&gt;
&lt;br /&gt;
Before you can connect to the classroom cluster, you will need to obtain the following from a system administrator:&lt;br /&gt;
&lt;br /&gt;
* A VPN configuration file (e.g., fsc00-myname.conf)&lt;br /&gt;
* A username and password&lt;br /&gt;
* An assigned workstation and FPGA board (e.g., station07 &amp;amp; pynq07)&lt;br /&gt;
&lt;br /&gt;
The connection process consists of the following steps:&lt;br /&gt;
&lt;br /&gt;
# Connect via VPN to the cluster network.&lt;br /&gt;
# Connect to your workstation via SSH and create a remote desktop (VNC) instance.&lt;br /&gt;
# Connect to the remote desktop instance.&lt;br /&gt;
&lt;br /&gt;
== Step 1 - VPN ==&lt;br /&gt;
&lt;br /&gt;
To connect to the cluster network via VPN, you will need the provided VPN configuration file (e.g., fsc00-myname.conf) and a WireGuard VPN client.&lt;br /&gt;
&lt;br /&gt;
For a full guide on how to use the WireGuard VPN, check [this page](https://link).&lt;br /&gt;
&lt;br /&gt;
== Step 2 - SSH ==&lt;br /&gt;
&lt;br /&gt;
In order to connect to your workstation via SSH to open the remote desktop instance, you will need a terminal application or a dedicated SSH client.&lt;br /&gt;
&lt;br /&gt;
* **Windows 11** comes with Windows Terminal. Windows 10 users can download the [Windows Terminal](https://apps.microsoft.com/detail/9n0dx20hk701) from the Microsoft Store or use the older Command Prompt application.&lt;br /&gt;
* **macOS** has a pre-installed Terminal application. [iTerm2](https://iterm2.com/) is a popular community alternative with more features.&lt;br /&gt;
&lt;br /&gt;
First, connect to the workstation using the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh myname@station07&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time logging in, you will be prompted to change your initial password:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
(myname@station07) Password: &lt;br /&gt;
Password expired. Change your password now.&lt;br /&gt;
(myname@station07) Current Password: &lt;br /&gt;
(myname@station07) New password: &lt;br /&gt;
(myname@station07) Retype new password:&lt;br /&gt;
&lt;br /&gt;
myname@station07:~$&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `myname` and `station07` with your assigned username and workstation.&lt;br /&gt;
&lt;br /&gt;
Once connected, launch a VNC instance with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -localhost no&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If this is your first time starting a VNC instance, you will be prompted to set a password. You will also need to note the **VNC port** and **X display number** from the output. If you forget these numbers, you can retrieve them with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To stop the VNC session, use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vncserver -kill :3&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace `:3` with your actual X display number.&lt;br /&gt;
&lt;br /&gt;
== Step 3 - VNC ==&lt;br /&gt;
&lt;br /&gt;
To connect to your workstation using VNC, you will need a VNC client. **TigerVNC** is a popular choice, though others like RealVNC, TightVNC, and Remmina are also available.&lt;br /&gt;
&lt;br /&gt;
* **Windows:** Download TigerVNC from [here](https://sourceforge.net/projects/tigervnc/files/stable/1.15.0/).&lt;br /&gt;
* **macOS:** Download TigerVNC from [here](https://tigervnc.macupdate.com/).&lt;br /&gt;
* **Linux:** Install TigerVNC via Flatpak:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
flatpak install flathub org.tigervnc.vncviewer&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once installed, enter your workstation name followed by a colon and the VNC port (e.g., `station07.fsc00.arh.pub.ro:5903`).&lt;br /&gt;
&lt;br /&gt;
[[File:Tigervnc.png|1500px|thumb|Enter your workstation and port here.]]&lt;br /&gt;
&lt;br /&gt;
Click **Connect**, then enter your **VNC session password** (not your account password).&lt;br /&gt;
&lt;br /&gt;
[[File:TigerVNC_password.png|thumb|Enter your VNC password here.]]&lt;br /&gt;
&lt;br /&gt;
If successful, you will see your remote desktop.&lt;br /&gt;
&lt;br /&gt;
[[File:GNOME_desktop.png|thumb|You are now connected!]]&lt;br /&gt;
&lt;br /&gt;
You can now open a terminal and launch Vivado:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
vivado&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Vivado_open.png|thumb|Vivado running on remote desktop.]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect to my VNC session.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Connect via SSH and check with `vncserver -list`. Ensure the VNC server was started with `-localhost no`.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I cannot connect via SSH; my workstation appears to be powered off.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: Some students turn off the stations despite instructions. Contact a system administrator to power it on remotely.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Q: I can connect to VNC, but I see a login screen and an &amp;quot;Authentication error&amp;quot; message.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
A: This is a [known bug](https://askubuntu.com/questions/1224957/i-cannot-log-in-a-vnc-session-after-the-screen-locks-authentification-error) in TigerVNC. While connected via VNC, open an SSH session and run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
loginctl unlock-sessions&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Andrei.ulmamei</name></author>
	</entry>
</feed>