"ack" is reserved keyword in VHDL?

R

rl

Consider the piece of code below, "ack" is not declared, yet it does
not give any compiler/synthesiser errors. Why is this, is "ack"
somehow reserved?

ENTITY test IS
PORT
(
output : OUT bit
);
END ENTITY;

ARCHITECTURE rtl OF test IS
BEGIN
output <= '1' WHEN (ack = '1') ELSE '0';
END rtl;
 
H

HT-Lab

rl said:
Consider the piece of code below, "ack" is not declared, yet it does
not give any compiler/synthesiser errors. Why is this, is "ack"
somehow reserved?

ENTITY test IS
PORT
(
output : OUT bit
);
END ENTITY;

ARCHITECTURE rtl OF test IS
BEGIN
output <= '1' WHEN (ack = '1') ELSE '0';
END rtl;

Yes, it is defined in the STD package;

package standard is
type boolean is (false,true);
type bit is ('0', '1');
type character is (
nul, soh, stx, etx, eot, enq, ack, bel,
bs, ht, lf, vt, ff, cr, so, si,
dle, dc1, dc2, dc3, dc4, nak, syn, etb,
can, em, sub, esc, fsp, gsp, rsp, usp, ......


Hans
www.ht-lab.com
 
K

kennheinrich

Yes, it is defined in the STD package;

package standard is
type boolean is (false,true);
type bit is ('0', '1');
type character is (
nul, soh, stx, etx, eot, enq, ack, bel,
bs, ht, lf, vt, ff, cr, so, si,
dle, dc1, dc2, dc3, dc4, nak, syn, etb,
can, em, sub, esc, fsp, gsp, rsp, usp, ......

Hanswww.ht-lab.com

If you actually have ack defined in your architecture as a signal, it
should hide standard's enum definition anyway. It's not that it's a
reserved word, it's just that the definition in 'standard' happens to
be visible there. You can hide it again with a local definition and
have no problem.

- Kenn
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top