D
David Ashley
Guest
Hi,
I'm studying opencores DDR controller here:
http://www.opencores.org/pdownloads.cgi/list/ddr_sdr
In file ddr_sdr.vhd here is an excerpt:
architecture behave of ddr_sdr is
-- User Interface
component user_if is
port (
rst_int_n : in std_logic; -- async reset, lo-active
sys_clk : in std_logic;
-- user interface
cmd : in std_logic_vector(U_CMD_WIDTH -1
downto 0); -- command: read, write, nop
cmd_vld : in std_logic;
addr : in std_logic_vector(U_ADDR_WIDTH-1
downto 0); -- ROW, BANK, COLUMN
busy_q : out std_logic; -- busy flag, when
active commands are ignored
-- Datenaustausch mit Controller
init_finished : in boolean;
new_cmd_q : out boolean;
new_cmd_ack : in boolean;
do_prech_q : out boolean; -- precharge followed by
activate
do_wait_q : out boolean; -- additional delay requested
cmd_q : buffer std_logic_vector(U_CMD_WIDTH -1
downto 0);
addr_q : out std_logic_vector(U_ADDR_WIDTH -1
downto 0)
);
end component;
-- Global Buffer BUFG
component bufg
port ( i : in std_ulogic;
o : out std_ulogic );
end component;
-- pragma translate_off
for all: bufg use entity unisim.bufg;
-- pragma translate_on
---CUT
My question is, in all the syntax rules I can find the
"for all: bufg use entity unisim.bufg;" seems like an error.
Why isn't it
for all: bufg
use entity unisim.bufg;
end for;
Where is the "end for;"?
Is this related to the "-- pragma translate_off"?
And more important, WTF is " -- pragma translate_off" supposed
to be doing?
What is all this VOODOO here?
Thanks!
-Dave
I'm studying opencores DDR controller here:
http://www.opencores.org/pdownloads.cgi/list/ddr_sdr
In file ddr_sdr.vhd here is an excerpt:
architecture behave of ddr_sdr is
-- User Interface
component user_if is
port (
rst_int_n : in std_logic; -- async reset, lo-active
sys_clk : in std_logic;
-- user interface
cmd : in std_logic_vector(U_CMD_WIDTH -1
downto 0); -- command: read, write, nop
cmd_vld : in std_logic;
addr : in std_logic_vector(U_ADDR_WIDTH-1
downto 0); -- ROW, BANK, COLUMN
busy_q : out std_logic; -- busy flag, when
active commands are ignored
-- Datenaustausch mit Controller
init_finished : in boolean;
new_cmd_q : out boolean;
new_cmd_ack : in boolean;
do_prech_q : out boolean; -- precharge followed by
activate
do_wait_q : out boolean; -- additional delay requested
cmd_q : buffer std_logic_vector(U_CMD_WIDTH -1
downto 0);
addr_q : out std_logic_vector(U_ADDR_WIDTH -1
downto 0)
);
end component;
-- Global Buffer BUFG
component bufg
port ( i : in std_ulogic;
o : out std_ulogic );
end component;
-- pragma translate_off
for all: bufg use entity unisim.bufg;
-- pragma translate_on
---CUT
My question is, in all the syntax rules I can find the
"for all: bufg use entity unisim.bufg;" seems like an error.
Why isn't it
for all: bufg
use entity unisim.bufg;
end for;
Where is the "end for;"?
Is this related to the "-- pragma translate_off"?
And more important, WTF is " -- pragma translate_off" supposed
to be doing?
What is all this VOODOO here?
Thanks!
-Dave