Published 15 Jun 2013
Week One Accomplishments:
- Got access to most of the machines and software I need
- Created my first noise-immune circuit netlists in SPICE (untested)
- Familiarized myself with scripts for fault analysis, implication finding, and
circuit synthesis.
Next Week TODOs:
- Get fastscan sims working (and hopefully SPICE sims on Oscar)
- Run fault analysis and thermal noise simulation on newly-latched rd53 circuit
- Fix up paths in code base so all scripts run properly (potentially a 2-week TODO)
- Improve code documentation (a many-week TODO)
Day 5 (6/14)
- Today I met with Marco in the morning, and he gave me the rest of the files
I will probably need for running any type of test or program. It turns out that
a significant chunk of the code was missing, like so much that I am surprised I
didn't realize that I had like 1/5 of the functionality I was looking for. But
now I have everything so that is good.
- Marco said one thing that nobody had done yet in the time this code has been
actively developed on is decent documentation? Since I'm pouring over this code
anyway, it makes sense that I take that on also. I only got the chance to go
over the generate-site-logic scripts today, and I cleaned up some of the
hard-coded path names and wrong directory accesses there. I discovered I
don't have access to fastscan? So I'll need to fix that up next week.
Day 4 (6/13)
- Today I dug through the code base I had really carefully, and found a lot of
missing files and messed up paths in the version of the code base I had. Marco
had mentioned that things might be messed up because they hadn't used it
directly from the svn, so I just poured through all the code (again) and made a list
of all the problems I found. This was also useful because I outlined the process
of synthesizing the noise-immune circuits from the background readings and mapped
the functions that have been written to steps in the workflow, and this helped
me find gaps in the current setup. My python is a little
rusty, too, so I'm glad I took the time to step through what all the scripts did
before jumping into any work anyway.
- I also found out I needed to load up a newer version of Python and install it
in my user home directory, and compiling that took more than a little while (it still
didn't pass all the make tests, but I think that has something to with the
LEMS network and less to do with me). Marco and I have a meeting scheduled for tomorrow
so I will probably sort that and everything else out then.
- Dr. Bahar checked up on the status of our ID's and hopefully it should be soon!
I'm eager to get started doing noise simulations, but I doubt I'll be able to
until next week.
Day 3 (6/12)
- Well, today I learned that the Windows machine at my desk can't really
handle the compute-heavy SPICE simulations I need to run, and that the version
of SPICE I use on my computer is different than the one used here, and that I'll
need to wait until I get a Brown ID before I can use the lab server, Oscar, for
simulations.
- Instead, I looked around the code base and made sure everything worked. It
didn't, because I was missing a bunch of files, but there was still a lot to
dig through in what I did have.
- I spent most of today familiarizing myself with SPICE and Verilog netlists,
the various scripts I have for finding implications and making chains, and the
current (fragmented) workflow used for synthesizing circuits. After I did that,
it was easy to make a simple latch in SPICE using the normal gates in the
noise-immune library. Even that circuit didn't run on my Windows machine, so
I officially wrote that off as a lost cause. At least now I have a few circuits
to test once I get access to OSCAR (the latch itself and the rd53 with the
latch I designed at the end of it).
Day 2 (6/11)
- Today I met with Marco, the graduate student I'll be working with, to clear
up confusions and issues with the literature I've been reviewing. He also
gave me some more background papers to go over, because I'm still a little
shaky on the idea of implications and the terminology used (it's too easy to
mix up "implicant" and "implicand"), which is useful.
- Marco also set me up with the SVN repo, which is going to be an adventure
because I am very used to git conventions and SVN is just different enough
to make everything I do confusing. I now have a nice robust code base to go
over, which is also exciting.
- Also, Marco gave me my first task: simulate the circuits in SPICE to make
sure everything is set up correctly, make a reinforced Schmitt-trigger latch
in SPICE so I am familiar with how to use the SPICE libraries and work with
netlists (something new for me!) and then add it to one of the already-made
noise-injected circuit simulations.
## Day 1 (6/10)
+ Since today was the first day, we spent most of it getting set up with keys
and permissions and logins and such. Abbie (the other DREU student here at
Brown this summer, and my housemate!) and I picked our workstations in the lab
and we met most of Dr. Bahar's lab group.
+ Dr. Bahar got me started with a set of papers to go over, including the
thesis her last undergraduate student had written on the work I'll be
starting in. My project will be to develop an automatic synthesis tool for
a noise-immune circuit design technique the group has developed, and this
thesis is the most current literature on progress in developing synthesis tools.
I'll be using some Cadence tools and a proprietary version of SPICE for
simulations and testing, and my custom tool will be written in Python and C.