
ओपन सोर्स FPGA सिलिकॉन
एजिस एक पूर्णतः ओपन-सोर्स FPGA है, जो सिलिकॉन से लेकर पूरी प्रणाली तक खुला है।
ओपन-सोर्स FPGA प्रयासों ने बड़ी प्रगति की है: Project IceStorm और Apicula जैसी परियोजनाएँ मालिकाना बिटस्ट्रीम प्रारूपों को रिवर्स-इंजीनियर करती हैं, OpenFPGA और FABulous आर्किटेक्चर विवरणों से खुले FPGA फैब्रिक उत्पन्न करते हैं, और Cologne Chip का GateMate पूरी तरह से ओपन-सोर्स टूलचेन के साथ एक वाणिज्यिक FPGA भेजता है। जहाँ ये परियोजनाएँ पहेली के प्रत्येक टुकड़े को संभालती हैं, वहीं एजिस एक पूर्ण-स्टैक, एंड-टू-एंड ओपन-सोर्स FPGA है: फैब्रिक जनरेशन, संश्लेषण, प्लेस-एंड-रूट, बिटस्ट्रीम पैकिंग, सिमुलेशन और टेपआउट सभी एक परियोजना में रहते हैं, जो जमीन से ओपन सोर्स के लिए डिज़ाइन किया गया है। HDL से GDS तक, कुछ भी मालिकाना दीवार के पीछे नहीं है।
यह परियोजना LUT4, BRAM, DSP, SerDes और क्लॉक प्रबंधन टाइल्स के साथ पैरामीटरीकृत FPGA उपकरण उत्पन्न करती है, साथ ही उपयोगकर्ता डिज़ाइनों को उन पर संश्लेषित करने और खुले PDKs और wafer.space जैसी शटल सेवाओं के माध्यम से फैब्रिक को स्वयं फाउंड्री में टेपआउट करने के लिए आवश्यक सब कुछ प्रदान करती है।
wafer.space के माध्यम से GF180MCU को लक्षित करने वाला एक कॉम्पैक्ट एजिस उपकरण
| संसाधन | संख्या |
|---|---|
| फैब्रिक | 23 x 23 टाइल्स (कुल 529) |
| LUT4 (CLB) | 437 |
| BRAM (128x8) | 46 टाइल्स |
| DSP18 (18x18 MAC) | 46 टाइल्स |
| I/O टाइल्स | 92 (25 बंधित द्विदिश) |
| SerDes | 0 |
| क्लॉक टाइल्स | 1 (4 आउटपुट) |
| रूटिंग ट्रैक | 1 प्रति किनारा |
nix build .#luna-1 # Generate IP (SV, JSON, chipdb, techmap)
nix build .#luna-1-tapeout # Full RTL-to-GDS for fab submission
Sky130 को लक्षित करने वाला एक बड़ा एजिस उपकरण।
nix build .#terra-1 # Generate IP (SV, JSON, chipdb, techmap)
nix build .#terra-1-tapeout # Full RTL-to-GDS for fab submission
प्रत्येक उपकरण को tools आउटपुट के माध्यम से एक पूर्ण FPGA टूलचेन प्राप्त होता है:
# Synthesize a Verilog design to Aegis cells
yosys -c synth.tcl # using $tools/share/yosys/aegis/*_cells.v + *_techmap.v
# Place and route on the fabric
nextpnr-aegis-terra_1 --json design_mapped.json --write design_pnr.json
# Pack into a bitstream
terra_1-pack --pnr design_pnr.json --output design.bin
# Simulate with the bitstream loaded
terra_1-sim --bitstream design.bin --cycles 1000 --vcd waves.vcd
टेपआउट पाइपलाइन FPGA फैब्रिक को स्वयं PDK मानक कोशिकाओं में संश्लेषित करती है:
nix build .#terra-1-tapeout
ls result/
# terra_1_synth.v - gate-level netlist (Yosys)
# terra_1_final.def - placed & routed layout (OpenROAD)
# terra_1.gds - GDS2 for fab submission
# terra_1_layout.png - layout render
# timing.rpt - timing analysis
# power.rpt - power report
GF180MCU (wafer.space) और Sky130 PDKs का समर्थन करता है।
Flakes सक्षम के साथ Nix की आवश्यकता है।
# Build the default package (aegis-ip-tools)
nix build
# Build Terra 1 IP
nix build .#terra-1
# Run the blinky example as a check
nix build .#checks.$(nix eval --raw nixpkgs#system).terra-1-blinky
# Enter development shell
nix develop
प्री-बिल्ट मल्टी-आर्क इमेज GitHub Container Registry से उपलब्ध हैं:
docker pull ghcr.io/midstall/aegis-terra_1:latest
# Run with your design directory mounted
docker run -v $(pwd):/workspace -it ghcr.io/midstall/aegis-terra_1:latest
इमेजेज को git SHA और रिलीज़ संस्करण द्वारा टैग किया जाता है (जैसे :v1.0.0).
Nix के साथ स्थानीय रूप से बनाने के लिए:
nix build .#terra-1-docker
docker load < result
GitHub Releases से .deb पैकेज डाउनलोड करें (amd64 और arm64):
sudo dpkg -i aegis-terra-1_*.deb
यह aegis-pack, aegis-sim, nextpnr-generic, डिवाइस-विशिष्ट रैपर (terra_1-sim, terra_1-pack, nextpnr-aegis-terra_1) और /usr/share/aegis/ के अंतर्गत सहायता फ़ाइलें स्थापित करता है।
Nix के साथ स्थानीय रूप से बनाने के लिए:
nix build .#terra-1-deb
FPGA फैब्रिक ROHD (एक Dart HDL फ्रेमवर्क) द्वारा उत्पन्न किया जाता है और संश्लेषण योग्य SystemVerilog आउटपुट करता है। आर्किटेक्चर Xilinx-शैली परंपराओं का अनुसरण करता है:
कॉन्फ़िगरेशन एक सीरियल शिफ्ट रजिस्टर श्रृंखला के माध्यम से लोड किया जाता है: क्लॉक टाइल्स -> IO टाइल्स -> SerDes टाइल्स -> फैब्रिक टाइल्स (पंक्ति-प्रमुख).
OpenFPGA - यूटा विश्वविद्यालय से एक ओपन-सोर्स FPGA IP जनरेटर। एक XML आर्किटेक्चर विवरण दिए जाने पर, यह बिटस्ट्रीम टूलिंग और स्व-परीक्षण बुनियादी ढांचे के साथ एक पूर्ण FPGA फैब्रिक के लिए संश्लेषण योग्य Verilog उत्पन्न करता है। DARPA के POSH कार्यक्रम के माध्यम से सिलिकॉन-सिद्ध।
FABulous - मैनचेस्टर विश्वविद्यालय से एक ओपन-सोर्स एम्बेडेड FPGA (eFPGA) फ्रेमवर्क। CSV-आधारित कॉन्फ़िगरेशन से कस्टम FPGA फैब्रिक उत्पन्न करता है और Yosys और nextpnr को एकीकृत करता है। TSMC 180nm से 28nm CMOS तक के नोड्स में 12+ टेपआउट के साथ सिलिकॉन-सिद्ध।
Cologne Chip GateMate - GlobalFoundries 28nm पर एक वाणिज्यिक FPGA जिसमें Yosys, nextpnr और openFPGALoader पर निर्मित पूर्णतः ओपन-सोर्स, लाइसेंस-मुक्त टूलचेन है। सिलिकॉन स्वयं मालिकाना है, लेकिन यह उन कुछ वाणिज्यिक FPGAs में से एक के रूप में उल्लेखनीय है जो एंड-टू-एंड ओपन-सोर्स EDA टूल्स को अपनाते हैं।
| संसाधन | संख्या |
|---|
| LUT4 | ~2880 |
| BRAM (128x8) | 128 टाइल्स |
| DSP18 (18x18 MAC) | 64 टाइल्स |
| I/O पैड | 224 |
| SerDes | 4 |
| क्लॉक टाइल्स | 2 (8 आउटपुट) |
| रूटिंग ट्रैक | 4 प्रति किनारा |