So a while back I made a script which would generate a user defined test pattern for small circuits (or rather for small number of input combinations). The program gets the inputs as small chunks defined by the user (such as all ones, all zeros, one-hot, defined binary numbers etc.). I later use Itertools for making …
Month: December 2017
Simulator that does a bit more. I did a project a while back in May 2015. You can find the link to the project here. Back then I was thinking about making a simple scheduler for NoC based SoC. but it went a bit further and now turned into a simulator that also keeps a …
From Harvard to von Neumann The CPU initially had Harvard architecture; with a RAM for data and a ROM for instructions. During the process of development I figured that both of these memories are more or less acting like local cache for the actual memory. Since each memory responds in 1 clock cycle. So if …
Some updates about processor! I just finished implementing 67 instructions (not tested all of them obviously!). And these instructions are not covered: floating point stuff Co-processor stuff Atomic Read-Modify-Write BREAK and WAIT Anything Cache related Trap instructions Also, Division is implemented using “/” and “mod”. These are not synthesize-able and also for division I’m not …
Dependability Measures NoCs are usually very poor at handling faults. If you mess up, say a destination address in a header flit, chances are that your entire network will go bye bye! Anyways, if you look into the problem faults on the data path in the router, you can easily divide it into 2 parts, …
Ver II: Credit Based Flow Control After the first chip was out, we decided that its time to improve the router and there were two major drawbacks in this version that we targeted: The handshaking flow-control was performing very poorly (basically the network was working at a third of its capacity) The switch arbiters could …
I was a T.A. in Digital System Modeling and Synthesis course and was helping in the labs. That year we changed a lot of things in the labs (for example we added a CPU lab. see my post here!). We were developing the labs during the summer for the autumn course. One day I asked …
Ver I: Hand Shaking Router Two years ago, I started designing a router for a Network on Chip infrastructure. The work belonged to a project called Bonfire (you can find the link to the project here). Anyways, we had this router designed by one of my colleagues but it didn’t have any flow-control. So I …
Some time ago I made (in VHDL) a rather stupid processor with very limited instruction set which I called pico-CPU. You can find it under pico_CPU folder in pico-CPU repository on github. The point back then was to make something for a course ( the course was called Digital Systems Modeling and Synthesis). Later on i started …