@
I was bored so I picked a chip from ZeptoBars to reverse engineer. This is a CD4000 which contains 2x 3-input NOR gate + 1x inverter gate. I've labelled the main logic components of the chip. Interesting fact: The 3-input NOR is implemented as an inverter + AND gate. I wonder why they didn't do the layout for the NOR gate directly :thinking:
thinking emoji
summer-of-making emoji
@
SPICE simulation of SRAM
wom emoji
@
s (crap book). cmos buffer 3d view. for what? who knows.
wom emoji
@
New workflow ⁉️
wom emoji
@
Crazy day, the ICs I designed a year ago finally arrived. Unfortunately I don't have the equipment at home to do any testing. Waiting to get back on campus :im_fucking_sobbing:
@
First revision is done! 5x10 cm board, finally got it under 10 cm in length :xdlol:
blob_aww emoji
partyparrot emoji
wom emoji
@
PCB routing nearly complete! :tw_weary:
wom emoji
pcb emoji
@
I'm now at the "where's waldo" stage of PCB design
think emoji
aom-21 emoji
@
Finally got the footprint :tw_weary:
aom-21 emoji
@
Good PDF annotation support is the only reason why I switched to Edge from Firefox :errors:
aom-21 emoji
firefoxlogo emoji
@
Success! Proper PHI node insertion and dead-code elimination! Next stop: register allocation and finally, machine code generation.
goose-honk-technologist emoji
aom-21 emoji
@
dominate me harder :tw_weary: compiler dev continues...
sheesh emoji
aom-21 emoji
@
Compiler is coming along nicely. I decided to hell with it and write an IR as well.
aom-21 emoji
@
Day 2: USB to serial, better power delivery, screw the BJTs
aom-21 emoji
@
I learned to use KiCad (kinda). Still prefer EasyEDA ngl but I wanna join the big leagues now
aom-21 emoji
@
Am I even a Math/CS student anymore πŸ˜‚ Spent some time reverse engineering an ESD nFET
aom-21 emoji
@
another day, another migraine. here's a clock tree extracted. ~a non-CS use of a balanced binary tree~
aom-21 emoji
@
:yuh: some pretty visuals
aom-21 emoji
@
:errors: wish the TAs good luck hand marking my code!
goose-honk-technologist emoji
aom-21 emoji
@
FINALLY CONQUERED WINDOWS. BEHOLD, CUSTOM SATA DRIVERS :tachi_smile:
@
Finally completed my 13 pages of utter BS
summer21 emoji
@
:intel: got it 2 months later :smiley-twemoji:
summer21 emoji
@
and here I was hoping copilot can design a CPU… apparently not. guess I get to keep my job for now (cya later suckers)
summer21 emoji
@
Tall buildings, it's the city!
summer21 emoji
@
oh boy here goes nothing
summer21 emoji
@
back to the drawing board :crydeath:
summer21 emoji
@
Pipeline stalls are now under control (I hope so)
spring-of-making emoji
@
Designing a custom CMOS IC. Hope to reach speeds of 110 MHz.
spring-of-making emoji
@
Finally got LTSPICE to simulate! An inverter automatically extracted from sky130 std cells, [TT] corner
ultrafastparrot emoji
expanding_brain_4 emoji
spring-of-making emoji
@
I stole a cubicle for myself. It's mine now.
spring-of-making emoji
@
Upgraded my RAM to 16 gigs from 8 gigs! My old Kaby Lake :intel: is still chugging along
spring-of-making emoji
lets-fucking-gooo emoji
@
I think this is mostly correct now
@
I have to get up at 8:30 tomorrow and it's 2 am and I'm messing around with Falstad circuit simulator for fun :coolsad:
spring-of-making emoji
summer-of-making emoji
@
exclusive access :smirk_russian:
spring-of-making emoji
@
I present... formally verified :roo-love: pipeline logic
upvote emoji
spring-of-making emoji
@
some interesting benchmarks with "cached" vs "uncached" memory access on HS32. there is an actual visible difference which is cool but kind of bad :floshed:
spring-of-making emoji
@
ohmygodohmygodohmygod we got LLVM IR to compile properly!! HS32 now has a very very basic C-compiler :roo-yay:
yay emoji
spring-of-making emoji
homelab emoji
@
llc built without errors finally. but will it accept LLVM IR? time to find out!
spring-of-making emoji
expanding_brain_4 emoji
ultrafastparrot emoji
@
went to the lab today, CRAZY I tell ya
spring-of-making emoji
upvote emoji
intel emoji
@
System decided to bios update in the middle of a meeting :kirby-angy: :screaming-morty:
spring-of-making emoji
respects emoji
@
What an interesting day. Missed the initial optional onboarding though. :roo-oh-no: I live in the middle of nowhere and the package didn't arrive until like 3 pm. Crazy day tomorrow :smiley-twemoji:
intel emoji
expanding_brain_4 emoji
spring-of-making emoji
@
Oh no I don't having anything great to post today. Enjoy this super level of gayness I aspire one day to be:
spring-of-making emoji
@
okay second post but I'm absolutely IN LOVE with this desktop background + windows acrylic (don't mind mr. openhardwaremonitor in the corner)
spring-of-making emoji
@
Went outside for 3 hours, nearly biked off a cliff and it started raining. What an adventure.
@
The new JetBrains splash screens are really quite something (awful) so I redesigned it for myself so I won't go blind. The relevant issue this has caused is really quite funny: youtrack.jetbrains.com/issue/IDEA-266149
@
Put lo-fi in the background and life is great. Nothing new today: testing and stabilizing the assembly backend for my custom LLVM port. This is my 4th "porting LLVM" scrapbook post. I'm so creative. Actually since LLVM is now a part of my life, I've added emoting icons for it: :llvm: and :llvm-alt:
ratupvote emoji
llvm-alt emoji
spring-of-making emoji
upvote emoji
kevin1 emoji
@
Porting LLVM in a week (jk). Today: Finally bringing the MC layer to a close with relocations and fixups!
spring-of-making emoji
@
My 17$ decommissioned FPGA miner arrived today!! After some cleaning and solder work, it came alive and booted into Linux :ultrafastparrot:
@
Big field
spring-of-making emoji
@
The thing I ordered arrived
@
aaaaaand it's back to porting LLVM for me
@
I finally fixed my homebrew CPU's memory access "bug." It wasn't a bug at all. Here's a short demo of 4 programs running on it via the UART bootloader! Also, I wanted to experiment with showing both the hardware and software at the same time (decided to use Zoom for that).
@
porting LLVM to my custom CPU!!!! got proper assembly generation!!!!
@
another sneaky peaky, this time integrated into the project wrapper
@
Sneaky peaky number 2. Nice and even core utilization (area) and you can see the power grid too! :uwu_face:
@
Got it to work with the example project πŸ‘€ A sneak peek of what's to come
ultrafastparrot emoji
expanding_brain_4 emoji
@
@
at some point, your eyes just start to lose focus and everything looks the same
eggsdee emoji
@
some more shots of it because what the hell why not (time for testing, after midterms are over ;-;)
hardware emoji
ultrafastparrot emoji
@
omg so much sexier with populated holes
@
So sexy 🀀
@
Oh yeah! It's shippppeddddd :3
@
Guess what arrived today ^~^ (secret contents)
@
I finally placed the PCB order ^~^ :summer-of-making: -> :aom: -> Eternity of Making? :sam-1: Also, Digikey 1 day shipping in Canada for only $8?! What is this madness!
canadaparrot emoji
@
I thought I'd show off for the first time how my homebrew CPU is developed and how amazing "FPGA hell" is (also, I don't have a scope, donations are welcome 🀣)
@
First day of school! Found our university-provided Linux shell (apparently they've got a windows one too, but it's offline :sad_pepe: ). Not a VM but a huge ass 256-processor cluster with no sudo (can't complain I guess). Also, they apparently have a GPU compute cluster somewhere too πŸ‘€ Asynchronous online learning be like :shiba-sad:
linux emoji
summer-of-making emoji
@
The class schedule is still nonexistent, didn't make it into advanced maths because I'm dumb, had some friends over and a wonderful time (still kinda sober yay), and implemented microcode syntax highlighting. Things could be better but things could be worse I suppose :shiba-stare:
@
Time to FLEX my new microcode assembler written in 2 days using BISON and FLEX (haha pun totally intended)! Programming in C has never brought me more joy in life, maybe my vibes will finally return someday and I will stop crying. Verified the microcode isn't some random trash by assembling it manually, then running it through the logic simulator. With all the designing of the instruction set done, it is time to implement pine16's instruction set architecture. For the record, the microcode looks like:
mov_r@[0000..0000][1000..1000]
mov_r:
    RAW rs, op, rd > END

alu_r@[0001..1010][1000..1000]
alu_r:
    RAW rd, latch,
    RAW rs, op, rd !> END
This is exciting. But now, time to party my ass off before school starts.
@
No one said making a CPU would be this hard. It's a giant symphony from hell, with no end in sight; debugging hundreds of signals like this at once is an absolute nightmare (they don't even fit on my screen) - so much so to the point that I'm testing more than developing. Please send help, I don't know how much longer I will stay sane for. Comparing this to the first post though, I have come a quite long way which is nice.
@
Big sad not cured but I finished this. It's pretty cute.
@
Time to (not) let ✨anxiety✨ ruin someone else's exam.
summer-of-making emoji
@
Time to cure the big sad.
@
Today, decided to compile an old English social issues project (almost 2 years ago now) into a music score video. The topic was a heavy one (mental health issues in lgbtq+ minorities) and the music was quite terrible but reading all the quotes again was quite interesting.
@
Some more shitposting. Go away. --- Phrygian Gates - John Adams (1978) Keeping myself busy from myself, here's some modern (minimalism) music; it's almost a soundscape. I die at the end.
summer-of-making emoji
@
I hate life πŸ’€
summer-of-making emoji
beachball emoji
@
Lol after making friends with some hack clubbers, my github feed has now been contaminated by the unholy sea JS. There's only 1 last good sign of civilization (even though I hate the qloader project itself).
c emoji
js emoji
github emoji
summer-of-making emoji
@
So much code yet none of it works (C,e,N) (2058930342979427413254926386263838738879293279451544250614213887182354263636649474892006540782778693, 1976681317924305710587460200285568244095031203169200640258932362305967453879566209551921211163554315, 3711112890917953920313349275463478686525635505349467618802841304007022981993526553825288355294414951)
summer-of-making emoji
pleading emoji
@
An hour of my life learning this and recording it, totally worth it :meow-party:. The rhythm's kinda off but hey, whatever :bro:
@
Shitpost shitpost don't mind the heavy breathing :blobfearsweat:
@
Haha sounds like ✨ internalized homophobia ✨
@
Some optimizing the sh!t out of the memory controller (now it's roughly 100 logic cells). Smaller the better! Homebrew CPU Floorplan: Orange/Red = VCC, GND and pins; Blue = Memory controller/Green; Yellow = Debug control logic (small for now); Magenta = UART rx/tx modules (clustered around pin 25/26).
@
More shitposting for streaks :> but I did learn something new today: 1111 should be "oneteen onety one"
@
Tragically underrated.
yuto emoji
summer-of-making emoji
@
Anthony lied to me :anthony1:
summer-of-making emoji
@
Fucking music analysis blog post part 2/5 is finally done and published after 3 days... πŸ‘€
kevin emoji
summer-of-making emoji
@
Yes
summer-of-making emoji
@
Started this blog post project thing writing about my favourite pieces of music. Why did I choose a 40-minute, thematically rich work to start? Also, imposter syndrome be like hahaha I'm not even qualified to write things like this :blobfearsweat:. Oh well.
@
Uhh... so here's some attempted improv in lydian... This is just for scrapbook ignore or you'll go deaf :blobnomcookie:
@
Updated my website/blog. I kinda like the idea of posting cute small proofs there :3
summer-of-making emoji
@
For streaks. Here, you can see how the physical logic blocks are laid out and connected on my CPU. On the bottom left is the UART logic and around the perimeter (upper left) are the memory decoding/interface logic.
summer-of-making emoji
@
Oh and this photo here
summer-of-making emoji
@
Added a UART controller to my CPU. It can now talk through an Arduino to my PC :D
hardware emoji
summer-of-making emoji
@
Testbench in Verilog for Pine16 so I can finally safely test new designs (also I don't have a scope, so this is the next best thing).
@
Homebrew CPU is well on its way. Next steps: uop assembler, machine code assembler, c compiler & linker, BIOS and firmware and finally a homebrew kernel and OS (probably port my existing OS or something)
@
Me: Noo you can't number your address bus 15 14 12 7 6 5 4 3 2 1 0 16 13 8 9 11 10. Alliance Memory: Haha numbers go brrrr. Why did I think this was a good idea :deepfriedlaughing:
summer-of-making emoji
@
uhh yeah digikey sent the wrong chip haha :flushed_russian:
oof emoji
summer-of-making emoji
@
Finally! Should I do a live unboxing?
@
We have breadboards, an lcd and a TinyFPGA BX, they weren't kidding about TINY. It's so smol! Ironically, I'm still waiting for the headers to arrive xD
@
Woot woot! Guess what came in the mail today (part 1/2)? Yeah!!! Let's get this party rollingggggg!
parrot emoji
ultrafastparrot emoji
summer-of-making emoji
@
Floaty floaty :D remember to pull your signals! also can't wait for the solid core wires to arrive
summer-of-making emoji
@
Aaaahh can't get better than this :)
yay emoji
summer-of-making emoji
@
Today is a very exciting day. I was reunited with my beloved arduino and my crazy spontaneous idea of shoving wires into vga ports actually works!! You know what this means? My homebrew cpu might be able to output to VGA!! Waow!!
@
summer-of-making emoji
@
I had a blast today, took a break from doing nothing to have fun with friends. Also did some timing verification by hand (I still need to learn how to use TimingAnalyzer fluently) to make sure everything is in spec. Finally caved in and added extra protection circuitry; a buffer at the end of the input bus (ditched fancy level shifter circuits as it also doubles as a 5v to 3.3v shifter too!). List should be finalized tomorrow :D
@
Update: I forgot to post this noon so I probably missed the streak. Upon checking my schematics, I realized that, to my horror, my Arduino Uno doesn't have enough pins to program the SST39SF010A parallel flash memory. HOWEVER, I remembered that my CPU design also doesn't have enough pins to support reading from flash either! But by using a time-multiplexed address + data bus along with my northbridge, I can easily program the flash IC! So, I yoinked the northbridge and hooked the Arduino to it. Yeah!!! We're back in business babbyyy!
summer-of-making emoji
yay emoji
@
Whoa, exciting!!! :partyparrot:
summer-of-making emoji
party-dinosaur emoji
@
Ah yes, the Pinecone Processing Unit :blobevil:
@
Sch- sch- sch- sch- sch.... SCHEMATICS! Rough sketch of what I want. Unrevised. Will probably blow up.
@
Homebrew CPU: what did I do to deserve this? agh, wiring the multiplexed 20-bit address + 16-bit data busses ;-; send help pls
parrot emoji
summer-of-making emoji
@
After several continuous nights of work, we now have a microcoded execution unit for the custom CPU.
summer-of-making emoji
yay emoji