Datasheet

PIC12(L)F1501
DS40001615C-page 158 2011-2015 Microchip Technology Inc.
22.1 CLCx Setup
Programming the CLCx module is performed by config-
uring the four stages in the logic signal flow. The four
stages are:
•Data selection
Data gating
Logic function selection
Output polarity
Each stage is setup at run time by writing to the corre-
sponding CLCx Special Function Registers. This has
the added advantage of permitting logic reconfiguration
on-the-fly during program execution.
22.1.1 DATA SELECTION
There are 16 signals available as inputs to the configu-
rable logic. Four 8-input multiplexers are used to select
the inputs to pass on to the next stage. The 16 inputs to
the multiplexers are arranged in groups of four. Each
group is available to two of the four multiplexers, in
each case, paired with a different group. This arrange-
ment makes possible selection of up to two from a
group without precluding a selection from another
group.
Data selection is through four multiplexers as indicated
on the left side of Figure 22-2. Data inputs in the figure
are identified by a generic numbered input name.
Table 22-1 correlates the generic input name to the
actual signal for each CLC module. The columns labeled
lcxd1 through lcxd4 indicate the MUX output for the
selected data input. D1S through D4S are abbreviations
for the MUX select input codes: LCxD1S<2:0> through
LCxD4S<2:0>, respectively. Selecting a data input in a
column excludes all other inputs in that column.
Data inputs are selected with CLCxSEL0 and
CLCxSEL1 registers (Register 22-3 and Register 22-5,
respectively).
Note: Data selections are undefined at power-up.
TABLE 22-1: CLCx DATA INPUT SELECTION
Data Input
lcxd1
D1S
lcxd2
D2S
lcxd3
D3S
lcxd4
D4S
CLC 1 CLC 2
LCx_in[0] 000
100 CLC1IN0 CLC2IN0
LCx_in[1] 001
101 CLC1IN1 CLC2IN1
LCx_in[2] 010 110 C1OUT_sync C1OUT_sync
LCx_in[3] 011 111 Reserved Reserved
LCx_in[4] 100 000 —FOSC FOSC
LCx_in[5] 101 001 T0_overflow T0_overflow
LCx_in[6] 110 010 T1_overflow T1_overflow
LCx_in[7] 111 011 T2_match T2_match
LCx_in[8]
100 000 LC1_out LC1_out
LCx_in[9] 101 001 LC2_out LC2_out
LCx_in[10]
110 010 Reserved Reserved
LCx_in[11]
111 011 Reserved Reserved
LCx_in[12]
100 000 NCO1_out LFINTOSC
LCx_in[13] 101 001 HFINTOSC FRC
LCx_in[14]
110 010 PWM3_out PWM1_out
LCx_in[15]
111 011 PWM4_out PWM2_out