Microcode and microstore in VHDL?

  • Thread starter Evo8
  • Start date
In summary: It sets up two variables, B and C, and then adds them together. It stores the result in C, and if the Z flag is set, it goes to the next line and sets C to B - 1.
  • #1
Evo8
169
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
  • #2
Is it safe to assume this is a term my professor created?
 
  • #3
  • #4
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.
 
  • #5
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
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,
 
  • #7
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.
 

1. What is microcode and microstore in VHDL?

Microcode refers to the instructions that are used by a microprocessor to perform specific functions. It is a low-level code that is directly executed by the hardware. Microstore, on the other hand, is the storage location for microcode instructions. In VHDL (VHSIC Hardware Description Language), microcode and microstore are used to design and implement microprocessors and other digital systems.

2. How are microcode and microstore implemented in VHDL?

In VHDL, microcode and microstore can be implemented using behavioral or structural design methods. In behavioral design, the microcode and microstore are described using algorithms and equations. In structural design, the microcode and microstore are represented using logic gates and other hardware components.

3. What is the role of microcode and microstore in a microprocessor?

Microcode and microstore are essential components of a microprocessor. Microcode provides the instructions for the microprocessor to carry out specific tasks, while microstore stores these instructions for the microprocessor to access when needed. They work together to execute the instructions and perform the intended functions of the microprocessor.

4. Can microcode and microstore be modified in VHDL?

Yes, microcode and microstore can be modified in VHDL. In fact, one of the advantages of using VHDL is that it allows for easy modification and testing of microcode and microstore. This flexibility is especially useful during the design and development stages of a microprocessor.

5. Are there any limitations to using microcode and microstore in VHDL?

One limitation of using microcode and microstore in VHDL is that it may require a longer design and development process compared to using pre-designed microprocessors. Additionally, implementing microcode and microstore in VHDL may also require a certain level of expertise in hardware design and programming.

Similar threads

  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
4
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
7
Views
1K
  • Programming and Computer Science
Replies
12
Views
961
  • Engineering and Comp Sci Homework Help
Replies
1
Views
1K
  • Engineering and Comp Sci Homework Help
Replies
5
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
8
Views
2K
  • Engineering and Comp Sci Homework Help
Replies
9
Views
3K
  • Engineering and Comp Sci Homework Help
Replies
2
Views
997
  • Programming and Computer Science
Replies
2
Views
842
Back
Top