KW11-P Programmable Clock Added

The w11 had from the very beginning a KW11-L line frequency clock. The KW11-L is a mandatory device used by all operating systems to define the system time. And it is a very simple device, it just generates interrupts every 20 msec (w11 uses 50 Hz line frequency, simply because I live in Europe).

DEC offered for the UNIBUS systems a more sophisticated device, the KW11-P, which can be used as a programmable high-precision timer. The central element is a 16 bit counter, which is advanced by one of four selectable inputs

The KW11-P can generate an interrupt when a configurable value of the counter is reached, or just count and be used to measure time with a resolution of down to 10 µs. The DEC manual DEC-11-HPWB-D describes many implementation details but lacks a complete description of the functional behavior. The remaining ambiguities were resolved by inspection of

The implementation is in ibd_kw11p.vhd. The external event port EXTEVT is connected in ibdr_maxisys.vhd to the instruction decode signal IDEC, which is usually connected in the w11 top-level design to the DM_STAT_EXP.se_idec signal provided by pdp11_sys70.

I added the KW11-P with three use cases in mind: