yosys/examples
Marcin Kościelnicki f4c62f33ac Add clock buffer insertion pass, improve iopadmap.
A few new attributes are defined for use in cell libraries:

- iopad_external_pin: marks PAD cell's external-facing pin.  Pad
  insertion will be skipped for ports that are already connected
  to such a pin.
- clkbuf_sink: marks an input pin as a clock pin, requesting clock
  buffer insertion.
- clkbuf_driver: marks an output pin as a clock buffer output pin.
  Clock buffer insertion will be skipped for nets that are already
  driven by such a pin.

All three are module attributes that should be set to a comma-separeted
list of pin names.

Clock buffer insertion itself works as follows:

1. All cell ports, starting from bottom up, can be marked as clock sinks
   (requesting clock buffer insertion) or as clock buffer outputs.
2. If a wire in a given module is driven by a cell port that is a clock
   buffer output, it is in turn also considered a clock buffer output.
3. If an input port in a non-top module is connected to a clock sink in a
   contained cell, it is also in turn considered a clock sink.
4. If a wire in a module is driven by a non-clock-buffer cell, and is
   also connected to a clock sink port in a contained cell, a clock
   buffer is inserted in this module.
5. For the top module, a clock buffer is also inserted on input ports
   connected to clock sinks, optionally with a special kind of input
   PAD (such as IBUFG for Xilinx).
6. Clock buffer insertion on a given wire is skipped if the clkbuf_inhibit
   attribute is set on it.
2019-08-13 00:16:38 +02:00
..
aiger Added $assert/$assume support to AIGER back-end 2016-12-03 13:20:29 +01:00
anlogic examples/anlogic/ now also output the SVF file. 2019-03-06 09:51:11 +05:30
basys3 fix basys3 example 2018-07-22 22:29:31 +02:00
cmos Update examples/cmos/counter.ys to use "synth" command 2018-05-30 14:17:36 +02:00
cxx-api Consistent use of 'override' for virtual methods in derived classes. 2018-07-20 23:51:06 -07:00
gowin Progress in examples/gowin/ 2016-11-08 19:07:22 +01:00
igloo2 Refactor SF2 iobuf insertion, Add clkint insertion 2019-03-06 00:41:02 -08:00
intel Fixed the -vout flag to -vqm in examples/intel directory 2017-11-14 22:55:48 -06:00
mimas2 Add clock buffer insertion pass, improve iopadmap. 2019-08-13 00:16:38 +02:00
osu035 Add timing constraints to osu035 example 2017-10-10 13:32:04 +02:00
python-api Added cell_stats example 2019-04-03 11:24:50 +02:00
smtbmc Add smtbmc support for exist-forall problems 2018-02-23 19:33:30 +01:00