{"id":22753807,"url":"https://github.com/slaclab/simple-rfsoc-4x2-example","last_synced_at":"2026-01-11T13:17:47.744Z","repository":{"id":164617656,"uuid":"604834982","full_name":"slaclab/Simple-rfsoc-4x2-Example","owner":"slaclab","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-05T21:59:54.000Z","size":598,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-09-05T23:38:51.652Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-21T22:19:28.000Z","updated_at":"2025-09-05T21:59:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"96773f5f-3d95-49c7-bf24-fcc9b36a3bbc","html_url":"https://github.com/slaclab/Simple-rfsoc-4x2-Example","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/slaclab/Simple-rfsoc-4x2-Example","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-rfsoc-4x2-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-rfsoc-4x2-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-rfsoc-4x2-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-rfsoc-4x2-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slaclab","download_url":"https://codeload.github.com/slaclab/Simple-rfsoc-4x2-Example/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slaclab%2FSimple-rfsoc-4x2-Example/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28304266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-11T11:18:18.743Z","status":"ssl_error","status_checked_at":"2026-01-11T11:07:56.842Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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:14.658Z","updated_at":"2026-01-11T13:17:47.735Z","avatar_url":"https://github.com/slaclab.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple-rfsoc-4x2-Example\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-rfsoc-4x2-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-rfsoc-4x2-Example/firmware/vivado_setup.sh\n```\n\n2) Go to the target directory and make the firmware:\n\n```bash\n$ cd Simple-rfsoc-4x2-Example/firmware/targets/SimpleRfSoc4x2Example/\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 SimpleRfSoc4x2Example/image directory:\n\n```bash\n$ ls -lath SimpleRfSoc4x2Example/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 SimpleRfSoc4x2Example-0x03000000-20250710093359-ruckman-XXXXXXX.xsa\n-rw-r--r-- 1 ruckman re  33M Feb  4 21:14 SimpleRfSoc4x2Example-0x03000000-20250710093359-ruckman-XXXXXXX.bit\n```\n\n\u003c!--- ######################################################## --\u003e\n\n# How to build Yocto Linux 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 PATH and licensing (if on SLAC AFS network) else requires Vivado install and licensing on your local machine\n\n```bash\n# These setup scripts assume that you are on SLAC network\n$ source Simple-rfsoc-4x2-Example/firmware/vivado_setup.sh\n```\n\n3) Go to the target directory and run the `BuildYoctoProject.sh` script with arg pointing to path of .XSA file:\n\n```bash\n$ cd Simple-rfsoc-4x2-Example/firmware/targets/SimpleRfSoc4x2Example/\n$ source BuildYoctoProject.sh images/SimpleRfSoc4x2Example-0x03000000-20250710093359-ruckman-XXXXXXX.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-rfsoc-4x2-Example/firmware/build/YoctoProjects/SimpleRfSoc4x2Example/images/linux/system.bit boot/.\nsudo cp Simple-rfsoc-4x2-Example/firmware/build/YoctoProjects/SimpleRfSoc4x2Example/images/linux/BOOT.BIN   boot/.\nsudo cp Simple-rfsoc-4x2-Example/firmware/build/YoctoProjects/SimpleRfSoc4x2Example/images/linux/image.ub   boot/.\nsudo cp Simple-rfsoc-4x2-Example/firmware/build/YoctoProjects/SimpleRfSoc4x2Example/images/linux/boot.scr   boot/.\nsudo sync boot/\nsudo umount boot\n```\n\n3) Power down the RFSoC board\n\n4) Confirm the mode slide switch is in the \"SD\" (not \"JTAG\") position\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 SimpleRfSoc4x2Example-0x03000000-20250710093359-ruckman-XXXXXXX.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-rfsoc-4x2-Example/software/setup_env_slac.sh\n```\n\n2) Lauch the GUI:\n\n```bash\n$ cd Simple-rfsoc-4x2-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-rfsoc-4x2-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslaclab%2Fsimple-rfsoc-4x2-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslaclab%2Fsimple-rfsoc-4x2-example/lists"}