• Content Count

  • Joined

  • Last visited

  • Days Won


PhDev last won the day on September 22 2018

PhDev had the most liked content!

About PhDev

  • Rank

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @yildizabdullah spi_clk is an input to STARTUPE2 and can not have a loc constraint. It will automatically be routed to E9.
  2. @D@n Yes I think they work great. Very easy to use. I have mostly been using FC1002 with TCP. I have also used FC1003 in a project where UDP (broadcast) was a better choice. I hope they release a FC1004 with RMII: (Both UDP and TCP) DHCP or fix IP works as expected. The remote programmer also works very good. I think it is faster and easier than using XIlinx programming tools. The logic analyzer is also very useful for debugging the system without using the jtag. Only bad thing is that I sometimes need larger sample buffers. I also miss some documentation, however I think I have figured it out most of it now. I really like the AXI-stream. Xilinx has very good components supporting this like clock domain crossing, FIFO, Filters etc.
  3. @Aamirnagra I think you could take a look at these Ethernet cores. There are cores for Spartan 6 that you can download for free. These cores contains all you need to communicate with a PC or Linux like TCP, UDP, Ping etc.
  4. Hi @sieg70 You can use the STARTUPE2 primitive to access E9. STARTUPE2_i : STARTUPE2 port map ( CFGCLK => open, -- 1-bit output: Configuration main clock output CFGMCLK => open, -- 1-bit output: Configuration internal oscillator clock output EOS => open, -- 1-bit output: Active high output signal indicating the End Of Startup. PREQ => open, -- 1-bit output: PROGRAM request to fabric output CLK => '0', -- 1-bit input: User start-up clock input GSR => '0', -- 1-bit input: Global Set/Reset input (GSR cannot be used for the port name) GTS => '0', -- 1-bit input: Global 3-state input (GTS cannot be used for the port name) KEYCLEARB => '0', -- 1-bit input: Clear AES Decrypter Key input from Battery-Backed RAM (BBRAM) PACK => '0', -- 1-bit input: PROGRAM acknowledge input USRCCLKO => SPI_Clk, -- 1-bit input: User CCLK input USRCCLKTS => '0', -- 1-bit input: User CCLK 3-state enable input USRDONEO => '0', -- 1-bit input: User DONE pin output control USRDONETS => '0' -- 1-bit input: User DONE 3-state enable output ); With this SPI_Clk goes to E9.
  5. Hi @raultricking I think you should look at these FPGA Ethernet Cores. The cores includes everything you need for Ethernet like TCP/IP, UDP, DHCP and so on. The cores also have remote boot flash programming and an internal logic analyzer. There is an example using your board. You will be up and running in minutes 🙂
  6. Hi @bklopp, I can recommend you to look at if you do signal processing. With this core you don't need any processor etc. You only stream the data and the core do all Ethernet stuff like TCP/IP. It is then very simple to use from Matlab, Python or what ever you prefer. With their logic analyzer you can view the signal as analog, so you can easily look at the signal during all steps. All cores and software can you download for free. Cheers
  7. PhDev

    Arty A7 and Arty S7

    Hi, the main difference (in my point of view) is that Arty S7 doesn't have any Ethernet connection. (Why?) When I develop signal processing stuff etc in Matlab and test them on hardware I use TCP/IP to AXI4 streams, so for me S7 is not usable. Cheers
  8. PhDev

    Protocol Development

    @Middy Yes you need to write a simple process that writes data to the AXI stream however you don't need any additional memory. It is in the IP. AXI stream is a very simple protocol. Basically the transfer takes place when both Ready and Valid is '1'. I can really recommend everyone to look at it. Xilinx has a lot of components that support this protocol like FIFOs, FIR filters, clock domain borders etc. If you use UDP the only thing you have to do is to decide a packet length since UDP is packet oriented. When adding the last byte in the packet you set TxLast to '1'. When you use UDP server you need to write something from the PC so the FPGA(server) knows the PCs (client) address. In your case I think using the TCP could be easier. Then you don't need to set packets length etc you only add data to the stream and the core do everything else. The TCP is also taking care of re-transmitting etc.
  9. PhDev

    Protocol Development

    Hi Middy, I have done similar tasks and then I have used the cores from I have used it on Arty A7 board and it works very well. There is a built in logic analyzer in the core so you can watch the internal signals and you can also stream the data to the TCP or UDP port. You will be up and running in a couple of minutes :-) And everything is free to use... You have to look at the AXI4 Stream protocol to interface the TCP or UDP port.
  10. PhDev

    Arty and Ethernet

    Hi Fields, the easiest way (I think...) is to use one of the cores from FPGA Cores. There is also a tutorial using Arty. You can find the tutorial here.
  11. PhDev

    Ethernet on Arty Z7

    Thanks for reply. What project? The problem is using mio on zynq, Arty z7.
  12. PhDev

    Ethernet on Arty Z7

    Hi Is it possible to use the Ethernet phy on Arty Z7 direct from the programmable logic? I want to use my own MAC. How do I do that? Cheers
  13. PhDev

    Vivado HLS

    Hi, Do you have any experience of using Vivado High Level Synthesis, HLS? Today I use VHDL and C/C++ in microblaze. I am interested in testing HLS but don't know if it is worth spending time on that. Is it easy to get things running using HLS? What are the main pro/cons using HLS instead of VHDL/Verilog? Are the tools mature? Best regards