hamsternz / artyetherenttx Goto Github PK
View Code? Open in Web Editor NEWSending raw data from the Digilent Arty FPGA board
Sending raw data from the Digilent Arty FPGA board
ArtyEthernetTX -------------- Transmit UDP packets via the Arty's Ethernet PHY. Author: Mike Field <[email protected]> The switches configure how often the packets are sent. "0000" => 1 packet per second "0001" => 2 packet per second "0010" => 10 packets per second "0011" => 20 packet per second "0100" => 50 packets per second "0101" => 100 packets per second "0110" => 200 packets per second "0111" => 500 packets per second "1000" => 1000 packets per second "1001" => 2000 packets per second "1010" => 5000 packets per second "1011" => 10,000 packests per second "1100" => 20,000 packets per second "1101" => 50,000 packets per second "1110" => 100,000 packets per second "1111" => as fast as possible Of course, with long packets you can't send hundreds of thousands! The packets =========== The packet data is for UDP from port 4096 to port 4096 on the target address. Currently they have 1040 bytes of user data, the first four of which are filled with a 16-bit sequence number. To adjust the length, in nibble_data.vhd change this: constant data_bytes : integer := 16+1024; And then change these line's constants, adjusting by twice as much ... when x"875" => data_valid <= '0'; user_data <= '0'; when x"876" => NULL; when x"877" => NULL; when x"878" => NULL; when x"879" => NULL; when x"87A" => NULL; when x"87B" => NULL; when x"87C" => NULL; .... when x"8A3" => counter <= (others => '0'); busy <= '0'; Configuring =========== Make sure you edit these generics to set the source and destination addresses. data: nibble_data generic map ( -- Details for the ARTY's IP settings eth_src_mac => x"DEADBEEF0123", -- A completely 'random' MAC :) ip_src_addr => x"0A0A0A0A", -- 10.10.10.10 -- details of the destination (broadcast) eth_dst_mac => x"A0B3CC4CF9EF", -- My laptop's MAC address ip_dst_addr => x"0A0A0A01" -- 10.10.10.1 ) port map (
Hi, thanks for your great work.
I get this error, when Vivado tries to place the design:
[Place 30-172] Sub-optimal placement for a clock-capable IO pin and PLL pair. If this sub optimal condition is acceptable for this design, you may use the CLOCK_DEDICATED_ROUTE constraint in the .xdc file to demote this message to a WARNING. However, the use of this override is highly discouraged. These examples can be used directly in the .xdc file to override this clock rule.
< set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets CLK100MHZ_IBUF] >
CLK100MHZ_IBUF_inst (IBUF.O) is locked to IOB_X1Y76
clocking (PLLE2_ADV.CLKIN1) is provisionally placed by clockplacer on PLLE2_ADV_X0Y1
The above error could possibly be related to other connected instances. Following is a list of
all the related clock rules and their respective instances.
Clock Rule: rule_pll_clklds
Status: PASS
Rule Description: A PLL driving any number of IOBs must be placed within the same clock region
clocking (PLLE2_ADV.CLKOUT0) is provisionally placed by clockplacer on PLLE2_ADV_X0Y1
and clock_fwd_ddr (ODDR.C) is locked to OLOGIC_X0Y56
Is this only a problem for me or do I have to do something more than open the project in Vivado to get it to work?
Greetings
Hi @hamsternz . I want to send data to a pc via ethernet with the arty and I have found your controller and it's fantastic. But I don't know where do I have to put the data that I want to send
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.