What Are Supported by CamJ?
CamJ provides a high-level interface that describes some commonly-used analog and digital structures. Users can directly plug-in CamJ APIs in their image sensor designs. Here we summarize these hareware structures.
Analog Domain
The figure shown below presents all the analog components that are supported by CamJ.
In this figure, the top level shows the algorithmic operations that are currently supported in CamJ. The second level shows the analog components that support the algorithmic operations at the top level. The bottom level shows the major basic analog components that compose the analog components at the second level. Both the energy and noise modeling in CamJ are performed in the analog components at the bottom level. The energy and noise modeling at the second level are composed by the bottom level analog component.
CamJ Analog Interface
To make CamJ easy to use, we expose the second-level as our standard interface. Expert users can also extend our standard interface to implement more complex analog compoenent in their design. In later Sections, we also introduce how to extend our standard interface.
The table below shows the overview of analog components at the second level:
Component Name |
Functionality | Building Blocks |
Schematic | |
---|---|---|---|---|
Algorithmic Ops |
Mathematic Expression |
|||
3T Active Pixel Sensor (3T-APS) |
Sensing | - | Photodiode (PD), Floating Diffusion (FD), Source Follower (SF) |
|
4T Active Pixel Sensor (4T-APS) |
Sensing | - | Photodiode (PD), Floating Diffusion (FD), Source Follower (SF) |
|
Digital Pixel Sensor (DPS) |
Sensing | - | Photodiode (PD), Floating Diffusion (FD), Source Follower (SF), ADC |
|
Pulse Width Modulation Pixel (PWM Pixel) |
Sensing | - | Photodiode (PD), Ramp, Comparator (CMP) |
|
Analog-to-Digital Convertor (ADC) |
Conversion, Quanization |
- | ADC | |
Digital-to-Current Convertor (DAC) |
Conversion | - | DAC | |
Comparator | Compare | (In1 > In2) ? In1 : 0 | Comparator (CMP) | |
AnalogReLU | ReLU | (In > 0) ? In : 0 | Comparator (CMP) | |
Passive Average |
Average | Passive Switched Capacitor Array (PSCA), Source Follower (SF) |
||
Active Average |
Average | Amplifier (AMP) | - | |
Passive Binning |
Binning | Passive Switched Capacitor Array (PSCA), Source Follower (SF) |
||
Active Binning |
Binning | Amplifier (AMP) | - | |
Voltage-to-Voltage Convolution |
Convolution | Passive Switched Capacitor Array (PSCA), Source Follower (SF) |
||
Time-to-Voltage Convolution |
Convolution | Current Mirror (CM), Passive Analog Memory (PAM) |
||
Binary Weight Convolution |
Convolution | Amplifier (AMP) | ||
Passive Analog Memory |
Store | - | Passive Analog Memory (PAM) | |
Acitve Analog Memory |
Store | - | Active Analog Memory (AAM) | |
Max Pool | Max Pooling | Amplifier (AMP) | ||
Max Voltage | Max | Amplifier (AMP) | ||
Adder | Add | Amplifier (AMP) | ||
Subtractor | Subtraction | Amplifier (AMP) | ||
Absolute Difference | Absolute Difference | Amplifier (AMP) Comparator (CMP) |