HDL Express

Welcome to HDL Express, the personal webpages of Kirk Weedman

HDL stands for Hardware Description Language.

This website also contains information on various Verilog/FPGA tutorials, Alternative Energy projects, and the progress of a new CPU architecture that I'm designing.

I'm an electronic design engineer specializing in contract Verilog RTL FPGA design, functional verification, testbench creation, simulation and debug. I have a varied background in other disciplines too.

My resume: Download the PDF version here. Download Word format here

Currently available for new FPGA design contract work.

TIP Algorithm - a new dynamic instruction scheduling algorithm

Sept, 2017: Current Status of the new Out of Order CPU Architecture based on the TIP algorithm

For those not wishing to have their name posted, I want to thank them for helping.

Current interns helping on the project:

Prachi Shah Masters in Electrical & Computer Engineering CA State University, Sacramento
Parimal Kulkarni Masters in Electrical & Computer Engineering Portland State University
Shreya Mehrotra Masters in Electrical & Computer Engineering University of Florida


This new dynamic instruction scheduling algorithm is not like the typical OoO methods being used today and the goal is to improve OoO ILP. Most Modern Out of Order CPU's, either use the Tomasulo or Scoreboarding algorithm (or some variant) for dynamic scheduling. The method used in this CPU is completely different and simpler although there are several specific rules it follows. There is no register renaming, as the method effectively has infinite renaming, and thus no physical register set, just the architectural registers. It appears the logic for the TIP Algorithm grows fairly linear as IPC increases linearly instead of exponentially like the Tomasulo algorithm. The goal of building a working CPU is to prove the method works and to vary design parameters to get maximum performance (IPC throughput) for a given microarchitecture.

4/27/2017 - Since this algorithm can be applied to most any ISA, I am switching from the ARMv7 ISA to the RISC-V (RV32IM). RISC-V will be simpler to implement and there is good software tool support for it.

See CPU History for more information about the progress on this architecture

See Branch Prediction Elimination for more info about the progress on this method.

1. Current simplified block diagram of new Out of Order Microarchitecture

2. Debugging RV32IM instructions & flow through front end stages.

3. Adding RISC-V CSR instructions to the decode, addding integer multiply and divide, etc..modules

4. Creating an RTL L1_ICache and a 32KB 8-way Set Associative L1_DCache.

5. Creating a new RTL version of Fetch.

6. Debugging LLRS

7. Various functional simulations going on.



Hit Web Stats unique visitors since Mar. 3, 2016
Fast Counters


rss feed