Comments (16)
Hi @Gogul-N,
Can you please let m know which part in this page is confusing you?
It sounds like you have 2 AFIs with similar designs, register offsets, etc. In this case, you will need to launch, at least, a f1.4xlarge instance and load the two AFIs to 2 slots mapped in the same group. For example, transmitter AFI to Slot0 and receiver AFI to Slot1. It's unclear which interface does the design take to "transmit" or "receive". Assuming you can "visualize" it to use the PCIS/PCIM interfaces, you can do P2P transmission targeting at the peer card's 128GB BAR4 space that's dedicated to the P2P.
Regarding to ARM processor design, I'm assuming these are soft logic. It can certainly be implemented in the CL region as long as there is enough space for it to fit. I hope this helps. Please let me know if you still have questions.
Thanks,
Chen
from aws-fpga.
Hi @czfpga (Chen),
I am working with f1.4xlarge instance only. I am confused here, consider that same AFI is loaded in both slots. And the register I want to configure is 0x30041001. Slot 0 has to be configured with the value 0x11001001 and the slot 1 has to be configured with the value 0x11000001. How can I achieve this?
Edit: Also I have a doubt. Which port of the ARM processor has to be connected to shell? i.e., PCIM(BAR4).?
Thank you.
from aws-fpga.
Hi @Gogul-N,
The two slots will have different BDFs. In this case, you will need to write different values to the same register address offset using different BDFs.
Regarding to the port, please note F1 does NOT expose any physical I/O pins to CL designs. Therefore, you must "virtualize" the ports by connecting them to the provided CL interface to emulate a I/O on the soft core. We have no visibility to your design. So you will need to make a decision on which need to be connected.
Thanks,
Chen
from aws-fpga.
Hi @czfpga (Chen),
Thank you for the reply. I will explore it regarding P2P using your guidelines.
Actually I have completed receiver validation using f1 instance. Now I have to connect the ARM processor to it. It is a softcore logic only. My doubt is, which BAR of Shell interface has to be connected to ARM processor soft logic? or with out shell interface can I talk to my CL through ARM or I have to talk to my CL through Shell to ARM to CL?
Thank you
from aws-fpga.
Hi @Gogul-N,
Interfacing with the soft core in CL have to be done through the shell. Depending on the type of interface, if the number of signals is small and they're very simple, like DIP switches, you can consider using the miscellaneous signals. If you need access to the core's control & status registers, you might consider using the OCL or BAR1 interface (AppPF, BAR0 or BAR1).
Thanks,
Chen
from aws-fpga.
Hi @czfpga (Chen)
Thank you so much for the quick reply. I will continue as per your suggestion.
Thank you.
from aws-fpga.
Hi @czfpga (Chen)
This is my exact requirement. The signals A (10 bits) and B (10 bits) from Transmitter should be connected to A (10 bits) and B (10 bits) of the receiver. How can I achieve this? Also both transmitter and receiver will have ARM soft core connected to it.
Edit: I am using f1.4xlarge instance. I will take slot 0 as the transmitter and slot 1 as the receiver. As you suggested ARM soft core will be connected to BAR 0 or BAR 1. And here BAR 4 I am using it for configuring the registers in both transmitter and receiver.
Thank you.
from aws-fpga.
Hi @Gogul-N
Thank you for clarifying the application. As I mentioned before, F1 does NOT expose any physical I/O pins to CL designs.
So one option here is, if it's applicable, you can consider encapsulating data patterns on signal A/B to AXI-MM transactions and forwarding the transactions to the PCIM interface on the Tx instance. Rx will receive them from the PCIS interface and de-capsulate them before sending them to the receiver. However, this option might not work if A/B signals are expected to stream data all the time. F1 doesn't support any direct signal connection between slots.
Thanks,
Chen
from aws-fpga.
Hi @czfpga (Chen),
Shall I use AXI GPIO for transmitting the signals A, B as well as to receive it..? Actually, there will be continues data transmission. I mean, each clock cycle data will be changing.
Thank you.
from aws-fpga.
Hi @Gogul-N,
That will not work as you expect. All signals are handled by the Shell. And for P2P eventually all data will be encapsulated to PCIe packets in order to be transmitted to the P2P partner. There is NO direct GPIO connection between 2 slots.
Thanks,
Chen
from aws-fpga.
Hi @czfpga (Chen)
Thank you so much for your patience.
I have understood.
To communicate with the shell any how we need an axi interface from CL then how the signals A and B are connected to Shell without any interface to PCIM/PCIS. Here only I am confused a lot.
Thank you.
from aws-fpga.
Hi,
As Chen stated previously, there cannot be any direct connections between A/B
ports of TX
to A/B
of RX
blocks. One possible way you could do is as shown below:
However, transferring only 10-bits at a time between two FPGAs will be extremely slow due to PCIe overhead. If your goal is to synthesize a TX and RX block in the same FPGA then it might be simpler to just use a GPIO block or simple signaling/handshake between TX and RX blocks.
Please let us know if you have any questions.
Thanks!
Chakra
from aws-fpga.
Hi @AWScsaralay ,
Thank you so much for your deep explanation.
I try to synthesize both blocks in the same FPGA if there is enough space. If not, I will go with 2 FPGAs.
Thank you.
from aws-fpga.
Hi @czfpga and @AWScsaralay ,
Please look at the below image. How can I communicate with ARM soft IP through Shell. Kindly help me on this.
Edit: My CL has to be connected with ARM.
Thank you.
from aws-fpga.
Hello,
The arm core should be part of your CL design. The AWS Shell provides various AXI-L and AXI4 interface, so depending on how you would like to access arm core, you may need some kind of convertor logic.
For example, you may use Shell's PCIS AXI4 --> AXI4-to-AXI3 Convertor --> Arm core. But it really depends on customers intended functionality.
Please let us know if you need any additional details.
-Chakra
from aws-fpga.
Hi @AWScsaralay ,
Thank you for your reply. I will try and update here.
Thank you.
from aws-fpga.
Related Issues (20)
- DDR performance drop with specific address access pattern HOT 4
- PCIM AXI W Channel hangs with wReady stuck at 0 HOT 2
- Time delay in filling up BRAM using DMA HOT 3
- Clock routing error [Place 30-838] HOT 4
- DMA read is not correct HOT 1
- [XRT] ERROR: failed to load xclbin: Invalid argument / xocl_read_axlf_helper: interface uuids do not match HOT 4
- Inserting ILA is improving the performance HOT 4
- Update HOT 8
- Name port does not exist for instance f1_inst HOT 6
- PCIM ARID all bits can be used? HOT 1
- peer xclbin download err: -11 HOT 2
- fpga_mgmt_load_local_image_sync() failures HOT 12
- Linux Kernel 6 support for xdma HOT 4
- Does aws have u200? HOT 2
- Files missing from AMI HOT 2
- DRAM page mode HOT 1
- Accessing the AXI-Lite via the fpga_pci_attach call... HOT 1
- Debug embedded microblaze using XVC JTAG in AWS FPGA shell HOT 9
- Instance status checks failures HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aws-fpga.