Abstracting CAB Circuits and Systems
- Level = 1 (system) and Level = 2 (circuit) block types
- Anaog Circuit Modeling, Macromodeling, and Numerical Simulation
- Building a new scilab block
Make sure you have gone through all of the previous material in the previous
two projects. You will find the material important.
- Protected T-square items
- May want to read Chapter 9 and 10 that are in the previous unit.
- Chapter 11 Material :
- Some additional reading on SOS nonlinear dynamics
K. Odame and P. Hasler,
"Theory and Design of OTA-C Oscillators with Native Amplitude Limiting,"
IEEE Transactions on Circuits and Systems I, vol. 56, no. 1, pp. 40-50, Jan 2009.
Early paper for a particular application:
B. Meadows, T. Heath, J. Neff, E. Brown, D. Fogliatti,
M. Gabbay, V. In, P. Hasler, S. Deweerth, and W. Ditto,
"Nonlinear antenna technology,"
Proceedings of the IEEE, vol. 90, no. 5, pp. 882-897, May 2002.
- Chapter 12 Material :
Carver's classic Integrate and Fire Neuron
- Example low-pass filter block example
for basic sci file,
as well as the
c file for simulation model.
- Example C4 bandpass filter
for basic sci file,
as well as the
c file for simulation model.
- Additional notes on block
- Illustration on C4 function
Summary Notes (.html format)
- Lecture board items for
- Previous Year Lecture Boards
- Block Appearance notes
This project focuses on macromodeling,
which is the approach of building higher level representations,
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.
- Make your block for the Source Follower or Common Source Amplifier
to start the process.
- Make your block for your assigned circuit.
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
- Each group is required to analytically analyze their circuit,
both for static and dynamic characteristics.
The dynamic characteristics should, as carefully as possible,
model the observed dynamical behavior.
The analytic model will be worked into a simulation model
for your block in Xcos.
- Each group is required to obtain experimental measurements of the circuit.
One expects that each group will make an Xcos representation of the circuit
that can be compiled onto the FPAA device.
Measurements on the remote system and/or FPAA boards is acceptable.
- You should make a block for your circuit in Xcos,
with the required number of inputs, outputs, and parameters.
You should put your simulation model into the block,
and from that model you should make simulations that
you compare with your circuit's measured results,
as well as with potential curve fits (on the same graph).
Therefore, the simulation model,
built initially from the analysis,
further verified by measurements,
including measured parameters,
becomes a faithful representation (although not required in all details)
of the compiled version of the circuit.
- Go through the proceedures to convert your circuit definition in Xcos
to correctly compile down to an FPAA device.
From just your block definition,
compile and show a representative graph showing your system is operational.
- Your group will make a video presentation on this circuit
(presentation on the source-follower / common source is not required...
allowed if useful in the presentation).
We require the files used to build the block will be sent to us
so we can choose to include in our own library.
There should be a local working space for each group that does not affect our library.
Remember, your block presentation is for those who will be using this particular circuit
in the future, which most likely will include both yourself,
as well as other students in the class.
- First-order High-Pass using a single OTA.
This circuit is described in Chapter 10 of the AVLSI book.
- 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.
- Hysteretic Differentiator Circuit.
A very important circuit described in Chapter 10 of AVLSI book.
- 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.
- 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.
- And additional circuits to be added....