So Daixiwen I am very interested to know why you keep your PLLs out of Qsys??
I am not surprised how the pins changing thing is a hassle but I’m more surprised there is no tcl script way to keep them straight.
The last time I programmed hardware it was PALASM, ABEL and UV erasable 22V10.
Even though I wrote the code first, I always drew schematics for the programmers and anyone else that I need to explain how things worked for documentation reasons.
It made life easier for everyone involved especially me.
It is really not helpful when the repair/service/assembly technician opens the schematic of the device and there is an abstract block defined by some programming which he doesn’t understand but he does know what a register is and combinatorial logic should do.
I already wish it were different??
Seems to me that Qsys should be able to make a schematic on its own from the VHDL/Verilog if the component had a drawing/graphical object (for lack of a better term) with the pins defined??
Seems like when you “connect things in VHDL a schematic should fall out of that process if the graphical/drawing information existed in the model for that component.
Are you saying that there is not a way to attach a graphical representation to a VHDL/Verilog component because the canned ones from Altera have this even though I suspect/assumed somewhere is a VHDL description underneath the covers somewhere?
So can you see from the “big daddy”/project VHDL file why my clock pin is not connected?
In Quartus if I go to assignments and search for pin E1 I can see it is connected to signal name CLK_FPGA_50M.
Okay fair enough.
I would assume that the pinassignment.tcl script made this assignment from the statement “set_location_assignment PIN_E1 -to CLK_FPGA_50M”
Okay that signal name is assigned to the E1 pin where it should be but I still don’t understand/have no clue how to connect/tie together CLK_FPGA_50M signal to my clk_in input of my clock source component in Qsys.
Seems to me there should be a way/method (I can’t find an example or I am reading over it) to say assign this signal from pin E1 in this case “CLK_FPGA_50M” so it connects to this component in this case my clock source named “ext_clk_50” and its input signal clk_in.
If fact what bothers me more is that in the pinassignment.tcl script I don’t recognize any of the signal names.
Yes I need a couple of buses for the ddram controller but that is not what it is called in my component …..in my component they are called porta and portb.
In the tcl script I have this nonsense set_location_assignment PIN_B3 -to RAM_A0 etc.(there is another statement that makes sense it defines what type of signal/what type of pin to use set_instance_assignment -name IO_STANDARD "1.8 V" -to RAM_A0).
Seems like I have two names for everything how is this helpful?
What purpose does it serve to call the pin something other than what it’s called on the component?.
If I were doing it you would assign the pin the name to a signal of the component like componentname.signalname.
So in my case I would do a command that would look like this set_location_assignment PIN_E1 to ext_clk_50.clk_in.
Apparently (by looking at my big daddy VHDL file and the pinassignment.tcl fil) this double naming is going on everywhere but why would you do his even if you could?