EmbDev.net

Forum: FPGA, VHDL & Verilog Confused about this VHDL Type


Author: Martin M. (martin_m19)
Posted on:

Rate this post
0 useful
not useful
I'm reading a textbook chapter on A simple Processor Design with VHDL 
for FPGA
What i don't understand is some of the defines he makes in a package to 
make the description of the processor simpler.
The snippet i'm having trouble with is here http://pastebin.com/qBV04SdP
I do not understand "IMEMArray" type and its purpose
The text book says "The subtype IMem_array is used in an implementation 
as the type of the instruction memory"
But isn't the type "instruction_array" a type for ROM.
So wouldn't "IMemArray" be a array of several memories?

Author: Duke Scarring (Guest)
Posted on:

Rate this post
0 useful
not useful
      constant IMem_addr_width : positive := 12;
      constant IMem_size : positive := 2**IMem_addr_width;
      subtype IMem_addr is unsigned(IMem_addr_width - 1 downto 0);
       
      subtype instruction is unsigned(17 downto 0);
      type instruction_array is array (natural range <>) of instruction;
       
      subtype IMem_array is instruction_array(0 to IMem_size - 1);
> But isn't the type "instruction_array" a type for ROM.
Yes.

> So wouldn't "IMemArray" be a array of several memories?
Yes.
So the title of the book should be: "A obscured Processor Design 
with..." ;-)

Duke

Author: Martin M. (martin_m19)
Posted on:

Rate this post
0 useful
not useful
Okay :)
Thanks, I don't think he actually uses it anywhere so should be fine.

Author: Andreas Schwarz (andreas) (Admin) Flattr this
Posted on:

Rate this post
0 useful
not useful
Your interpretation is not correct. instruction_array is an array type 
with unspecified size. IMem_array is just a subtype where the size of 
the array is specified.

Author: Duke Scarring (Guest)
Posted on:

Rate this post
0 useful
not useful
Ok. You are are right.
I usually have only one instruction memory array. And this is usually 
(or unfortunately?) not unconstrained :-)

So I'm not very familiar with the unconstrained array construct.

Duke

Author: Martin M. (martin_m19)
Posted on:

Rate this post
0 useful
not useful
Andreas Schwarz thanks that's clears it up then.

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.