<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Saeb Naser</title><link>https://saebnaser.blog/</link><description>Recent content on Saeb Naser</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 29 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://saebnaser.blog/index.xml" rel="self" type="application/rss+xml"/><item><title>About</title><link>https://saebnaser.blog/about/</link><pubDate>Fri, 29 May 2026 00:00:00 +0000</pubDate><guid>https://saebnaser.blog/about/</guid><description>&lt;p&gt;I&amp;rsquo;m a Computer Engineering graduate currently working as a Senior Game Programmer at &lt;a href="https://www.streamline-studios.com/" target="_blank" rel="noopener noreferrer"&gt;Streamline Studios&lt;/a&gt;. I enjoy C/C++, systems programming, real-time graphics, networking, and computer architecture. This blog is where I document the things I build, study, and figure out along the way.&lt;/p&gt;</description></item><item><title>32-Bit MIPS ALU: Simulation</title><link>https://saebnaser.blog/post/32-bit-mips-alu-simulation/</link><pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate><guid>https://saebnaser.blog/post/32-bit-mips-alu-simulation/</guid><description>&lt;p&gt;I recently completed the &lt;a href="https://saebnaser.blog/post/32-bit-mips-alu-design/" target="_blank" rel="noopener noreferrer"&gt;design and implementation&lt;/a&gt; of my Final Year Project. However, during the simulation phase near the end, I realized that the Cyclone V SX SoC Development Kit wasn&amp;rsquo;t the best match for this type of project. As I said I would in my previous post, I discussed this with my supervisor, and fortunately, I got my hands on not only the &lt;a href="https://www.terasic.com.tw/cgi-bin/page/archive.pl?No=83" target="_blank" rel="noopener noreferrer"&gt;DE1&lt;/a&gt; board but also the &lt;a href="https://www.terasic.com.tw/cgi-bin/page/archive.pl?No=30" target="_blank" rel="noopener noreferrer"&gt;DE2&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>32-Bit MIPS ALU: Design</title><link>https://saebnaser.blog/post/32-bit-mips-alu-design/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate><guid>https://saebnaser.blog/post/32-bit-mips-alu-design/</guid><description>&lt;p&gt;In the &lt;a href="https://saebnaser.blog/post/32-bit-mips-alu-motivation/" target="_blank" rel="noopener noreferrer"&gt;motivation post&lt;/a&gt;, I basically laid down the groundwork. I talked about all the basic stuff and essential concepts that we need to know before diving into the design. It was a good refresher for me as well.&lt;/p&gt;
&lt;p&gt;Now, let&amp;rsquo;s shift gears a bit. I want to make one thing clear before doing anything: my Final Year Project isn&amp;rsquo;t about building a MIPS processor from scratch. Instead, it&amp;rsquo;s all about crafting an ALU (Arithmetic Logic Unit) that can meet the demands of our hardware realization of the MIPS CPU datapath. In order to check if our designed ALU works fine, I&amp;rsquo;ll need to also design a basic MIPS architecture to ensure the ALU fits into it seamlessly. However, I&amp;rsquo;ll be upfront: my primary focus will be on the ALU itself. That said, understanding how the ALU integrates into the MIPS architecture is essential. It&amp;rsquo;s like fitting a piece into a puzzle: each component needs to align perfectly for the whole system to function smoothly. So, while I won&amp;rsquo;t delve too deeply into the intricacies of MIPS, I&amp;rsquo;ll provide enough context to illustrate how our ALU fits into the bigger picture.&lt;/p&gt;</description></item><item><title>32-Bit MIPS ALU: Motivation</title><link>https://saebnaser.blog/post/32-bit-mips-alu-motivation/</link><pubDate>Fri, 29 Dec 2023 00:00:00 +0000</pubDate><guid>https://saebnaser.blog/post/32-bit-mips-alu-motivation/</guid><description>&lt;p&gt;I&amp;rsquo;ve recently started my Final Year Project with a focus on designing a 32-bit MIPS Arithmetic Logic Unit (ALU) based on RISC, and one thing became clear: the basics are absolutely crucial. Things like logic, boolean algebra, and digital design form the foundation for everything in this field. Even in the simple &lt;a href="https://saebnaser.blog/post/chip-8-emulator/" target="_blank" rel="noopener noreferrer"&gt;CHIP-8 Emulator&lt;/a&gt; I built last time, I found myself deep in low-level bit manipulation. This included working with binary, hex, logical operators, bitmasking, bit shifting, and more. It&amp;rsquo;s for this reason that I&amp;rsquo;m putting together this blog post, which will serve as a primer or refresher for all the specialized topics I&amp;rsquo;ll dive into in future blog posts. Additionally, I plan to document my ongoing journey in designing the ALU. I hope this documentation can be a valuable resource for others keen on learning about digital design and computer architecture.&lt;/p&gt;</description></item><item><title>CHIP-8 Emulator</title><link>https://saebnaser.blog/post/chip-8-emulator/</link><pubDate>Wed, 09 Aug 2023 00:00:00 +0000</pubDate><guid>https://saebnaser.blog/post/chip-8-emulator/</guid><description>&lt;p&gt;Lately, I&amp;rsquo;ve been looking for a side project to work on outside my daytime internship. I&amp;rsquo;ve always loved emulators for their ability to bring back old retro games, so I figured it would be interesting to understand how emulators work and even try my hand at building one!&lt;/p&gt;
&lt;p&gt;After doing some research, I found that most experienced emulator developers, who take emulation programming seriously, advise beginners to start with something simple, like the CHIP-8, instead of diving directly into NES or Game Boy emulation :)&lt;/p&gt;</description></item></channel></rss>