Package hardware-counter-def: Definition of hardware counter devices

Information

namehardware-counter-def
version1.10
descriptionDefinition of hardware counter devices
authorJoe Leslie-Hurd <joe@gilith.com>
licenseMIT
provenanceHOL Light theory extracted on 2014-11-17
checksum43bac8c8172631cb30bf4027e6aba7cf7d6637e8
requiresbool
hardware-adder
hardware-bus
hardware-wire
natural
showData.Bool
Hardware
Number.Natural

Files

Defined Constants

Theorems

ld nb dn. counterPulse ld nb dn ds. counter ld nb ds pulse ds dn

w d wd.
    pipe w d wd
    x x0.
      Bus.width x = d + 1 Bus.wire x d x0 Bus.pipe w x connect x0 wd

w x.
    Bus.pipe w x
    r xp x0 x1 x2.
      Bus.width x = r + 1 Bus.width xp = r Bus.wire x 0 x0
      Bus.sub x 0 r x1 Bus.sub x 1 r x2 connect w x0
      Bus.connect xp x2 Bus.delay x1 xp

ld nb dn.
    counter ld nb dn
    r sp cp sq cq sr cr dp dq dr nb0 nb1 cp0 cp1 cp2 cq0 cq1 cr0 cr1.
      Bus.width nb = r + 1 Bus.width sp = r Bus.width cp = r + 1
      Bus.width sq = r Bus.width cq = r + 1 Bus.width sr = r
      Bus.width cr = r + 1 Bus.wire nb 0 nb0 Bus.sub nb 1 r nb1
      Bus.wire cp 0 cp0 Bus.sub cp 0 r cp1 Bus.wire cp r cp2
      Bus.wire cq 0 cq0 Bus.sub cq 1 r cq1 Bus.wire cr 0 cr0
      Bus.sub cr 1 r cr1 not cp0 cq0 Bus.adder2 sp cp1 sq cq1
      or2 dp cp2 dq Bus.case1 ld nb1 sq sr case1 ld nb0 cq0 cr0
      Bus.case1 ld (Bus.ground r) cq1 cr1 case1 ld ground dq dr
      connect dr dn Bus.delay sr sp Bus.delay cr cp delay dr dp

ld nb inc dn.
    eventCounter ld nb inc dn
    r sp cp sq cq sr cr dp dq dr sp0 sp1 cp0 cp1 cp2 sq0 sq1 cq0 cq1.
      Bus.width nb = r + 1 Bus.width sp = r + 1 Bus.width cp = r + 1
      Bus.width sq = r + 1 Bus.width cq = r + 1 Bus.width sr = r + 1
      Bus.width cr = r + 1 Bus.wire sp 0 sp0 Bus.sub sp 1 r sp1
      Bus.wire sq 0 sq0 Bus.sub sq 1 r sq1 Bus.wire cp 0 cp0
      Bus.sub cp 0 r cp1 Bus.wire cp r cp2 Bus.wire cq 0 cq0
      Bus.sub cq 1 r cq1 xor2 inc sp0 sq0 and2 inc sp0 cq0
      Bus.adder2 sp1 cp1 sq1 cq1 or2 dp cp2 dq Bus.case1 ld nb sq sr
      Bus.case1 ld (Bus.ground (r + 1)) cq cr case1 ld ground dq dr
      connect dr dn Bus.delay sr sp Bus.delay cr cp delay dr dp

External Type Operators

External Constants

Assumptions

() = λp. p = λx.