- Python Infrastructure
- Common changes
- The classes Simulator and Compiler now share common methods in base class called Shared.
-
*.files
Parser - Implemented path expressions: sub-directory expression, concatenate expression - Implemented InterpolateLiteral: access database keys in*.files
files - New Path statement, which defines a path constant calculated from a path expression - Replaced string arguments in statements with path expressions if the desired string was a path - Replaced simple StringToken matches with Identifier expressions - All Simulators - - All Compilers - - GHDL - Reduced-P<path>
parameters: Removed doublings-
VHDL Simulation helpers
- Mark a testbench as failed if (registered) processes are active while finilize is called
- Shipped Tool and Helper Scripts - Updated and new Notepad++ syntax files
- Python Infrastructure (Completely Reworked)
- New Requirements
- Python 3.5
- py-flags
-
New command line interface - Synopsis:
poc.sh|ps1 [common options] <command> <entity> [options]
- Removed task specific wrapper scripts:testbench.sh|ps1
,netlist.sh|ps1
, ... - Updated wrapper.ps1 and wrapper.sh files - New ini-file database - - Added a new config.boards.ini file to list known boards (real and virtual ones) -
New parser for
*.files
files- conditional compiling (if-then-elseif-else)
- include statement - include other
*.files
files - library statement - reference external VHDL libraries
- prepared for Cocotb testbenches
-
New parser for
*.rules
files - -
All Tool Flows
-
- Unbuffered outputs from vendor tools (realtime output to stdout from subprocess)
- Output filtering from vendor tools
- verbose message suppression
- error and warning message highlighting
- abort flow on vendor tool errors
-
All Simulators
- Run testbenches for different board or device configurations (see
--board
and--device
command line options)- New Simulators - Aldec Active-HDL support (no GUI support) - Tested with Active-HDL from Lattice Diamond - Tested with Active-HDL Student Edition - Cocotb (with QuestaSim backend on Linux)
- New Synthesizers
- Altera Quartus II and Quartus Prime
- Command:
quartus
- Lattice Synthesis Engine (LSE) from Diamond - Command:lse
- Xilinx Vivado - Command:vivado
- GHDL
- GHDLSimulator can distinguish different backends (mcode, gcc, llvm)
- Pre-compiled library support for GHDL
- GHDLSimulator can distinguish different backends (mcode, gcc, llvm)
- QuestaSim / ModelSim Altera Edition - Pre-compiled library support for GHDL
- Vivado Simulator
- Tested Vivado Simulator 2016.1 (xSim) with PoC -> still produces errors or false results
- Run testbenches for different board or device configurations (see
-
New Entities -
-
New Testbenches -
-
New Constraints -
-
New dependencies
- Embedded Cocotb in /lib/cocotb
-
- Shipped Tool and Helper Scripts - Updated and new Notepad++ syntax files - Pre-compiled vendor library support - Added a new /temp/precompiled folder for precompiled vendor libraries - QuestaSim supports Altera QuartusII, Xilinx ISE and Xilinx Vivado libraries - GHDL supports Altera QuartusII, Xilinx ISE and Xilinx Vivado libraries
- Updated Python infrastructure
- New testbenches:
- sync_Reset_tb
- sync_Flag_tb
- sync_Strobe_tb
- sync_Vector_tb
- sync_Command_tb
- Updated modules:
- sync_Vector
- sync_Command
- Updated packages:
- physical
- utils
- vectors
- xil
- New Python infrastructure
- Added simulators for:
- GHDL + GTKWave
- Mentor Graphic QuestaSim
- Xilinx ISE Simulator
- Xilinx Vivado Simulator
- Added simulators for:
- New packages:
- simulation
- New modules:
- PoC.comm - communication modules
- comm_crc
- PoC.comm.remote - remote communication modules
- remote_terminal_control
- PoC.comm - communication modules
- New testbenches:
- arith_addw_tb
- arith_counter_bcd_tb
- arith_prefix_and_tb
- arith_prefix_or_tb
- arith_prng_tb
- Updated packages:
- board
- config
- physical
- strings
- utils
- Updated modules:
- io_Debounce
- misc_FrequencyMeasurement
- sync_Bits
- sync_Reset
- Added Python infrastructure
- Added platform wrapper scripts (*.sh, *.ps1)
- Added IP-core compiler scripts Netlist.py
- Added Tools
- Notepad++ syntax file for Xilinx UCF/XCF files
- Git configuration script to register global aliases
- New packages:
- components - hardware described as functions
- physical - physical types like frequency, memory and baudrate
- io
- New modules:
- PoC.misc
- misc_FrequencyMeasurement
- PoC.io - Low-speed I/O interfaces
- io_7SegmentMux_BCD
- io_7SegmentMux_HEX
- io_FanControl
- io_PulseWidthModulation
- io_TimingCounter
- io_Debounce
- io_GlitchFilter
- PoC.misc
- New IP-cores:
- PoC.xil - Xilinx specific modules
- xil_ChipScopeICON_1
- xil_ChipScopeICON_2
- xil_ChipScopeICON_3
- xil_ChipScopeICON_4
- xil_ChipScopeICON_6
- xil_ChipScopeICON_7
- xil_ChipScopeICON_8
- xil_ChipScopeICON_9
- xil_ChipScopeICON_10
- xil_ChipScopeICON_11
- xil_ChipScopeICON_12
- xil_ChipScopeICON_13
- xil_ChipScopeICON_14
- xil_ChipScopeICON_15
- PoC.xil - Xilinx specific modules
- New constraint files:
- ML605
- KC705
- VC707
- MetaStability
- xil_Sync
- Updated packages:
- board
- config
- Updated modules:
- xil_BSCAN
- New packages:
- xil
- stream
- New modules:
- PoC.bus - Modules for busses
- bus_Arbiter
- PoC.bus.stream - Modules for the PoC.Stream protocol
- stream_Buffer
- stream_DeMux
- stream_FrameGenerator
- stream_Mirror
- stream_Mux
- stream_Source
- PoC.misc.sync - Cross-Clock Synchronizers
- sync_Reset
- sync_Flag
- sync_Strobe
- sync_Vector
- sync_Command
- PoC.xil - Xilinx specific modules
- xil_SyncBits
- xil_SyncReset
- xil_BSCAN
- xil_Reconfigurator
- xil_SystemMonitor_Virtex6
- xil_SystemMonitor_Series7
- PoC.bus - Modules for busses
- Updated packages:
- utils
- arith
- New packages:
- board - common development board configurations
- config - extract configuration parameters from device names
- utils - common utility functions
- strings - a helper package for string handling
- vectors - a helper package for std_logic_vector and std_logic_matrix
- arith
- fifo
- New modules
- PoC.arith - arithmetic modules
- arith_counter_gray
- arith_counter_ring
- arith_div
- arith_prefix_and
- arith_prefix_or
- arith_prng
- arith_scaler
- arith_sqrt
- PoC.fifo - FIFOs
- fifo_cc_got
- fifo_cc_got_tempgot
- fifo_cc_got_tempput
- fifo_ic_got
- fifo_glue
- fifo_shift
- PoC.mem.ocram - On-Chip RAMs
- ocram_sp
- ocram_sdp
- ocram_esdp
- ocram_tdp
- ocram_wb
- PoC.arith - arithmetic modules
- Initial commit