{"id":22753801,"url":"https://github.com/slaclab/simple-zcu216-example","last_synced_at":"2025-07-11T15:41:25.967Z","repository":{"id":53259882,"uuid":"454170691","full_name":"slaclab/Simple-ZCU216-Example","owner":"slaclab","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-05T16:13:22.000Z","size":581,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-05-05T17:40:37.207Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"VHDL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/slaclab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-01-31T21:08:46.000Z","updated_at":"2025-05-05T16:13:25.000Z","dependencies_parsed_at":"2023-01-21T21:46:55.908Z","dependency_job_id":"37199ef6-bede-427f-a390-0beccf2e0551","html_url":"https://github.com/slaclab/Simple-ZCU216-Example","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/slaclab/Simple-ZCU216-Example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-ZCU216-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-ZCU216-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-ZCU216-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-ZCU216-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slaclab","download_url":"https://codeload.github.com/slaclab/Simple-ZCU216-Example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-ZCU216-Example/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264842290,"owners_count":23671969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-11T06:13:12.978Z","updated_at":"2025-07-11T15:41:25.944Z","avatar_url":"https://github.com/slaclab.png","language":"VHDL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple-ZCU216-Example\n\n\u003c!--- ######################################################## --\u003e\n\n# Clone the GIT repository\n\nInstall git large filesystems (git-lfs) in your .gitconfig (1-time step per unix environment)\n```bash\n$ git lfs install\n```\nClone the git repo with git-lfs enabled\n```bash\n$ git clone --recursive https://github.com/slaclab/Simple-ZCU216-Example.git\n```\nNote: `recursive flag` used to initialize all submodules within the clone\n\n\u003c!--- ######################################################## --\u003e\n\n# How to generate the RFSoC .BIT and .XSA files\n\n1) Setup Xilinx PATH and licensing (if on SLAC AFS network) else requires Vivado install and licensing on your local machine\n\n```bash\n$ source Simple-ZCU216-Example/firmware/vivado_setup.sh\n```\n\n2) Go to the target directory and make the firmware:\n\n```bash\n$ cd Simple-ZCU216-Example/firmware/targets/SimpleZcu216Example/\n$ make\n```\n\n3) Optional: Review the results in GUI mode\n\n```bash\n$ make gui\n```\n\nThe .bit and .XSA files are dumped into the SimpleZcu216Example/image directory:\n\n```bash\n$ ls -lath SimpleZcu216Example/images/\ntotal 47M\ndrwxr-xr-x 5 ruckman re 2.0K Feb  7 07:13 ..\ndrwxr-xr-x 2 ruckman re 2.0K Feb  4 21:15 .\n-rw-r--r-- 1 ruckman re  14M Feb  4 21:15 SimpleZcu216Example-0x01000000-20220204204648-ruckman-90df89c.xsa\n-rw-r--r-- 1 ruckman re  33M Feb  4 21:14 SimpleZcu216Example-0x01000000-20220204204648-ruckman-90df89c.bit\n```\n\n\u003c!--- ######################################################## --\u003e\n\n# How to build Petalinux images\n\n1) Generate the .bit and .xsa files (refer to `How to generate the RFSoC .BIT and .XSA files` instructions).\n\n2) Setup Xilinx licensing and petalinux software (if on SLAC AFS network) else requires Xilinx \u0026 petalinux install on your local machine\n\n```bash\n$ source Simple-ZCU216-Example/firmware/vivado_setup.sh\n$ source /path/to/petalinux/2024.2/settings.sh\n```\n\n3) Go to the target directory and run the `CreatePetalinuxProject.sh` script with arg pointing to path of .XSA file:\n\n```bash\n$ cd Simple-ZCU216-Example/firmware/targets/SimpleZcu216Example/\n$ source CreatePetalinuxProject.sh images/SimpleZcu216Example-0x01000000-20220204204648-ruckman-90df89c.xsa\n```\n\n\u003c!--- ######################################################## --\u003e\n\n# How to make the SD memory card for the \"first time\"\n\n1) Creating Two Partitions.  Refer to URL below\n\nhttps://xilinx-wiki.atlassian.net/wiki/x/EYMfAQ\n\n2) Copy For the boot images, simply copy the files to the FAT partition.\nThis typically will include system.bit, BOOT.BIN, image.ub, and boot.scr.  Here's an example:\n\nNote: Assumes SD memory FAT32 is `/dev/sde1` in instructions below\n\n```bash\nsudo mkdir -p boot\nsudo mount /dev/sde1 boot\nsudo cp Simple-ZCU216-Example/firmware/build/petalinux/SimpleZcu216Example/images/linux/system.bit boot/.\nsudo cp Simple-ZCU216-Example/firmware/build/petalinux/SimpleZcu216Example/images/linux/BOOT.BIN   boot/.\nsudo cp Simple-ZCU216-Example/firmware/build/petalinux/SimpleZcu216Example/images/linux/image.ub   boot/.\nsudo cp Simple-ZCU216-Example/firmware/build/petalinux/SimpleZcu216Example/images/linux/boot.scr   boot/.\nsudo sync boot/\nsudo umount boot\n```\n\n3) Power down the RFSoC board\n\n4) Confirm the Mode SW2 [4:1] = 1110 (Mode Pins [3:0]). Note: Switch OFF = 1 = High; ON = 0 = Low.\n\n5) Power up the RFSoC board\n\n6) Confirm that you can ping the boot after it boots up\n\n\u003c!--- ######################################################## --\u003e\n\n# How to remote update the firmware bitstream\n\n- Assumes the DHCP assigned IP address is 10.0.0.10\n\n1) Using \"scp\" to copy your .bit file to the SD memory card on the RFSoC.  Here's an example:\n\n```bash\nscp SimpleZcu216Example-0x01000000-20220204204648-ruckman-90df89c.bit root@10.0.0.10:/boot/system.bit\n```\n\n2) Send a \"sync\" and \"reboot\" command to the RFSoC to load new firmware:  Here's an example:\n\n```bash\nssh root@10.0.0.10 '/bin/sync; /sbin/reboot'\n```\n\n\u003c!--- ######################################################## --\u003e\n\n# How to install the Rogue With miniforge\n\n\u003e https://slaclab.github.io/rogue/installing/miniforge.html\n\n\u003c!--- ######################################################## --\u003e\n\n# How to run the Rogue GUI\n\n- Assumes the DHCP assigned IP address is 10.0.0.10\n\n1) Setup the rogue environment (if on SLAC AFS network) else install rogue (recommend miniforge method) on your local machine\n\n```bash\n$ source Simple-ZCU216-Example/software/setup_env_slac.sh\n```\n\n2) Go to software directory and lauch the GUI:\n\n```bash\n$ cd Simple-ZCU216-Example/software\n$ python scripts/devGui.py --ip 10.0.0.10\n```\n\n\u003c!--- ######################################################## --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Fsimple-zcu216-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslaclab%2Fsimple-zcu216-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Fsimple-zcu216-example/lists"}