09-08-2020 07:55 AM
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.
09-08-2020 08:17 AM - edited 09-08-2020 08:21 AM
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:
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.
09-11-2020 05:18 AM
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?
09-11-2020 05:22 AM
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.
09-11-2020 05:25 AM - edited 09-11-2020 05:26 AM
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)
09-11-2020 05:43 AM
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.
09-11-2020 06:50 AM
From 0 to USB on Kintex-7? "fast pace" as they call it. Enjoy the speed.
For example KC705 is a development board:
And the FPGA part (chip) it has is: XC7K325T-2FFG900C
Is that yours?
09-11-2020 07:01 AM
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?
09-11-2020 07:42 AM
@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.
09-11-2020 08:16 AM
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.
09-11-2020 08:55 AM
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.
09-14-2020 12:10 AM
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.