Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
10 Views

Creation of libraries and components

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