P
PlayDough
Guest
I'm interested in hearing opinions on the use of libraries for
synthesizable code.
Compare the following structural RTL:
architecture structure of system_top is
begin
inst1 : entity work.comp1
port map
(
);
inst2 : entity work.comp2
port map
(
);
inst3 : entity work.comp3
port map
(
);
end architecture structure;
versus this:
library comp1_lib;
library comp2_lib;
library comp3_lib;
architecture structure of system_top is
begin
inst1 : entity comp1_lib.comp1
port map
(
);
inst2 : entity comp2_lib.comp2
port map
(
);
inst3: entity comp3_lib.comp3
port map
(
);
end architecture structure;
What are the arguments for the former versus the latter? In the end,
during synthesis, the library names do not matter. The only advantage
I can see is if there are identically named entities collision could
occur with the former construct. Using separate libraries eliminates
this possible collision.
Any other tradeoffs?
Thanks,
Pete
synthesizable code.
Compare the following structural RTL:
architecture structure of system_top is
begin
inst1 : entity work.comp1
port map
(
);
inst2 : entity work.comp2
port map
(
);
inst3 : entity work.comp3
port map
(
);
end architecture structure;
versus this:
library comp1_lib;
library comp2_lib;
library comp3_lib;
architecture structure of system_top is
begin
inst1 : entity comp1_lib.comp1
port map
(
);
inst2 : entity comp2_lib.comp2
port map
(
);
inst3: entity comp3_lib.comp3
port map
(
);
end architecture structure;
What are the arguments for the former versus the latter? In the end,
during synthesis, the library names do not matter. The only advantage
I can see is if there are identically named entities collision could
occur with the former construct. Using separate libraries eliminates
this possible collision.
Any other tradeoffs?
Thanks,
Pete