Posted on Leave a comment

Cyrite HDL release 0.1b0

For the past ten years, various research has been done with Python as meta programming language to generate structures that lie someone between hardware and software. CyriteHDL or short cyhdl is the result of attempting to combine a generator paradigm with the beauty and consistency of the MyHDL dialect.

It supersedes ‘jupyosys’, ‘myhdl.v2we’, and other experimental notebook distributions.

The cyhdl API has gone through a few migration steps in order to allow up-porting of MyHDL legacy code under certain boundary conditions:

  • Must provide strict typing in the interface
  • Must compile into a binary
  • Must output in a modular way to classic transfer HDLs (Verilog 2005, VHDL 93 and 08)
  • Must interface easily with existing Verilog or VHDL blackboxes

At the same time, compatibility to proprietary modules had to be preserved. This took quite some testing effort to end up with one maintainable solution. This called for a few sacrifices

  • Some MyHDL constructs are no longer supported in hardware logic, like variables, ShadowSignals and constructs that mix booleans with logic (and did not output correctly to VHDL in MyHDL anyway).
  • Legacy classes like Port signals need to be ported to explicit @container() decorated classes
  • The pyrite.hls package has migrated into cyrite.hls and is no longer downward compatible.

It is released a ready-built container like previous experimental versions, based on a JupyterLab Binder that is run online or using a local docker service. Clicking the Launch button below will start the HOWTO guiding you interactively through creating logic.

Launch button for cyhdl demos


  • Can I safely develop proprietary hardware modules with it?
  • Can I distribute compiled simulation models without license?
  • Can I develop own extensions?
    Yes, under certain restrictions. If you redistribute parts of the Cyrite library, you need to sign up for an individiual license agreement.
  • Is this future-safe to develop with it?
    Yes, as long as the Docker services don’t break compatibility, you can run this software for the next decades in this ‘frozen’ state, even if the participating developers die or choose to live without computers in the forest.
  • Will there be releases other than Docker containers?
    Not for the time being. The focus is on education and easy development of logic, not on installation hassles with various operation systems.

Posted on

section5 slowly fading out

Time to take new challenges: I have suspended all office operations for good and we have successfully completed migration to another country. Meaning, this website will go private in future and only legacy support for IP cores are offered. In detail:

  • ICEbear Plus is no longer sold
  • netpp nodes are produced by a third party on request (sales suspended)
  • Video streaming IP: dagobert MJPEG encoder will be maintained until end of 2024 for the Lattice ECP 5 series only
  • Several opensource projects will no longer be maintained and may be provided as Docker containers only. Links to repositories:

Note that you can no longer get support for OpenSource, they are provided ‘as is’, with possibly lacking licence clarity

Posted on Leave a comment

ICEbearPlus end of life notice

Part sourcing has become a challenge for many hardware makers doomed with volatile and small production numbers.

Due to some sources being depleted until further notice, alternative ways had to be followed that introduced quite a few extra costs and some yield issues that weren’t fun to watch (yes, we’ve come across fakes). Therefore, the last batch that is regarded ‘sane’ is now being sold out, after ~17 years of service.

This means unfortunately for customers without particular service contract:

  • No more replacement units available
  • No more software updates

Also and obviously, these last units were on a MOQ basis and PCB only, meaning, they are formally sold as component or replacement part, as there is currently no plan to keep units on stock to cover for warranty time.

This means, in a warranty case (which have occured very rarely so far), that:

  • You return the broken unit for examination (valid until end of 2023)
  • It is likely to be repaired/fixed and not replaced in whole

Note that voltage excess (fried USB I/O) is not covered by warranty.

After all, I’d like to express my thanks to the faithful customership coming back every now and then. I’ve been glad to be of service, and (remembering famous literature): So long and thanks for all the fish!