James E. Stine, Jr., Ph.D.
Earl and Caronlyn Glimp Professor
Oklahoma State University
Electrical and Computer Engineering Deapartment
VLSI Computer Architecture Research Group

Re:  Work with Google/SkyWater/eFabless Technologies

We are currently working with Google (www.google.com), Skywater
Technologies (www.skywatertechnology.com) in Bloomington, MN and
eFabless (efabless.com) in San Jose, CA.  For this project, we are
creating software that allows integrated circuits to be created using
something called standard-cell libraries
(en.wikipedia.org/wiki/Standard_cell).

These cells allow digital logic designs (e.g., microprocessors) to be
fabricated and operate at a certain speeds or frequencies (i.e., Mhz).
Based on the current assessment of our library, it appears that we can
create microprocessors from this library that operate approximately at
350MHz or more.  We believe the classification of this technology to
fall within the 3A001 ECCN of the EAR.

The United States through the Export Administration Regulations (EAR)
has specific classification laws that relate to microprocessors,
circuits, and communication devices.  They specifically state in their
document "Commerce Control List, Supplement No. 1 Part 774, Dated May
23, 2019" the following:

"Microprocessor microcircuits, microcomputer microcircuits and
microcontroller microcircuits, manufactured from a compound
semiconductor and operating at a clock frequency exceeding 40 MHz"

The library and any work that Oklahoma State University provides
should only be utilized within the guidelines defined by the EAR as
regulated by the United States Department of Commerce and distributed
to those involved who understand that this library is only utilized
for educational/academic intentions.




