PYFPGA เป็นคลาส Python สำหรับ การพัฒนา FPGA ที่ไม่ขึ้นกับผู้ขาย อนุญาตให้ใช้ ไฟล์โครงการเดียว และดำเนิน การ สังเคราะห์ การใช้งาน การสร้าง บิตสตรีม และ/หรือ การถ่ายโอน ไปยังบอร์ดที่รองรับ
สร้างเครื่องมือ FPGA ที่กำหนดเองของคุณโดยใช้เวิร์กโฟลว์ที่เหมาะกับความต้องการของคุณ!
คำเตือน: (2022-05-15) PYFPGA อยู่ในขั้นตอนของการเขียนใหม่/ง่ายขึ้นอย่างมาก การเปลี่ยนแปลงส่วนใหญ่เป็นภายใน แต่ API (คลาส
Project
) จะเปลี่ยนไป
ตัวอย่างน้อยที่สุดของวิธีการใช้ PYFPGA:
from fpga import Project
# Specify the backend tool and an optional project name
prj = Project ( 'vivado' , 'example' )
# Set the device/part
prj . set_part ( 'xc7z010-1-clg400' )
# Add HDL sources to the project
prj . add_files ( 'location1/*.v' )
prj . add_files ( 'location2/top.v' )
# Optionally add constraint files to the project
prj . add_files ( 'location3/example.xdc' )
# Set the top-level unit name
prj . set_top ( 'Top' )
# Generate the bitstream running the tool
prj . generate ()
ตอนนี้คุณสามารถอ่านเอกสารหรือค้นหาตัวอย่างเพิ่มเติมในตัวอย่างย่อย
API ที่ดำเนินการโดย Project class
ให้:
PYFPGA เป็นแพ็คเกจ Python 3 ซึ่งพัฒนาขึ้นบน Debian GNU/Linux มันควรทำงานบนระบบปฏิบัติการที่เข้ากันได้กับ POSIX อื่น ๆ และอาจอยู่ในระบบปฏิบัติการที่แตกต่างกัน หากคุณประสบความสำเร็จอย่างใดอย่างหนึ่งของความล้มเหลวในระบบที่ไม่ใช่ Posix โปรดแจ้งให้เราทราบผ่านทางติดตามปัญหา
--synth
) อนุญาตให้แปลงแหล่งข้อมูล VHDL เป็น Netlist VHDL 1993ghdl-yosys-plugin
) และรองรับรูปแบบเอาต์พุตหลายรูปแบบ: JSON, Verilog, EDIF ฯลฯหมายเหตุ:
PYFPGA ต้องการ Python >=3.6
สำหรับตอนนี้มันมีให้เฉพาะเป็นพื้นที่เก็บข้อมูล GIT ที่โฮสต์บน GitHub สามารถติดตั้งด้วย PIP:
pip install 'git+https://github.com/PyFPGA/pyfpga#egg=pyfpga'
บน GNU/Linux การติดตั้งแพ็คเกจ PIP บนระบบต้องใช้
sudo
หรือใช้--local
สำหรับการติดตั้ง pyfpga ในบ้านของคุณ
คุณสามารถรับสำเนาของที่เก็บผ่าน Git clone หรือดาวน์โหลด tarball/zipfile:
git clone https://github.com/PyFPGA/pyfpga.git
cd pyfpga
จากนั้นใช้ PIP จากรูทของ repo:
pip install -e .
ด้วย
-e
(--editable
) แอปพลิเคชันของคุณถูกติดตั้งไว้ในแพคเกจไซต์ผ่าน Symlink ชนิดหนึ่ง ที่อนุญาตให้ดึงการเปลี่ยนแปลงผ่าน Git หรือเปลี่ยนสาขาโดยไม่จำเป็นต้องติดตั้งแพ็คเกจใหม่