Greetings,

This is a proposal for a new port: cad/qflow, a full end-to-end digital synthesis flow for VLSI ASIC designs.

DESCR
=====
A digital synthesis flow is a set of tools and methods used to turn a
VLSI design written in a high-level behavioral language like Verilog
or VHDL into a physical circuit, which can either be configuration code
for an FPGA target or a layout in a specific technology, that would
become part of an IC.
Qflow uses a complete and open source tool chain for synthesizing
digital circuits starting from Verilog source and ending in physical
layout for a specific target fabrication process.

I started working on this port more than two years ago, firstly importing the whole toolchain:
- cad/abc
- cad/yosys
- cad/graywolf
- cad/opensta
- cad/qrouter
- cad/magic
- cad/netgen
and then actively cooperating with upstream (which I'm adding in CC; Tim
always reacted very promptly to my questions/suggestions/proposals; thanks Tim!) in order to make all the scripts and executables properly working on OpenBSD platforms; it took a while, but finally this version is stable enough I think.

Some comments on the port:
- I patched scripts/magic_view.sh and scripts/qflow_manager.py.in, in order to use OpenGL as default rendering for cad/magic (instead of XR/Cairo, which is not working on OpenBSD, see [1]);

- scripts/qrouter.sh requires a patch to use GNU grep instead of base version;

- src/readlef.h requires __compar_fn_t definition for non-Linux platforms (I'll discuss this point with upstream soon);

- other patches are trivial;

- license line is complex (as usual, when technology files are included...); upstream didn't add any license files, so I specified where to find the info; gscl45nm has been released under the Apache-2 license, so I see no problem in redistributing the files; OSU 050/035/018 tech files have a proprietary license that says:
  [...]
"Permission to use, copy, and modify this software and its documentation for research and educational purposes only and without fee or royalty is hereby granted..."
  [...]
I don't know if this is too restrictive; if so, we should probably split the package; please let me know how to proceed; qflow itself has a "GPL Copyright" (see README file in the distribution tarball), but no applicable license version is specified;

- 'package' target flags the following warnings:
  [...]
  Creating package qflow-1.4.83
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/abc
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/yosys-abc
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/graywolf
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/graywolf
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/magic
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/magic
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/netgen
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/netgen
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/qrouter
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/qrouter
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/sta
          /usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/sta
  Warning: symlink(s) point to non-existent 
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/bin/yosys
          
/usr/ports/pobj/qflow-1.4.83/fake-amd64/usr/local/share/qflow/bin/yosys
  [...]
but I think this is normal, we should accept those messages (or please advice how to get rid of them otherwise).

Tested on amd64 only. Taking MAINTAINER. Tarball attached.

[1] https://marc.info/?l=openbsd-ports&m=158363208902918&w=2

--
Alessandro De Laurenzis
[mailto:jus...@atlantide.mooo.com]
Web: http://www.atlantide.mooo.com
LinkedIn: http://it.linkedin.com/in/delaurenzis

Attachment: qflow-1.4.83.tar.gz
Description: application/tar-gz

Reply via email to