# Microcode and microstore in VHDL?

1. Dec 5, 2013

### Evo8

1. The problem statement, all variables and given/known data
So i am trying to understand what Microcode is in VHDL terms or Microstore for that matter. My course's lecture is a bit weak and i do most of my learning through text books that I have access too and researching online. However when I search for microcode online I come up with nothing really useful. Or at least nothing that helps get the point across to me. Can anyone help me out?

Here is a question from a homework assignement.

Consider the following microcode program written for the project architecture.

2. ORG %0000
3. Start: B,C <- $1 4. C <- B + C 5. Top: C <- C -$1, if Z-flag goto End
6. goto Top
7. End: goto End

The first question refering to this code is:
a) Hand compile the code, producing the first few microstore entries occupied by the program. List the actual values assigned to the labels.

I usually have good luck just googling terms and reading up but im really not finding much on this one.

Thanks for any help!

2. Dec 6, 2013

### Evo8

Is it safe to assume this is a term my professor created?

3. Dec 6, 2013

4. Dec 7, 2013

### Evo8

Thanks for your reply. Im looking through the reference link you posted but i dont see any mention of memory,microcode or microstore. I downloaded the handbook that is linked to that site and am going through that as well. No hits on microstore or code but im looking through various sections that refer to memory.

5. Dec 7, 2013

### rcgldr

That web page will not use the terms microstore or microcode. Microcode usually refers to a programm written in some low level form of machine language, but in this case it means the programming logic used in VHDL.

6. Dec 7, 2013

### Evo8

Ok, I understand.

I still cant seem to find any information about the code presented above. Specifically what the "$" and "%" symbols mean in vhdl language and the "ORG" line at the beginning. The best I can guess with the information ive found is that it is a 4 bit memory string. But thats really a guess from the first line showing "ORG %0000" I cant imagine this code is that complicated here im just missing a few definitions. Any hints are greatly appreciated. In the meantime im still searching the web and the reference you posted. Thank you, 7. Dec 7, 2013 ### Mark44 ### Staff: Mentor I'm not up on VHDL, but I would guess that % at the beginning of a string of numbers means they are in hexadecimal (base-16). Things such as$1 mean (I think) the decimal constant 1.

ORG indicates the address of the first byte of memory for your code.

The lines with Start:, Top:, and End: are labels, targets of the branch (i.e. goto) instructions.

Are you uncertain about what the code is supposed to do? Based on what I think the code is saying, this code is pretty simple.