cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Visitor
Visitor
447 Views
Registered: ‎09-08-2020

Kintex 7 pin assignment for USB serial communication

Hello,,

I'm new to FPGA world, and I'm trying to implement a serial UART communication with my PC using USB-b port on board k7325t, I need to know which pins names (i.e. M12, B5, J1...) should be assigned to TxD and RxD on the verilog module I created? How to know that pin J1 or K13 for example corresponds to certain output or input on the board?

Thank you in advance.

Regards

0 Kudos
13 Replies
Highlighted
433 Views
Registered: ‎07-23-2019

 

IO locations are defined in the constraints file. Create yours (Add sources, constraint file, etc).

As I suppose you know nothing about constraints, you may want to read this:

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2018_3/ug903-vivado-using-constraints.pdf

Maybe too much for just learning how to place pins....

A shorter way is:

- Synthesize your design (not implement)

- Open the synthesized design. you will see a diagram of the chip pins, if not, click on the I/O planning layout)

- click on the I/O ports in the tabs at the bottom.

- Click and drag your ports in the tab, to the physical pins in the package diagram.

- Select other pin parameters, like the standard, bank voltage, pull up/downs, impedance terminations, etc

- When done, click save or CTRL-S, it will ask you what constraints file to save the changes, select 'create new'

- Close the synthesized design. check you have that file created in the sources panel. Open it and have a look how the constraints are created. If you need to change the pins, you can just edit the constraints there.

- Now, implement it and make your bitstream.

 

0 Kudos
Highlighted
Visitor
Visitor
360 Views
Registered: ‎09-08-2020

Hello archangel,,

Sorry for the late reply.

I followed your instructions they were very helpful thank you, but my problem still hasn't been solved. After viewing the I/O planning, I saw the pinout map of the device, but it only told me what's the name and function of each pin, it didn't tell me for example that this pin M12 is an onboard led, or the UART Tx or Rx. I've looked online and it said something about a master XDC file for each board, which I haven't found. I'm so lost, all I want is to connect the FPGA through the usb-b connector, which I've no idea what its pins' names are? Can you give me any guidance to that?

Regards..

0 Kudos
Highlighted
358 Views
Registered: ‎07-23-2019

 

Yes, that's actually an important step. If your design is a block diagram with an HDL wrapper, then you need to assign meaningful names to the ports in the BD. 

 

0 Kudos
Highlighted
356 Views
Registered: ‎07-23-2019

Most dev boards have "board files" that you can "install" (copy paste actually) into the Vivado installation folder so when you create a project, you can select the board instead of the part and many settings are available. 

Which board are you using? (k7325t is not a board)

0 Kudos
Highlighted
Visitor
Visitor
345 Views
Registered: ‎09-08-2020

I don't really understand the difference. It's called k7325t, how isn't it a board? I've found some information about evaluation boards but I didn't get what is it used for? something called xc705 I believe for testing projects targeting kintex FPGAs. 
Maybe the misconception is the term board? I'm not sure. 
I've zero knowledge in Xilinx FPGAs world. 

0 Kudos
Highlighted
333 Views
Registered: ‎07-23-2019

 

From 0 to USB on Kintex-7? "fast pace" as they call it. Enjoy the speed.

For example KC705 is a development board:

https://www.xilinx.com/products/boards-and-kits/ek-k7-kc705-g.html

And the FPGA part (chip) it has is: XC7K325T-2FFG900C

Is that yours?

 

0 Kudos
Highlighted
Visitor
Visitor
328 Views
Registered: ‎09-08-2020

I've worked with microcontrollers and other electronics fields, I've taken a big course on FPGAs but it was designed for Intel's Altera. But this particular project I'm participating in is using a Xilinx chip which I thought would be close to my current experience you know? :')
Yes, that is the chip I have. How do I deal with the situation?

0 Kudos
Highlighted
Advisor
Advisor
308 Views
Registered: ‎04-26-2015

@Abdullah009 You need to locate the schematic for the board. I can't find any information at all about the "k7325t". Xilinx's own board is the KC705; does your board appear to be a direct clone of that? If so, Xilinx's KC705 schematics and user guide might have the information required.

0 Kudos
Highlighted
296 Views
Registered: ‎07-23-2019

 

Going back to the first post, what you want is a UART using the USB port, is that right? So you will use D+ and D- as Rx and Tx?

That makes a bit of sense if it does at all to use a USB port for UART.

You need to check on the schematics what pins the USB pins D+ and D- are connected to, let's suppose (made up) they are F3 and G4. Then on your design you name your Rx, Tx signals something like UART_Tx and UART_Rx, and in the synthesized design you'll see those names and will be able to select the corresponding pin coordinates.

It might happen that the USB is not connected to normal I/O pins but to GT transceivers, in that case, you cannot use them from your HDL.

0 Kudos
Highlighted
Visitor
Visitor
286 Views
Registered: ‎09-08-2020

Yes that's exactly what I want to do. But where do I get those schematics to know the exact names?

0 Kudos
Highlighted
Visitor
Visitor
280 Views
Registered: ‎09-08-2020

Well apparently I had some confusion. What I have is a chip, not a board. It's called xc7k325tffg676. Does this have a schematic?

0 Kudos
Highlighted
273 Views
Registered: ‎06-21-2017

If all you have is a chip, not mounted on a board, you have many more issues.  A schematic shows how the chip is connected to other components on the board.  If all you have is an FPGA chip, you must design a board and have it built with your FPGA mounted on it.  This means designing a circuit to supply power, a circuit to program the FPGA, circuits to receive and send signals to  other components and off-board.  If you have never done this before, you are in for a huge learning experience.  Word of advise, buy a Xilinx evaluation board that has an FPGA on it, don't try to design a board at the same time you are trying to learn FPGAs.  A Xilinx eval board usually costs less than the bare chip, at least for the larger, newer chips.

0 Kudos
Highlighted
39 Views
Registered: ‎07-23-2019

You cannot use an FPGA chip. They have hundreds of pins (actually tiny solder balls). You need to connect many (30-50) for supply and about a hundred for ground. An FPGA needs more than one supply, and they cannot be any regulator, they have special requirements of stability and noise, as well as a power-up sequence.

Second, you need either a JTAG port for program and debug or a configuration flash memory. 

That's the bare minimum to start something. Then that 'something' probably needs more I/Os.

In short, a BGA chip needs a board. Designing a board for an FPGA is not trivial, it's usually 8+ layers with high speed routing, a several month enterprise, and expensive to have just one off for you. Also, that chip you keep in a drawer for weeks may not be solderable now. Not to mention that if you bought it from, for example, eBay, it could just be a fake.

If you ask for the schematic of a chip, then you are really at the start. My advice is you get a development board. There are a number for $100 or thereabouts. 

0 Kudos