Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Tags: PyFPGA/pyfpga

Tags

0.4.0

Toggle 0.4.0's commit message
* Fix and improve Windows support

* Significantly improved testing
* Applied several minor fixes
* Code cleanup

0.3.1

Toggle 0.3.1's commit message
Bumped version to comply with PyPi versioning requirements

0.3.0

Toggle 0.3.0's commit message
* Python code strongly rewritten, simplified.

* Replace one monolithic TCL by multiple Jinja2 templates.
* Package renamed from fpga to pyfpga.
* First version at PyPi.
* Add Lattice Diamond support.

v0.2.0

Toggle v0.2.0's commit message
v0.2.0

NOTE: this log is probably outdated/incomplete, but PyFPGA will be strongly rewritten/simplified.

* Additional supported FPGA EDA Tools:
    - GHDL --synth: synthesizes VHDL sources.
    - ghdl-yosys-plugin: add VHDL support to Yosys.
    - Openflow: Yosys + nextpnr + icestrom/prjtrellis.
* Added CLI helper utilities:
    - hdl2bit: to go from FPGA design files to a bitstream.
    - prj2bit: to deal with a vendor FPGA Project file.
    - bitprog: to transfer a bitstream to a supported device
* Improves into the API classes:
    - Added relative_to_script to the Project class constructor.
    - Added the methods set_bitstream and clean.
    - Simplified code related to absolute and relative directories.
    - Exported some useful lists into the Tool class.
* Examples:
    - Improved examples with the addition of command-line arguments.
    - Added a GHDL example.
    - Added examples using VHDL with Yosys (through `ghdl-yosys-plugin`).
    - Added Openflow examples.
    - Fixed a small problem into examples/multi/vhdl.py.
* Testing:
    - Added some tests for the new CLI utilities.
    - Added vendor project files to test prj2bit.
    - Added a Makefile to run some examples as a test.

v0.1.0

Toggle v0.1.0's commit message
v0.1.0

NOTE: originally released on 2020-02-29 at https://gitlab.com/rodrigomelo9/pyfpga

* FPGA Helpers switched to be a Python package which provides an API to manage projects
* Supported FPGA EDA Tools:
    - ISE and Vivado from Xilinx: bitstream generation and transfer to an FPGA
      (ISE also support  SPI/BPI memories)
    - Quartus Prime from Intel/Altera: bitstream generation and transfer to an FPGA
    - Libero-SoC from Microchip/Microsemi: bitstream generation
    - Yosys: generic synthesizer or combined with ISE/Vivado
      (implementation and bitstream  generation)
* The API implemented by the Project class provides:
    - A constructor where the TOOL must be specified and an optional PROJECT NAME can
      be specified  (TOOL is used by default)
    - A method to set the target device PART (default values per TOOL are provided)
    - A method to add multiple HDL, Constraint and Tcl files to the project
      (in case of VHDL an optional PACKAGE NAME can be specified)
    - A method to specify the TOP-LEVEL (NAME or FILE)
    - A method to specify a different OUTPUT directory (build by default)
    - Methods to generate a bitstream and transfer it to a device
      (running the selected EDA Tool)
    - The capability of specifying an optimization strategy (area, power or speed)
      when the bitstream is generated
    - A method to add Verilog Included File directories
    - A method to specify generics/parameters values
    - Methods to add Tcl commands in up to six different parts of the Flow
      (workaround for not yet implemented features)
    - Optional logging capabilities which include the display of the Tool Execution Time
    - A method to get some project configurations for debug purposes
    - Methods to specify where to search an ip-repo, add a block design and export the
      hardware (Only supported for Xilinx Vivado)
* Documentation:
    - User Guide
    - API Reference
    - Development notes
    - Tools notes
* Examples:
    - General-purpose (boilerplate and capture)
    - Multi-purpose (memory, parameters, projects, strategies, verilog and vhdl)
    - Specific of each Tool where Constraint files are included (for the boards s6micro,
      mkr, de10nano and zybo)
* Testing:
    - Examples are used to test the correct Tool behaviour
    - The PART specification is particularly tested for ISE and Libero
    - The master Tcl is checked using Tclsh
    - The top-level specification is tested with different alternatives
Morty Proxy This is a proxified and sanitized view of the page, visit original site.