Forum Discussion
Altera_Forum
Honored Contributor
12 years agoPin Planner LVDS Differential Pair Selection
I am fighting Pin Planner at every turn. In my QSF file, I have the following:
set_location_assignment PIN_T22 -to "HSMC_RX_D_N(n)"
set_instance_assignment -name IO_STANDARD LVDS -to "HSMC_RX_D_N(n)"
When I import assignments and view them in either Assignment Editor or Pin Planner, the signals are not set to LVDS, they are not differential. However, when I use Pin Planner and set a signal as LVDS, it then sets the negative pair as the current signal with an extra (n). So my "HSMC_RX_D_N[15](n)" becomes "HSMC_RX_D_N[15](n)(n)" and "HSMC_RX_D_P[15]" becomes "HSMC_RX_D_P[15](n)". And then Pin Planner creates several "fake" signals N(n)(n) or P(n) that have the same location as the actual signals. Then when I compile the design, I get location errors. I'm using "iobuf" from the megawizard to make the differential signals single ended. My two questions: 1.) How do i properly (manually even) set the signals in my QSF file so they they import properly (LVDS, differential, paired). 2.) How do I make Pin Planner stop being so mean to me? Thanks13 Replies
- Altera_Forum
Honored Contributor
--- Quote Start --- I'm not afraid of actually soldering, it's just they're super tiny components. And I don't want to solder them only to have to remove them because the FPGA board is used for something else. --- Quote End --- I doubt they are that small ... I was soldering 0201 (1mm x 0.5mm) parts last week ... those things are too small, so I'll make sure to stick with 0402 next time I design a board :) Removal is pretty easy, you just wipe a hot soldering iron over both ends of the part and they come off really easily. Like I said, so long as you're not trying to do performance measurements, you're probably fine leaving the terminations off. --- Quote Start --- The Pin Planner tool keeps locking me out from making changes after I select LVDS. Either it will prevent me from changing something (ignore my change) or prevent me from deleting something. --- Quote End --- Go to the "Assignments Editor" and make the edits there. You can also go to "Project->Generate Tcl File for Project", edit that file (remove the redundant (n) assignments), then use "Assignments->Remove Assignments" and remove all assignments, and then source the edited Tcl file. I generate all my projects by sourcing Tcl files, rather than the GUI. It makes it much easier to create designs. Take a look at the attached example. It includes differential LVDS constraints. Look at the constraints file in scripts/constraints.tcl, and look at the "Project->Generate Tcl File for Project" script in qwork/s4gxdk.tcl to see how those constraints resolve to Altera's constraints. Cheers, Dave - Altera_Forum
Honored Contributor
Thank you so much for the files. I will be sure to put them to good use! I was trying to use import / export from the assignments tab and was annoyed that it wasn't working.
Thanks again. - Altera_Forum
Honored Contributor
--- Quote Start --- Thank you so much for the files. I will be sure to put them to good use! --- Quote End --- Ask questions if you wonder why I did something the way I did. My scripts should be fairly obvious once you compare them to the Altera generated script, i.e., mine are more concise and readable :) --- Quote Start --- I was trying to use import / export from the assignments tab and was annoyed that it wasn't working. --- Quote End --- Tcl scripting is the way to go to control Quartus and Modelsim. Cheers. Dave