Microcode and microstore in VHDL?

  • Thread starter Thread starter Evo8
  • Start date Start date
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
6 replies · 3K views
Evo8
Messages
168
Reaction score
0

Homework Statement


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 textbooks 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 referring 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 I am really not finding much on this one.

Thanks for any help!
 
on Phys.org
Is it safe to assume this is a term my professor created?
 
rcgldr said:
Microstore is the equivalent of memory in VHDL. Microcode would be the equivalent of the program like part of the VHDL language. Link to a reference:

http://www.csee.umbc.edu/portal/help/VHDL/index.shtml

Thanks for your reply. I am looking through the reference link you posted but i don't 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 I am looking through various sections that refer to memory.
 
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.
 
Ok, I understand.

I still can't 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 I've found is that it is a 4 bit memory string. But that's really a guess from the first line showing "ORG %0000"

I can't imagine this code is that complicated here I am just missing a few definitions. Any hints are greatly appreciated. In the meantime I am still searching the web and the reference you posted.

Thank you,
 
Evo8 said:
Code:
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
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.