kevindai02

kevindai02

0-day streak
some more shots of it because what the hell why not (time for testing, after midterms are over ;-;)
image_from_ios.jpgimage_from_ios.jpgimage_from_ios.jpg
omg so much sexier with populated holes
image_from_ios.jpgimage_from_ios.jpg
So sexy 🤤
image_from_ios.jpgimage_from_ios.jpgimage_from_ios.jpg
Oh yeah! It's shippppeddddd :3
image.png
Guess what arrived today ^~^ (secret contents)
image_from_ios.jpg
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!
image.png
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:
image.png
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:
image.pngimage.pngimage.png
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.
ucode.png
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.
image.png
Big sad not cured but I finished this. It's pretty cute.
image_from_ios.jpg
Time to (not) let ✨anxiety✨ ruin someone else's exam.
image_from_ios.jpg
Time to cure the big sad.
image_from_ios.jpgimage_from_ios.jpg
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.
1.png
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.
I hate life 💀
image_from_ios.jpg
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).
image.png
So much code yet none of it works (C,e,N) (2058930342979427413254926386263838738879293279451544250614213887182354263636649474892006540782778693, 1976681317924305710587460200285568244095031203169200640258932362305967453879566209551921211163554315, 3711112890917953920313349275463478686525635505349467618802841304007022981993526553825288355294414951)
image.png
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 ✨
image.png
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).
pin.png
More shitposting for streaks :> but I did learn something new today: 1111 should be "oneteen onety one"
image_from_ios.jpg
Tragically underrated.
image.png
Anthony lied to me :anthony1:
image_from_ios.jpg
Fucking music analysis blog post part 2/5 is finally done and published after 3 days... 👀
image.png
Yes
image_from_ios.jpg
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.
image.png
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
image.png
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.
test.png
Oh and this photo here
image_from_ios.jpg
Added a UART controller to my CPU. It can now talk through an Arduino to my PC :D
image_from_ios.jpg
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).
screenshot_from_2020-07-20_18-30-40.png
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)
image_from_ios.jpg
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:
image_from_ios.jpg
uhh yeah digikey sent the wrong chip haha :flushed_russian:
Finally! Should I do a live unboxing?
image_from_ios.jpg
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
image_from_ios.jpg
Woot woot! Guess what came in the mail today (part 1/2)? Yeah!!! Let's get this party rollingggggg!
image_from_ios.jpg
Floaty floaty :D remember to pull your signals! also can't wait for the solid core wires to arrive
Aaaahh can't get better than this :)
image_from_ios.jpg
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!!
image_from_ios.jpgimage_from_ios.jpg
image.png
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
image_from_ios.jpgimage_from_ios.jpg
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!
image.png
Whoa, exciting!!! :partyparrot:
image.png
Ah yes, the Pinecone Processing Unit :blobevil:
logo_text.png
Sch- sch- sch- sch- sch.... SCHEMATICS! Rough sketch of what I want. Unrevised. Will probably blow up.
schematic_pinecone_2020-06-29_21-08-40.png
Homebrew CPU: what did I do to deserve this? agh, wiring the multiplexed 20-bit address + 16-bit data busses ;-; send help pls
capture1.png
After several continuous nights of work, we now have a microcoded execution unit for the custom CPU.
capture1.png