Author Topic: Elegant way to select output type from a register or wire ?  (Read 743 times)

0 Members and 1 Guest are viewing this topic.

Offline tchiwamTopic starter

  • Regular Contributor
  • *
  • Posts: 134
  • Country: ca
Is there a way to switch the output type from a register or wire ?

In some cases I want LVCMOS33 output and in other cases it will be LVDS25
Would also be nice to set other goodies like termination etc...

The nicest way I have found so far is LVCMOS33 with out and !out



 

Offline Someone

  • Super Contributor
  • ***
  • Posts: 4913
  • Country: au
    • send complaints here
Re: Elegant way to select output type from a register or wire ?
« Reply #1 on: March 25, 2023, 09:33:22 pm »
Those are two entirely different things.

Is there a way to switch the output type from a register or wire ?
Systemverilog does that.

In some cases I want LVCMOS33 output and in other cases it will be LVDS25
Would also be nice to set other goodies like termination etc...
Tool/vendor specific, usually you need to use device primitives and or external constraints.
 

Offline BrianHG

  • Super Contributor
  • ***
  • Posts: 8076
  • Country: ca
Re: Elegant way to select output type from a register or wire ?
« Reply #2 on: March 25, 2023, 10:20:20 pm »
Termination can be selected via soft control on most modern FPGAs.  Read up on your FPGA's advanced IO buffer primitive.  Note that this is advanced and you will need to use a different custom primitive for every FPGA vendor and every different FPGA series that vendor sells.

Voltage cannot be adjusted as it is a function of wiring the VCCIO pin for that IO bank.

Unless you are running at the high megabit/gigabit, using one IO voltage for both 3.3v/2.5v with a software adjustable termination sequence, you can achieve functionality as long as you don't exceed the input max voltage compared to VCCIO wiring and use a true differential input instead of a emulated differential input.  However, expect diminished peak performance with regard to bitrate, noise, and precision timing alignment.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf