Jump to content
  • 0

Signals From PMOD Basys 3 Ports


AJ_Horto

Question

I recently created a System Verilog code to measure latency between two incoming pulses. I tested it with buttons on the board first and it worked. Now that I'm using the PMOD ports, however, it just keeps on reading that the pulses are always high, though nothing is connected to them. The only thing that I've changed is the XDC file. Why can't I use the PMOD Ports?

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

hi, @D@n and @jpeyron,

I seem to still be having the same problem. The pmod ports, whenever I use them, for any input, are always high, regardless of what I do. Like I said, I tied one of the ports as an input directly into another as an output and directly into an LED. Although the input port had no voltage(when measured by a MultiMeter), the output port had 3.3V and the LED was on.

I have no idea why the PMOD ports aren't allowing inputs(or why the signal is being driven High). If there is any more help that I could receive, it would be much appreciated.

 

Thank You for all of your help,

AJ

Link to comment
Share on other sites

Hi @AJ_Horto,

The mode jumper JP1 should be set to JTAG and not USB. The USB mode is for configuring the FPGA from a USB thumb drive as described in the reference manual  here in section 2.3 USB Host Programming on page 5. 

I was able to get the led's to turn on if i were to touch the exposed pins on the pmod ports. To ensure that there is not a false logic high I added the pull down option in the xdc for the unused pins as well as JA[0] and JA[1]. 

Please configure the Basys 3 with the below attached bits file as well as make sure to have the mode jumper set to JTAG.  led_ja.bit ties the leds to JA[0] and JA[1].  led_jb.bit ties the leds to JB[0] and JB[1].

Did the leds stay on when using the pmod port JA and led_la.bit? 

Did the leds stay on when using the pmod port JB and led_jb.bit? 

best regards,

Jon

 

 

Basys3_sw_Demo.xdc led_ja.bit

led_jb.bit

Link to comment
Share on other sites

I am powering the Basys 3 via USB, and I have both jumpers set to USB for the shorting blocks. Attached are pictures of the setup with your bit file loaded onto it.

The Seven Segment is dimly lit, I assume this to be the same problem from the thread that you recommended me to. I am not very concerned with that one. But as you can see, no inputs are going into the PMOD ports.

Screen Shot 2019-07-09 at 4.34.58 PM.png

Screen Shot 2019-07-09 at 4.35.11 PM.png

Link to comment
Share on other sites

Hi @AJ_Horto,

I haven't used system verilog much but i have used verilog and vhdl much more. I have attached a confirmed basic verilog module that ties 1 led to JA[0] and another led to JA[1](I altered an existing module so the naming convention is incorrect).

Please configure the Basys 3 with the attached bitstream. Does an led turn on when the JA[0] or JA[1] is given 3.3v?

best regards,

Jon

sw_led.v Basys3_sw_Demo.xdc sw_led.bit

Link to comment
Share on other sites

You should be able to accept inputs from the PMod ports without problems.  Be aware, the PMod's are 3.3V.  If you want something else, you'll need a level shifter.  But ... that's about it.

If you do have a problem, please post and we'll help you through whatever it might be,

Dan

Link to comment
Share on other sites

Hello @jpeyron,

Yes, I plan on using a generator to initially test the program. When pulling down signals, does it tie it to a low output?

I also tested something yesterday that has me very confused. I wanted to see V_out on the PMOD ports if they were actually being driven high.

I tied one output port on the PMOD directly to an input from the PMOD. I wanted to see if the the input being seen as high would drive the other port to have 3.3V. And it did exactly that. It seems like I am not supposed to have input from teh PMOD ports?

 

Am I not supposed to input logic into the PMOD Ports?

 

Thank You,

AJ

Link to comment
Share on other sites

Hi @AJ_Horto,

The buttons are tied to gnd unless it is pressed. The buttons are not left floating as shown on page 15 of the reference manual for the Basys 3.  Here is a forum thread that discusses using "BITSTREAM.CONFIG.UNUSEDPIN Pulldown". It might be good to pulldown JA [0] and JA [1] as well.

Are you planning on using a waveform generator when testing JA [0] and JA [1]?

best regards,

Jon

Link to comment
Share on other sites

Unfortunately, Still no. I'm rerunning an implementation for using the buttons to test. I could connect the pins to two of the *buttons* on the FPGA and run the pulses through those, but I'd prefer to use the headers.

 

Thank You so much for your quick replies,

AJ

Link to comment
Share on other sites

Hi @AJ_Horto,

Did you change the pin names in your system verilog to match the JA[0] and JA[1]?

Might be easier to just change the xdc JA [0] and JA [1] pin names to btnl and btnr if you haven altered the system verilog file. 

please attach the top/wrapper file for your system verilog for the previous and current project.

best regards,

Jon

 

Link to comment
Share on other sites

Attached is the xdc that I used. When I switched to the JA PMOD ports, all I did was comment out the btnl and btnr pins, and uncomment the JA[0] and JA[1] pins. It's not the same as the master xdc, but the other parts of the xdc have linked up just fine.

Thank You so much for your help!

AJ

Screen Shot 2019-07-08 at 4.56.49 PM.png

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...