From 01xz - Digital Logic and Computers

What's with the name?

The name is named after the four-state logic used by nets (and variables) in Verilog: 0, 1, x (unknown/don't-care), and z (high impedance). SystemVerilog added two-state (0 and 1) variables to the language, but nets are still always four-state.


Here are links to slightly more detailed About pages for each project:

About Me

I'm Henry Wong, a former lab teaching assistant for ECE253, 243, and 241 at the University of Toronto during my Ph.D. studies. These tools were created during my last few years as TA while pondering how to improve learning when the number of TA hours is finite.

What does this site run?

This site runs on MediaWiki with the Foreground skin. On top of this, substantial new functionality was added as a custom MediaWiki extension.

The back-end (compile, judge, progress tracking) is generally PHP calling shell scripts that run various CAD tools, with the results stored into a MariaDB database.

CPUlator is static HTML, CSS, and JavaScript. The only server-side code is for running the assembler. The core of the simulator is written in C++ and compiled to asm.js using Emscripten. The simulation runs entirely inside the client browser with no server-side interaction.