element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Autodesk EAGLE
  • Products
  • More
Autodesk EAGLE
EAGLE User Support (English) Generate schematic automatically from FPGA pi nout?
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Autodesk EAGLE to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 5 replies
  • Subscribers 178 subscribers
  • Views 1230 views
  • Users 0 members are here
Related

Generate schematic automatically from FPGA pi nout?

autodeskguest
autodeskguest over 11 years ago

Hi,

 

I used to create FPGA schematic manually but my last project has a 1500pins

FPGA and I would like to automate things to avoid errors and also save some

time.

I am a beginner in ULP scripts so I would appreciate some advice.

 

I didn't find any way to automate passing from FPGA pinout in (Quartus .qsf

file for example) to board schematic.

I have this procedure in mind:

- create FPGA symbol/package with "make-symbol-device-package-bsdl.ulp"

(already done)

- add a FPGA part on a schematic sheet

Then an ulp script has to:

- Parse Altera pinout file (qsf) to extract signal and pin names

- For each fpga symbol pin mentioned in the FPGA pinout file:

=> Trace and connect a wire to the fpga symbol pin

=> Label this wire with the signal name from .qsf file and display the

name

 

Example:

set_location_assignment PIN_A7 -to sensor_clk (from fpga pinout file)

This statement leads to the creation a wire named "sensor_clk" connected to

fpga pin A7.

 

Is it possible to do something like that?

I really didn't know how to start. I gave a look at "cmd-net-list2sch.ulp"

script but I can't make it work for a bga component.

 

Thanks in advance for helping.

 

--

Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

 

  • Sign in to reply
  • Cancel
Parents
  • autodeskguest
    autodeskguest over 11 years ago

    On 20/01/2014 11:25 p.m., gg wrote:

    Hi,

     

    I used to create FPGA schematic manually but my last project has a 1500pins

    FPGA and I would like to automate things to avoid errors and also save some

    time.

    I am a beginner in ULP scripts so I would appreciate some advice.

     

    I didn't find any way to automate passing from FPGA pinout in (Quartus .qsf

    file for example) to board schematic.

    I have this procedure in mind:

    - create FPGA symbol/package with "make-symbol-device-package-bsdl.ulp"

    (already done)

    - add a FPGA part on a schematic sheet

    Then an ulp script has to:

    - Parse Altera pinout file (qsf) to extract signal and pin names

    - For each fpga symbol pin mentioned in the FPGA pinout file:

    => Trace and connect a wire to the fpga symbol pin

    => Label this wire with the signal name from .qsf file and display the

    name

     

    Example:

    set_location_assignment PIN_A7 -to sensor_clk (from fpga pinout file)

    This statement leads to the creation a wire named "sensor_clk" connected to

    fpga pin A7.

     

    Is it possible to do something like that?

    I really didn't know how to start. I gave a look at "cmd-net-list2sch.ulp"

    script but I can't make it work for a bga component.

     

    Thanks in advance for helping.

     

    .

     

    Totally do-able with a ULP. I imagine the process would be something

    like this:

    run MyULP.ulp

    Dialog opens and you enter the FPGA name from the schematic (say U1)

    In that same dialog you select the .qsf file of interest.

    ULP parses the  file and matches pin names to qsf data

    Identifies pin location,direction, and creates a script that runs when

    the ULP ends

     

    It draws a short named net wire out from the pin in the appropriate

    direction and labels it with the signal name.

     

    This is exactly as you imagined.

     

    Quartus has other export file types that may be easier to parse than .qsf

     

    Down side of the idea is schematic symbols stay presented by pin number

    and not signal grouping but you need only have one library part for the

    device type.

     

    HTH

    Warren

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • autodeskguest
    autodeskguest over 11 years ago

    On 20/01/2014 11:25 p.m., gg wrote:

    Hi,

     

    I used to create FPGA schematic manually but my last project has a 1500pins

    FPGA and I would like to automate things to avoid errors and also save some

    time.

    I am a beginner in ULP scripts so I would appreciate some advice.

     

    I didn't find any way to automate passing from FPGA pinout in (Quartus .qsf

    file for example) to board schematic.

    I have this procedure in mind:

    - create FPGA symbol/package with "make-symbol-device-package-bsdl.ulp"

    (already done)

    - add a FPGA part on a schematic sheet

    Then an ulp script has to:

    - Parse Altera pinout file (qsf) to extract signal and pin names

    - For each fpga symbol pin mentioned in the FPGA pinout file:

    => Trace and connect a wire to the fpga symbol pin

    => Label this wire with the signal name from .qsf file and display the

    name

     

    Example:

    set_location_assignment PIN_A7 -to sensor_clk (from fpga pinout file)

    This statement leads to the creation a wire named "sensor_clk" connected to

    fpga pin A7.

     

    Is it possible to do something like that?

    I really didn't know how to start. I gave a look at "cmd-net-list2sch.ulp"

    script but I can't make it work for a bga component.

     

    Thanks in advance for helping.

     

    .

     

    Totally do-able with a ULP. I imagine the process would be something

    like this:

    run MyULP.ulp

    Dialog opens and you enter the FPGA name from the schematic (say U1)

    In that same dialog you select the .qsf file of interest.

    ULP parses the  file and matches pin names to qsf data

    Identifies pin location,direction, and creates a script that runs when

    the ULP ends

     

    It draws a short named net wire out from the pin in the appropriate

    direction and labels it with the signal name.

     

    This is exactly as you imagined.

     

    Quartus has other export file types that may be easier to parse than .qsf

     

    Down side of the idea is schematic symbols stay presented by pin number

    and not signal grouping but you need only have one library part for the

    device type.

     

    HTH

    Warren

     

     

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • autodeskguest
    autodeskguest over 11 years ago in reply to autodeskguest

    Yes you are right. After reading some ulp examples and ulp doc this was not

    so complicated.

     

    The script 'cmd-net-list2sch.ulp' helps a lot to understand how to access:

    - Pin.name

    - Pin.coord(x, y)

    - trace and label wires with 'NET' and 'LABEL' commands

     

    To parse quartus qsf file I just search for string "set_location_assignment

    PIN_". Then its easy to get pin and signal names.

     

    Finally loop on fpga schematic pins and compare Pin.name to the name

    extracted from .qsf and trace a wire if name are the same.

    --

    Web access to CadSoft support forums at www.eaglecentral.ca.  Where the CadSoft EAGLE community meets.

     

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube