Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
15322 Discussions

Creation of libraries and components

grayscales
Beginner
169 Views

Hi all,

I am a beginner with both VHDL and Quartus and I have a question regarding libraries and components.

I am trying to create a personal library which will contain different packages with functions and different components so I can reuse them easily between designs.

Right now, to learn how to use this I am trying to create a package which will contain different logic gates (typical stuff, and gates and such).

I have the following .vhd files in my project:

  • .vhd files which contain one gate entity each: and_gate.vhd, or_gate.vhd
  • .vhd file with a package with the components for those entities: my_gates_pkg.vhd
  • Top entity where I try to use the components from the library: top_entity.vhd

In the gate files and package I have added the directive:

                 --synthesis library my_library

So they are compiled into the “my_library” library.

Right now, for it to work I need to add all files to the project: and_gate.vhd, or_gate.vhd, my_gates_pkg.vhd and top_entity.vhd.

Then in the top_entity I write:

                      library my_library;

                      use my_library.my_gates_pkg.all;

And in the architecture of top_entity.vhd I use the component like this:

                      First_gate: and_gate port map(a => a, b => b, f => f);

The problem I have is that in the future when the number of components grows, I will have to add dozens of files to the project. Which I think is inconvenient and I am sure there must be a better way to do this.

Is there a way to only have to point to a place to make this work? I was thinking that the Libraries tab in the Settings window would work, but I have not managed to make it work. I pointed the Global Library to the folder where the .vhd files are located but I did not succeed, I still had to have all files added to the project.

Ideally I would like to have my component files and the package files in a separate directory and have Quartus point to the library where all the packages are. 

I have tried to find an answer on the internet for some hours but I have not managed to find an answer. Sorry if I have missed the answer somewhere.

Thank you for time

 

 

 

 

0 Kudos
0 Replies
Reply