Abstracting CAB Circuits and Systems


Course Materials

Make sure you have gone through all of the previous material in the previous two projects. You will find the material important.

Taped Lectures

Reading Material

Summary Notes (.html format)

Project Approach

This project focuses on macromodeling, which is the approach of building higher level representations, like subroutines, when dealing with physical computing approaches. Macromodeling is the process that we build our own blocks from the circuits we may compile, thereby encouraging reuse of these approaches.

We will talk about level=1 and level=2 abstraction for the blocks we are building. We see level=1 blocks as empowering sufficient abstraction that the resulting circuit gets represented as a flow graph. This abstraction includes having signal lines representing a vector, or bus of signals, as well as having all signals represented as single-ended voltages. For this project, we will keep vectorization to standard N to N vectorization approach. These approaches fit into typical system design methods, as seen in Xcos, Simuink, etc. We see level=2 blocks as the circuit-level designer's domain, that is elements with the full I-V modeling, using the entire physics available, but also being used for small circuits, typically circuits that are a component of a system, and therefore would be converted to level=1 at the end of a design.

In this way, the focus of this week's project is to enable taking a circuit model, like the level=2 approaches mostly used previously, to reach a level=1 framework. We want this approach to further enable the reuse of components, both for each individual, as well as for class, and potentially for a wider community.

This week is also about getting another week to dig into circuit basics and get better intuition on circuit approaches. We fully open up Floating-Gate (FG) circuits into the mix this project, opening up additional questions on circuits. Many circuits for this project involve FG devices that are available in CABs, routing, etc. This week every group will

In both cases, you need to measure your circuit, model your circuit, build the simulation model for your circuit, as well as finish items required to make sure your block compiles to an FPAA.

Warmup Macromodel: Source Follower or Common Source Amplifier

Each group will start with building a macromodel for a warm up circuit, either a common source or a source follower circuit, in terms of including a simulaotion model, including static and dynamic characteristics, measurement data that closely corresponds to the behavior, including curve fitting for typical parameter values, as well as making a full level=1 compilation block. You will have to do the same for the next circuit. Building models will be very important throughout the rest of this course, as abstraction becomes important for building larger systems.

Macromodeling a Unique Circuit

The primary focus of this project is taking a unique circuit element, and making a full macromodel block for the resulting compiled circuit. Then each group will get their circuit from the list of circuits below. For their particular circuit, we will require the following steps that should be explained: Circuits to be considered for this week's project
  1. First-order High-Pass using a single OTA. This circuit is described in Chapter 10 of the AVLSI book.
  2. Open loop FG OTA block. In this case, we are less worried about a comparison operation, since the open-loop gain is closer to 20-30 due to the capacitive networks. But one should not assume the power supply rails are not to be considered. Not as much comparison operation, although there are rails to consider. But the gain tends to be set closer to 20-30, and Further, one has a FG charge (or voltage) offset to program, and one has considerably higher wider linear range compared to an open-loop OTA.
  3. Hysteretic Differentiator Circuit. A very important circuit described in Chapter 10 of AVLSI book.
  4. A classical second-order filter circuit. This circuit is described in Chapter 11 of the AVLSI book. We personally think of the block as a Hopf Bifurcation Circuit. In this case, we would use wide linear input range OTAs for the feedforward devices (2 of them), and use an ordinary OTA for the feedback (positive feedback) device. The circuit is a second-order section that can be tuned to oscillate as a sinusoidal oscillator.
  5. integrate and fire neuron with a voltage input, either an OTA or a pFET transistor input. This circuit is described in Chapter 12 of the AVLSI book.
  6. And additional circuits to be added....