Forum Discussion
Altera_Forum
Honored Contributor
12 years agoI would put the if rising_edge(CLOCK_50) before the if SW(0) = '1', but maybe this still synthesizes right.
You could use Signaltap on the Avalon Stream interface to check that you are sending the correct stream to the MAC. There are still a few problems I think:[list][*]You aren't checking the the 'ready' signal on the ff_tx interface. A data word on the avalon stream interface will only be transmitted if both 'valid' and 'ready' are asserted at the same time. Therefore you should only increase the counter when you know the MAC read your data word. [*]check that the "Align packet headers to 32-bit boundary" option isn't checked on the TSE parameters ("MAC Options") tab. If this option is enabled then you need to send 16 '0' bits before you start the packet. [*]You are not initializing the MAC before you are using it. You should at least set TX_ENA to 1 before sending anything. It is described on page 6-6 of the datasheet. Generally you can have a look at the Altera TSE driver to see how the TSE can be initialized. [*]You are generating a packet that is less than 64 bytes, and I'm not sure the TSE will automatically add the padding bytes for you[/list]