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.