• 0
logicmonkey

Basys3 - adding an input via the JA Pmod header

Question

hi - i have an issue i just cannot find the answer for.

i have a working design. the design takes the output of a relay as input in the real world.

however, for development purposes i have a test mode that muxes a dummy input to my system from a block generating pseudo random sequences off an LFSR.

i have tried to add the real world input as coming in from JA[0], so i have uncommented the lines in my constraints file:

set_property PACKAGE_PIN B13 [get_ports {mysensor}]
set_property IOSTANDARD LVCMOS33 [get_ports {mysensor}]

mysensor is the single bit input name on my top level design VHDL entity

the original lines were commented out:

#set_property PACKAGE_PIN B13 [get_ports {JA[0]}]
#set_property IOSTANDARD LVCMOS33 [get_ports {JA[0]}]

but i get DRC errors and the flow falls over before bitgen

there is a suggested work around to relax the pin location constraint but i'm reluctant to try it.

can anyone help here? is there some other place where i need to say i want this input?

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Hi @logicmonkey,

If you can please share you wrapper. As for the xdc. Here is the Basys 3 xdc. It shows the constraint for JA[0] is:

 #set_property PACKAGE_PIN J1 [get_ports {JA[0]}]

#set_property IOSTANDARD LVCMOS33 [get_ports {JA[0]}]

for your project it should be:

set_property PACKAGE_PIN J1 [get_ports { mysensor  }]

set_property IOSTANDARD LVCMOS33 [get_ports { mysensor }]

 

cheers,

Jon

 

Share this post


Link to post
Share on other sites
  • 0

thanks Jon -  J1 has worked a whole load better than B13!

it wouldn't have occurred to me that a file called Basys3_Master.xdc with the first line reading "## This file is a general .xdc for the Basys3 rev B board" and copied from the GPIO_Demo source code project would be wrong.

but in my file the pin locations fed by the headers are all completely different from the one you linked at github.

i shall take a copy from there and update all my local versions accordingly.

many thanks!

Share this post


Link to post
Share on other sites
  • 0

TL;DR don't use the GPIO project xdc as a reference when you want the Pmod headers

 

i checked my source files and it looks as though the problem comes from the .xdc in here:

https://github.com/Digilent/Basys3/tree/master/Projects/GPIO/src/constraints

B13 is a bad pin for JA[0] - it should be J1 (as stated above). and in fact, ALL the Pmod header to device pin mappings mismatch against the other projects.

it looks as though the error is confined to just this one file on just the GPIO project

 

Share this post


Link to post
Share on other sites
  • 0

No problem.

Here is the design in action - it's a kayaking trainer. I wanted to count flywheel revolutions so that I can calculate power output and log training sessions. I guess it's a standard data logging application. It was fun.

I'm now considering a super accurate version that times the periods between each sensor event - but this will do the job well enough.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now