glasgowembedded / glasgow Goto Github PK
View Code? Open in Web Editor NEWScots Army Knife for electronics
License: BSD Zero Clause License
Scots Army Knife for electronics
License: BSD Zero Clause License
We can save a dollar if we go for 56-ball 0.5 mm pitch VFBGA package. We only need to route out two rows of balls at most, so it seems fine that it's 0.5 mm pitch. Should we?
The FPGA has ridiculously powerful drivers (what, 10 mA?) so if we use a pullup smaller than 1k we can go well into MHz range. Useful, because the PLL has a minimum frequency of 16 MHz--can we get that high?
This needs libfx2 support for editing descriptors before sending them back.
Unfortunately, some issues with the footprint: KiCad/kicad-symbols#289 (comment)
This should be compatible with both C0 and C2 loads--mimic a C2 write to address 0?
Nothing closely related. Package seems unusual, needs close attention.
These should serve as an example of writing applet tests.
Since we now have a lot of I/O in the FPGA we can afford this. It should be white. This means moving D1-D5 upwards and shifting R3/C13 a bit.
Nothing related, the high aspect ratio QFN-20 almost definitely doesn't exist yet.
Two arrays of four resistors per port. I'm not sure yet what the values should be; worst case, we can always populate with 0R and decide later.
Nothing closely related, seems to use an existing package.
Needed for #35.
At least:
When (at this point, apparently not "if") we do a production run we'll need to do QA, and for that we should use a simple board that plugs into both ports and connects them to each other. It should also have LEDs (buffered to Vioa, since the level shifters cannot drive a LED directly) for visual verification.
KiCAD has a closely related TPS763xx series, the TPS731 series probably just needs to be a few aliases.
This should demonstrate:
It looks like resetting the FPGA intrinsically tristates all pins (verify!), and it's not clear that tristating every port (~OEQ is routed to all buffers) on alert in any port is the right thing to do.
We should maybe use a faster one if it's not much more expensive, this is pretty annoying.
This also likely applies to ICE_MEM EEPROM.
Needs to be moved left ~1mm (consult drawing!!)
It's for 560R, should be 600R.
Synthesis and PAR are slow, rerunning them on every invocation is wasteful, and explicit --no-build
is awful.
Needs extra care so that it works on:
49.9 Ohm, need 49.9 kOhm.
There aren't any 24M01 variants in KiCAD, but this only needs a new symbol.
Right now all registers are storage registers (i.e. writable by host only), which makes the whole thing kind of useless.
I'm observing some strange issues related to post-bitstream-upload reset and CDONE is currently not easily accessible at all.
Needs a new FPGA_Lattice category.
If you short Vio to GND for like a millisecond it blows instantly. Source: shorted Vio to GND for like a millisecond.
BG121 is a new 0.8 mm pitch package. Mouser only has it via drop shipment MOQ 260, Digikey has MOQ 1. Investigate if CT256 is a better option after all.
We have xtal on pins 2-4, the package has it on pins 1-3.
Use a leaky bucket algorithm to limit per-FIFO bursts to 16 bytes (or a configurable value).
This is kind of annoying because it needs reenumeration logic in the firmware.
These are all active-low with pullups, so they can be shared by the FPGA and FX2 for added flexibility.
Alias of Memory_EEPROM/24LC256
On revA the fuse blows immediately. Need to check if the current limiting works as designed (probably not since the fuse blows. lol.) and decide what to do about it.
Not actually an issue for the component selected, since it still solders nicely, but this is not what I was expecting at all.
It's a pain in the ass to do double-sided assembly, that's what it is. No need to make it worse.
This is essentially #26-lite; a proper loopback PCB would allow to test input/output on every single pin, but you need to have it. On the other hand, all our I/O are adjacent on both FPGA and FXMA, and being able to quickly eliminate any possible shorts is enormously valuable.
This should run the check twice, once with ~OEQ high and once low, to check for shorts on either side of FXMA.
Footprint: KiCad/kicad-footprints#581
Symbol: KiCad/kicad-symbols#596
3D package: KiCad/kicad-packages3D#314
It's 300k, should be 220k.
CYP is an abbreviation from a manufacturer, ICE from a series and FPGA from a function. We should just use part numbers everywhere for consistency.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.