|
|
Spartan 3E Sarter Kit Ethernet
Hello.
Would you please to get me some information about how can i realize
UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
with EDK in conjunction with Microblaze. Can I solve the problem
without using Microblaze? And last questions: what is difference
between AccelDSP and System Generator and can I convert some dsp
floating point algorithm available in C in VHDL block?
|
|
0
|
|
|
|
Reply
|
Pavel
|
1/5/2008 9:08:34 PM |
|
> Would you please to get me some information about how can i realize
> UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
Look at this site, there are some information:
http://www.fpga4fun.com/10BASE-T.html
> with EDK in conjunction with Microblaze. Can I solve the problem
> without using Microblaze? And last questions: what is difference
Yes you can, but it would be easier with the Microblaze, or a
sufficiently
powerful soft processor.
> between AccelDSP and System Generator and can I convert some dsp
> floating point algorithm available in C in VHDL block?
I think AccelDSP works with Simulink (MATLAB), not with C code.
System Generator should be a tool for developing DSP apps, probably
it's best suited for your needs.
Andrew
|
|
0
|
|
|
|
Reply
|
quark
|
1/6/2008 9:26:05 AM
|
|
On Jan 5, 10:08 pm, "Pavel.Schu...@gmail.com"
<Pavel.Schu...@gmail.com> wrote:
> Hello.
> Would you please to get me some information about how can i realize
> UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
> with EDK in conjunction with Microblaze. Can I solve the problem
> without using Microblaze?
You transmitt ethernet packets by waiting for the PHY transmitt clock
to go low "always @(negedge E_TX_CLK)". Then set E_TX_EN=1 and
E_TXD[3:0]=first nibble. Then for every event set next nibble. Once
you have supplied all data. Set E_TX_EN=0 to complete packet. You have
to wait 24 cycles at 100M before sending a new one.
The nibbles shall be 555555555555555D - packet data - crc32. Crc32 is
calculated from packet data only.
|
|
0
|
|
|
|
Reply
|
posedge52
|
1/6/2008 1:03:17 PM
|
|
posedge52@yahoo.com wrote:
> On Jan 5, 10:08 pm, "Pavel.Schu...@gmail.com"
> <Pavel.Schu...@gmail.com> wrote:
>> Hello.
>> Would you please to get me some information about how can i realize
>> UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
>> with EDK in conjunction with Microblaze. Can I solve the problem
>> without using Microblaze?
>
> You transmitt ethernet packets by waiting for the PHY transmitt clock
> to go low "always @(negedge E_TX_CLK)". Then set E_TX_EN=1 and
> E_TXD[3:0]=first nibble. Then for every event set next nibble. Once
> you have supplied all data. Set E_TX_EN=0 to complete packet. You have
> to wait 24 cycles at 100M before sending a new one.
> The nibbles shall be 555555555555555D - packet data - crc32. Crc32 is
> calculated from packet data only.
If it is acceptable to hardwire the IP and MAC addresses, then a fairly
straightforward state machine, in combination with a prepared header can
transmit UDP frames. This can be a reasonable solution for a quick hack
on a lab.
For local networks it is also reasonably safe to omit the UDP checksum.
This can be done by setting it to an all-zeroes value. By doing so, you
can avoid making an extra pass over the data.
However, if you need things like ARP, DHCP or IP routing, using a
Microblaze (or another core of your choice) would make more sense.
|
|
0
|
|
|
|
Reply
|
Arlet
|
1/6/2008 1:57:26 PM
|
|
Arlet Ottens <usenet+5@c-scape.nl> wrote:
>posedge52@yahoo.com wrote:
>> On Jan 5, 10:08 pm, "Pavel.Schu...@gmail.com"
>> <Pavel.Schu...@gmail.com> wrote:
>>> Hello.
>>> Would you please to get me some information about how can i realize
>>> UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
>>> with EDK in conjunction with Microblaze. Can I solve the problem
>>> without using Microblaze?
>>
>> You transmitt ethernet packets by waiting for the PHY transmitt clock
>> to go low "always @(negedge E_TX_CLK)". Then set E_TX_EN=1 and
>> E_TXD[3:0]=first nibble. Then for every event set next nibble. Once
>> you have supplied all data. Set E_TX_EN=0 to complete packet. You have
>> to wait 24 cycles at 100M before sending a new one.
>> The nibbles shall be 555555555555555D - packet data - crc32. Crc32 is
>> calculated from packet data only.
>
>If it is acceptable to hardwire the IP and MAC addresses, then a fairly
>straightforward state machine, in combination with a prepared header can
>transmit UDP frames. This can be a reasonable solution for a quick hack
>on a lab.
>
>For local networks it is also reasonably safe to omit the UDP checksum.
>This can be done by setting it to an all-zeroes value. By doing so, you
>can avoid making an extra pass over the data.
Actually, you can calculate the CRC on the fly because it is
transmitted last.
--
Reply to nico@nctdevpuntnl (punt=.)
Bedrijven en winkels vindt U op www.adresboekje.nl
|
|
0
|
|
|
|
Reply
|
nico
|
1/6/2008 7:06:47 PM
|
|
Nico Coesel wrote:
> Arlet Ottens <usenet+5@c-scape.nl> wrote:
>
>> If it is acceptable to hardwire the IP and MAC addresses, then a fairly
>> straightforward state machine, in combination with a prepared header can
>> transmit UDP frames. This can be a reasonable solution for a quick hack
>> on a lab.
>>
>> For local networks it is also reasonably safe to omit the UDP checksum.
>> This can be done by setting it to an all-zeroes value. By doing so, you
>> can avoid making an extra pass over the data.
>
> Actually, you can calculate the CRC on the fly because it is
> transmitted last.
>
The Ethernet layer CRC-32 is transmitted last, but the UDP checksum is
in the header.
Beware that omitting the UDP checksum removes protection against data
corruption inside the FPGA, e.g. a bug in the transmit path before the
CRC-32 is applied.
|
|
0
|
|
|
|
Reply
|
Arlet
|
1/6/2008 7:28:40 PM
|
|
Pavel.Schukin@gmail.com wrote:
> Hello.
> Would you please to get me some information about how can i realize
> UDP transmition with Spartan 3E Starter Kit? Can i use IP supplied
> with EDK in conjunction with Microblaze. Can I solve the problem
> without using Microblaze? And last questions: what is difference
> between AccelDSP and System Generator and can I convert some dsp
> floating point algorithm available in C in VHDL block?
You can do this a number of ways, but the easiest would be to use a
processor based subsystem. Build a system using BSB with MicroBlaze +
ethernet. Add lwIP for a TCP/UDP software stack.
The right solution would depend on your application ofcourse.
|
|
0
|
|
|
|
Reply
|
Siva
|
1/7/2008 11:52:34 PM
|
|
|
6 Replies
252 Views
(page loaded in 0.078 seconds)
|
|
|
|
|
|
|
|
|