This page is a collection of notes on the Red Pitaya platform The chip used is a '' xc7z010clg400-1'' documentation hub [[https://docs.amd.com/v/u/en-US/dh0050-zynq-7000-design-overview-hub]] Official docs [[https://docs.amd.com/v/u/en-US/ug865-Zynq-7000-Pkg-Pinout]] Specific pinout info {{ :phylabs:lab_courses:phys-226-wiki-home:fpgas:xc7z010clg400pkg.txt |}} From a Slovenian university: [[https://lniv.fe.uni-lj.si/redpitaya/index.html]] Scottish EEE group wrote a whole book on the base FPGA [[http://www.zynqbook.com/]] Direct PDF link:{{phylabs:lab_courses:phys-226-wiki-home:fpgas:the_zynq_book_ebook_3.pdf}} Minimal project setup [[https://github.com/XavierAudier/minimal_redpitaya/tree/master]] [[https://marceluda.github.io/rp_lock-in_pid/]] [[https://marceluda.github.io/rp_scope_lock/]] ==== Pavel Demin ==== Pavel has done a ton to put out useful stuff for the Red Pitaya Website [[http://pavel-demin.github.io/red-pitaya-notes/]] Github [[https://github.com/pavel-demin/red-pitaya-notes/tree/master]] ==== Anton Potocnik ==== Another life saver, actually goes over tutorials on building Red Pitaya projects from scratch Website [[https://antonpotocnik.com/?p=487360]] Github [[https://github.com/apotocnik/redpitaya_guide]] ==== Official Docs ==== Less helpful than I'd like Hardware info [[https://redpitaya.readthedocs.io/en/latest/developerGuide/hardware/125-14/top.html]] Hardware schematic [[https://downloads.redpitaya.com/doc//Red_Pitaya_Schematics_v1.0.1.pdf]] "Knowledge Base" [[https://redpitaya-knowledge-base.readthedocs.io/en/latest/]] Programming instructions [[https://redpitaya-knowledge-base.readthedocs.io/en/latest/learn_fpga/3_vivado_env/tutorfpga2.html]] Their solution only works straight from the .tcl command line. My solution: create a file named 'rp_post.tcl' and set it to run after bitstream generation via settings -> bitstream -> tcl.post you could use the tcl command ''set_property STEPS.WRITE_BITSTREAM.TCL.POST ''??? (still figuring out syntax) Got info from [[https://leiblog.wang/static/FPGA/books/Vivado%E4%BB%8E%E6%AD%A4%E5%BC%80%E5%A7%8B/Video_37_TCL_Vivado_One_World_3.pdf]] mor official info [[https://docs.amd.com/r/en-US/ug894-vivado-tcl-scripting/Defining-Tcl-Hook-Scripts]] File contents are: set biffile [open "system_wrapper.bif" w+] put $biffile "all:{ system_wrapper.bit }" close $biffile exec bootgen -image system_wrapper.bif -arch zynq -process_bitstream bin -o system_wrapper.bit.bin -w This creates the ''system_wrapper.bif'' file and then does its magic to create a bootable bitstream Code "borrowed" from [[https://stackoverflow.com/questions/20209395/writing-to-file-in-tcl]] ==== Other Info ==== To set up a file grab from another machine: - Grab https://gitforwindows.org/ - Run it, use the command ''ssh-keygen'' to make a key pair - This is assuming we're calling it ''id_rsa'' - copy the public key with something like ''ssh-copy-id -f -i id_rsa.pub root@red_pitaya_address'' - log in via ''ssh -i id_rsa root@red_pitaya_address'' - If the key isn't working, chmod 600 the ''.ssh'' directory and ''.ssh/authorized_keys'' file