If one is doing an analysis over a range of variables, one should use the paramAnalysis ocean function. That said, I’m constantly having to look up how to do a for loop in Skill. So, I’m placing a couple examples where I know I can get to them.
Skill File I/O
I keep having to look this up, so I’m going to put it here for easy reference:
Open a File
h = infile("existing_file.txt")
h = outfile("partial_file.txt", "a")
Opens new file for writing, existing file for reading, and partial file for appending, respectively.
Write to a file
fprintf(h, "gm = %f", OP("/M23" "gm"))
print(OP("/M23" "gm"), h)
pprint(OP("/M23" "gm"), h)
Write “Hello World!” to a file (newlines are explicit); construct formatted string and write to file; print using native format to a file; pretty-print (useful for nested lists etc) to a file. File handle is h.
Read from a file
Reads a single line as a string
Updates to Cadence/Subversion (CDSVN) scripts
Our Brazilian Friends PCS and NGJr have offered the following changes to the CDSVN package:
- Into the file “cdsLibMgr.lib” was created the menu item “SVN Unlock Cell”
- Into the file “svnLockCell.il” were created the procedures “svnUnlockCell” and “svnUnlockCellFormCB”
- Inside the procedures “svnUnlockCellFormCB” and “svnUnlockCVFormCB” were made the following changes:
- where you have: if( !(rexMatchp(“.*.svn$”, file~>readPath) || rexMatchp(“.*%”, file~>readPath))
- was changed to: if( !(rexMatchp(“.*.svn$”, file~>readPath) || rexMatchp(” “, file~>readPath))
Behaviors observed:
- We don´t want the files *.cd% under version control, but if for some reason they are under version control that exist the possibility to lock them or unlock them.
- Copying a “cell” or a “view” by “Library Manager” doesn´t copy files *.cd% which is not a problem because we don´t want these files under version control.
- The command “[user@host CDSVN]$ svn lock *” or “[user@host CDSVN/bin]$ lock directory/” locks the files *.cd%, however, the “CDSVN Unlock Cell” or “CDSVN Unlock View” does not unlock.
- The “CDSVN Lock Cell” or “CDSVN Lock View” does not unlock the files *.cd%, however, the commands “[user@host CDSVN]$ svn unlock *” or “[user@host CDSVN/bin]$ unlock directory/” are able to unlock.
- Copying by the command “[user@host CDSVN]$ svn copy” copies the files *.cd% only if they are already under version control. The same behavior occurs for “CDSVN Copy Cell” or “CDSVN Copy View”. This is not a problem.
- The command “[user@host CDSVN]$ svn add”, “CDSVN Add Cell” or “CDSVN Add View” does not add files *.cd% even because this type of file is in the list of ignored files as showed below:
[user@host /home/user/.subversion] vi config
global-ignores = *.cd% *.cd- *.cdslck *.Cat% *.abstract.status *.abstract.messages *.inca* *inca* .cdsvmod expand.cfg% transcript_ms[user@host CDSVN/]vi cadence_ignores.txt
*.cd%
*.cd-
*.cdslck
*.Cat%
*.abstract.status
*.abstract.messages
*.inca*
*inca*
….
cdsvmod
expand.cfg%
transcript_ms
Their updated files are attached. Special thanks to PCS for coordinating this. Remember, the CDSVN scripts are licensed under GPL.
My other blogs & plans for the future
It used to be that I’d post just about anything here. However, after a few months of posting circuit design articles, I developed a consistent readership and decided that most of you aren’t interested in my daily life and/or the tech hobbies that I might be up to. As a result, I separated my personally-centered blogs from this blog.
I just wanted to quickly mention that if anyone is interested, I have two other blogs:
Personal Blog
Tech (software/computer) Blog
Also, you’ll notice that Google Ads are prominently displayed on this blog. I wanted to recoup the hosting costs of running this blog. Unfortunately, that didn’t end up being as profitable as I thought. So, as soon as I hit $100 of ad revenue (which is the minimum to cash out of my Google AdSense account), I’ll remove the ads. I’ll essentially be eating the hosting cost (in addition to the time I’ve put into the blog).
Unless I change my mind. Which is unlikely.
Also, I might try out some more social features on the web site. If I get the time. Which is also unlikely.
Tunable Non-Foster Match Using Switched Capacitor
Foster’s reactance theorem states that any reactance increases as a function of frequency
Unfortunately, this can’t be done over a large range, because as Foster’s reactance theorem states, as soon as you deviate a little from your center frequency, both the inductive reactance of your antenna and the reactance of whatever you’re using to cancel it (most likely a capacitive element) both increase (go toward
If you had a Non-Foster element, the reactance of your tuning element would go down by some amount
Most attempts to do this have required the use of active elements (such as gyrators) so synthesis a negative impedance. However, I’m wondering if a switched-capacitor circuit can be used to synthesize this Non-Foster reactance. Most analyses of switched-capacitor circuits show that they are synthetic resistors at frequencies far below the switching frequency. However, what does the impedance look like near the switching frequency? Read More
Median vs Mean
I’ve been doing some statistical measurements lately (more to follow). It occurs to me that while most people measure the mean of a set of measurements, the median is more useful.
CircuitDesign.Info: Site maintenance
Some of you may have noticed that the site was down for a day last week.
Expect a bit more down-time: I’m going to do a bit of experimentation to ensure that future down-time doesn’t happen again (improve reliability).
Special thanks to Justin Patrin
Special thanks to Justin Patrin for his awesome ASCIIMathML plugin. From now on, equations will look nicer, like:
You rock, Justin! I (and my readers) thank you.