Microcode and microstore in VHDL?

  • Thread starter Thread starter Evo8
  • Start date Start date
Click For Summary

Discussion Overview

The discussion revolves around understanding the concepts of microcode and microstore in the context of VHDL, particularly in relation to a homework assignment involving a specific microcode program. Participants seek clarification on terminology and the interpretation of specific symbols used in the provided code.

Discussion Character

  • Homework-related
  • Exploratory
  • Technical explanation

Main Points Raised

  • One participant expresses difficulty in finding useful resources on microcode and microstore in VHDL, indicating a gap in their course materials.
  • Another participant questions whether the terms "microcode" and "microstore" are unique to the professor's teaching.
  • Some participants propose that microstore refers to memory in VHDL, while microcode is likened to the programming logic used in VHDL.
  • There is a suggestion that microcode typically refers to a low-level machine language program, but in this context, it relates to VHDL programming logic.
  • A participant seeks clarification on specific symbols in the provided code, such as "$" and "%", and the meaning of the "ORG" line, speculating that it indicates a 4-bit memory string.
  • Another participant offers interpretations of the code, suggesting that "%" indicates a hexadecimal representation and "$1" represents the decimal constant 1, while explaining the purpose of labels in the code.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the definitions and implications of microcode and microstore, with multiple interpretations and uncertainties expressed regarding the specific VHDL code and terminology.

Contextual Notes

Participants note limitations in available resources and definitions, and there is uncertainty regarding the meanings of specific symbols and the overall structure of the code presented.

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!
 
Physics news 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.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
7K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
12K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K