<azonenberg_work>
Microchip 350nm, for example, i have had good results with
<azonenberg_work>
UMC 180 is a lot harder and anything below 130 you pretty much need to use a mix of polishing/plasma
<rqou>
was this the one where you just did timed HF etches to remove metal layers?
<azonenberg_work>
Yes
<azonenberg_work>
We have a RIE system at the lab but i am not yet trained on it
<azonenberg_work>
And doubt i will be in time for hardwear
<azonenberg_work>
but ideally, for REcon next year, we can make progress
<azonenberg_work>
I would love if, in a couple of years
<azonenberg_work>
we could present a simple standard cell device, say pic10f200 or so
<azonenberg_work>
fully RE'd to human readable HDL
<rqou>
btw offtopic: apparently you can no longer buy phenolphthalein at the drugstore :P
<azonenberg_work>
With manually added annotations for what various things did
<azonenberg_work>
i thought it was used in... fantastik
<azonenberg_work>
?
<azonenberg_work>
some COTS bathroom cleaner
<azonenberg_work>
forget the brand
<rqou>
it's a ph indicator that was used as a laxative
<azonenberg_work>
impure but if you just want a pH indication and aren't mixing it in with your sample
<rqou>
apparently it might be carcinogenic
<azonenberg_work>
contaminants arent a big deal
<rqou>
why does a bathroom cleaner need it?
<rqou>
i should probably just buy a ph probe :P
<azonenberg_work>
why does a laxative? i know very little about the chemical other than that it turns pink at one pH and is clear in the other (I forget which)
<azonenberg_work>
also, i prefer universal indicator strpis
<azonenberg_work>
strips*
<rqou>
not if you're doing titrations
<azonenberg_work>
they give you readings to about +/- 1 pH unit
<azonenberg_work>
oh
<rqou>
then you don't want strips
<azonenberg_work>
Titrating what?
<rqou>
eh, just titrating e.g. drain cleaner to measure sulfuric acid concentration
<azonenberg_work>
it's syrupy
<azonenberg_work>
i would assume >90%, probably >95%
<azonenberg_work>
its probably technical grade with the main impurity being a dye and then maybe some dissolving of the plastic bottle it's stored in
<azonenberg_work>
It always amazes me the things that are allowed in consumer products
<azonenberg_work>
that would make an EH&S person in a lab go "WTF"
<azonenberg_work>
in general safety requirements for home stuff are terrifyingly lax
<azonenberg_work>
like, 98% H2SO4 sold over the counter at hardware stores for drain cleaning
<rqou>
nah, not 98%, only around 93% :P
<rqou>
or does 98 exist and i don't know about it?
<azonenberg_work>
I've never titrated it
<azonenberg_work>
But it's strong enough to be syrupy
<rqou>
i've read most of it is more like 93-95%
<azonenberg_work>
Which means it's in "rather scary acid" territory
<azonenberg_work>
Gallons of concentrated HCl for pool stuff
<azonenberg_work>
etc
<rqou>
oh yeah, i love how more than half of Nurdrage/NileRed's feedstocks seem to come from the pool supply store
<azonenberg_work>
Like, if i am working with conc HCl
<azonenberg_work>
i am going to want a face shield, lab coat, apron, full-length gloves
<azonenberg_work>
goggles
<azonenberg_work>
and ideally a fume hood
<rqou>
nah, it's not that scary
<rqou>
HCl is pretty tame
* azonenberg_work
has never actually got HCl on himself
<azonenberg_work>
and plans to keep it that way :p
<rqou>
NileRed demonstrated it on purpose
<rqou>
not much happens
<rqou>
nitric acid is much scarier
<azonenberg_work>
Well yeah
<azonenberg_work>
NO2 is not friendly either
eduardo_ has joined ##openfpga
<azonenberg_work>
Aaanyway i have a call in a couple minutes but when i get back i'm gonna work on bus stuff
<rqou>
i'd probably be willing to handle HCl in a ghetto diy lab with just a face shield and gloves
theMagnumOrange has quit [Ping timeout: 252 seconds]
<azonenberg_work>
BTW we should probably try to work on clock gating inference for greenpak at some point
<azonenberg_work>
i.e. rather than wasting logic creating combinatorial muxes for DFF without CE
<azonenberg_work>
We might have better luck creating a gated clock and driving an unconditional DFF with that
<azonenberg_work>
in particular if you drive >1 DFF with a given control set
theMagnumOrange has joined ##openfpga
gnufan has joined ##openfpga
<rqou>
that's strictly your problem :P
<rqou>
er actually
<rqou>
no it isn't
<rqou>
xc2 can do that too, because control term clocks
<rqou>
but you only need this if you're doing something weird like a TFF or latch with clock enable
<rqou>
although i do need bufg inference
<rqou>
does bufg inference belong in yosys or the par tool?
<azonenberg_work>
Hmm
<azonenberg_work>
Good question
<azonenberg_work>
In general coolrunner seems like it would handle gated clocks well
<rqou>
yeah, see the "RGH" jed :P
<rqou>
zero bufgs used
<rqou>
you know, other than cpld scaling issues, xc2 is pretty nice
<azonenberg_work>
Yeah
<azonenberg_work>
If i were to build myself a custom CPLD from scratch down the road
<azonenberg_work>
i would likely model it on the XC2C architecture heavily, but change the ZIA to a 2D interconnect fabric (the dead xilinx bladerunner architecture, which i independently designed and then discovered)
<azonenberg_work>
and add a small sram block or two
<azonenberg_work>
say a few 8 bit x 64 blocks
<azonenberg_work>
one per FB maybe
<azonenberg_work>
for larger state storage, fifos, etc
<rqou>
isn't this a psoc? :P
<rqou>
or do i misunderstand how a psoc works
<azonenberg_work>
no, there'd be no CPU
<azonenberg_work>
and i dont know a ton about how the psoc udbs connect
<pointfree>
rqou: I don't know, do they? For improved live reconfig performance too?
<azonenberg>
rqou: no i dont think so
<azonenberg>
i think its normally a row-column structure
<azonenberg>
To allow random access
digshadow has joined ##openfpga
theMagnumOrange has quit [Ping timeout: 255 seconds]
fpgacraft2_ has joined ##openfpga
dingbat_ has joined ##openfpga
laintoo_ has joined ##openfpga
cblam_ has joined ##openfpga
kmehall_ has joined ##openfpga
soylentyellow has joined ##openfpga
<awygle>
pointfree: that's pretty cool
cyrozap-ZNC has joined ##openfpga
SuperChickeNES has joined ##openfpga
digshadow has quit [*.net *.split]
fpgacraft2 has quit [*.net *.split]
pointfree1 has quit [*.net *.split]
nicdev has quit [*.net *.split]
kmehall has quit [*.net *.split]
dingbat has quit [*.net *.split]
ChickeNES has quit [*.net *.split]
cblam has quit [*.net *.split]
cyrozap has quit [*.net *.split]
laintoo has quit [*.net *.split]
fpgacraft2_ is now known as fpgacraft2
cblam_ is now known as cblam
dingbat_ is now known as dingbat
<awygle>
On the subject of nontraditional FPGA architectures, has anybody done serious research on using high speed differential signaling to speed up the routing fabric? Or is the situation such that that won't help?
<rqou>
who wants me to run clifford's riscv-formal against my class project to see how bad i am at HDL? :P
<rqou>
awygle: afaik serdes are so difficult to build and take up so much space that that isn't effective at all
indy has quit [Ping timeout: 260 seconds]
theMagnumOrange has joined ##openfpga
indy has joined ##openfpga
pointfree1 has joined ##openfpga
digshadow has joined ##openfpga
<pie_>
awygle, but y?
fpgacraft2 has quit [Quit: ZNC 1.7.x-git-709-1bb0199 - http://znc.in]
fpgacraft2 has joined ##openfpga
<awygle>
pie_: gotta go fast
<awygle>
rqou: I'm picturing more along the lines of the sense amps on DRAM than like, PCIe. You're not really doing proper SerDes unless it's a NoC architecture.
<awygle>
It still may be a stupid idea though. I r bad @ cmos
<pie_>
c mos befor c hos
soylentyellow has quit [Ping timeout: 240 seconds]
pie_ has quit [Ping timeout: 246 seconds]
ZipCPU|Laptop has joined ##openfpga
<openfpga-github>
[openfpga] azonenberg pushed 1 new commit to master: https://git.io/v51lW
<openfpga-github>
openfpga/master 26a6670 Andrew Zonenberg: Updated Adder test
soylentyellow has joined ##openfpga
teepee has quit [Ping timeout: 258 seconds]
<openfpga-github>
[yosys] azonenberg pushed 1 new commit to master: https://git.io/v51Rz
<openfpga-github>
yosys/master c8f35db Andrew Zonenberg: Initial version of extract_bus pass
<openfpga-github>
[yosys] rqou pushed 1 new commit to master: https://git.io/v51Rp
<openfpga-github>
yosys/master 7ce3b56 Robert Ou: recover_adder_core: Fix merge bug?
pie_ has joined ##openfpga
teepee has joined ##openfpga
<openfpga-github>
[yosys] azonenberg pushed 2 new commits to master: https://git.io/v51Eu
<openfpga-github>
yosys/master 4d07f4c Andrew Zonenberg: Cleaned up some dead code
<openfpga-github>
yosys/master 29edbc9 Andrew Zonenberg: Merge branch 'master' of github.com:azonenberg/yosys
pie_ has quit [Remote host closed the connection]
pie_ has joined ##openfpga
ZipCPU has left ##openfpga ["See 'yall later!"]
GenTooMan has joined ##openfpga
pie_ has quit [Ping timeout: 240 seconds]
<openfpga-github>
[yosys] rqou pushed 1 new commit to master: https://git.io/v51zh
<openfpga-github>
yosys/master 1289b5a Robert Ou: recover_adder_core: Fix bug with carry into XOR3 not into port C
sunxi_fan1 has quit [Ping timeout: 255 seconds]
sunxi_fan2 has joined ##openfpga
gnufan has quit [Ping timeout: 260 seconds]
gnufan has joined ##openfpga
pie_ has joined ##openfpga
<azonenberg>
Soooo sanity check here
<azonenberg>
What's the DeMorgan equivalent of an XOR, and does it depend on the number of inputs?
<azonenberg>
Suppose I have an XOR-n
<azonenberg>
i add inverters to every input
<azonenberg>
Since XOR is commutative, and XORing by 1 is inversion
<azonenberg>
this is the same as XORing every input by 1
<azonenberg>
so I have (a ^ 1) ^ (b ^ 1) ^... (z ^ 1)
<azonenberg>
then we can use the associative property to convert this to (a ^ b ^ ... z) ^ (1 ^ 1 ^ 1 ...)
<azonenberg>
At that point we can convert the 1^ 1^1 to either an inversion or no change
<azonenberg>
So my conclusion is that the DeMorgan of a XOR is either an XOR (if even number of inputs) or XNOR (if odd number of inputs)
<rqou>
that sounds right
<azonenberg>
I won't implement xor demorgan just yet, but keeping it in the code as a TODO
<rqou>
i haven't seen a reduce_xor actually get recovered
<azonenberg>
Yeah
<azonenberg>
For the time being i wont support them
<rqou>
i can't really think of any use case for an xor chain
<azonenberg>
you mean a reduce_xor?
<rqou>
yeah
<azonenberg>
parity check
<rqou>
other than some coding-theory/crypto thing
pie__ has joined ##openfpga
pie_ has quit [Remote host closed the connection]
gnufan has quit [Quit: Leaving.]
soylentyellow has quit [Ping timeout: 248 seconds]