Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
17255 Discussions

create megawizard components without megawizard

Altera_Forum
Honored Contributor II
2,779 Views

Hello all, 

 

I am trying to do as much as possible with the commandline and tcl scripts. Now I know it is possible to create some already defined component with the megawizard, but I don't know how to create this component without the wizard. I have found the tcl files and a Verilogfile, but I don't think i should change the Verilog file myself. How do I know which information I should transfer to where? For Example I am trying to use the pll and give it two output clocks, how do I define these clocks? 

 

Greetings, 

ZeMoi
0 Kudos
9 Replies
Altera_Forum
Honored Contributor II
808 Views

 

--- Quote Start ---  

Hello all, 

 

I am trying to do as much as possible with the commandline and tcl scripts. Now I know it is possible to create some already defined component with the megawizard, but I don't know how to create this component without the wizard. I have found the tcl files and a Verilogfile, but I don't think i should change the Verilog file myself. How do I know which information I should transfer to where? For Example I am trying to use the pll and give it two output clocks, how do I define these clocks? 

 

Greetings, 

ZeMoi 

--- Quote End ---  

 

 

 

I hope I understood your question. 

 

If all output clocks of the Pll were enabled, when generating the Pll with the Megawizard, you can change the Verilog. I think you just have to find the according lines and write the clk-frequency and phase shift that you need.  

Best way is to generate for example several plls with the megawizard and compare the verilog/vhdl files.
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

Thanks for your answer, I think you understood the question enough to give me an answer with value. 

 

But what you say would sound like I am reinventing the wheel, since there already is a description and the megawizard only fills in these variable values. There are these tcl files, which I assume will take care of how the wizard generates that module. I have been writing in VHDL and this root file for the wizard is a .v file, so I don't like the tought I should change anything in the Verilog file. I might write something down what I didn't intent to be interpreted that way.
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

So you want to change the scripts from altera that generate the Pll? 

 

I don't understand why you only want to work with scripts. It will make life harder for you than it is. Why don't you just call the Megawizard? You will need it a few times for a project.
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

Because I don't know exactly which quartus will be used by the user, all have to be done automatically and I don't want to need the user for making the design. Ofcourse I need the user in first place to know he wants to make. But than Everything he wants has to be found, put together, compile and make a programfile. If it is possible to call the megawizard in come cmd way or tcl way thats fine too, but I just dont want to be dependend on the gui. 

 

No I don't want to change the scripts, I only want to know what information the scripts need to generate that file. 

(I thought they had fixed the database errors..)
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

Hi, 

you could use the librarys from altera (in VHDL case they are in altera_mf)... 

 

in my case I use them for creating fifos and it works fine...
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

So when you are making such a fifo, you could use the dcfifo component. 

Than there are all kinds of generics, most can be changed to the opposite value, but how about the other values? 

you could change delay_rdusedw to any natural value you like?  

Also there are some inputs and outputs ofcource, how would you know which ones you need and which ones you can leave out? 

I assume there must be some specification somewhere, am I right? 

When looking for it I only seem to get some other documentation I wasn't looking for, so I am probably using the wrong search terms. 

 

The pll component has a lot more ports and generics than the dcfifo:(
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

yes, the PLL has a load of generics, and I wouldnt trust myself to set them all, so I would always use the megawizard for this. Plus as new technologies come along they add more generics to the PLL definition that means that one instantiated with Q13 may not be backwards compatible with 12 etc because of the extra generics. 

 

Stuff like FIFOs and Altsyncrams dont change a lot over time, so you should be ok.
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

I didn't use this for pll yet, but there are like Tricky said some tricky things, also if you change for example from Cyclone III to Cyclone V with the pll, so I use the Megawizard or Qsys for this things... 

Sorry!
0 Kudos
Altera_Forum
Honored Contributor II
808 Views

That is indeed the thing, I am afraid I won't set all the neccesary ports the way it is intended. 

The design should be recreated every time another tool is used, so would that mean I don't have the problem with the backwards compatibility anymore? Or would that only be when I create it every design with the megawizard? 

Forgot to find out if there is a way to use the megawizard via tcl, so I am reading that also.
0 Kudos
Reply