aboutsummaryrefslogtreecommitdiffstats
path: root/simple_gemac/eth_tasks_f19.v
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-01-05 14:39:52 -0800
committerJosh Blum <josh@joshknows.com>2010-01-05 14:39:52 -0800
commit6b0dc91d66eb56bb682295d07c97caf0f07da8b1 (patch)
tree940850e3f2a8695eba30b73a43d589558bfc7ff8 /simple_gemac/eth_tasks_f19.v
parentf238468d299312ed562c6f711150f04b070818ed (diff)
parent5c2e94296991891d973ad7bd99ee59cded3a5418 (diff)
downloaduhd-6b0dc91d66eb56bb682295d07c97caf0f07da8b1.tar.gz
uhd-6b0dc91d66eb56bb682295d07c97caf0f07da8b1.tar.bz2
uhd-6b0dc91d66eb56bb682295d07c97caf0f07da8b1.zip
Merge branch 'udp' of http://gnuradio.org/git/matt into wip/usrp2
Conflicts: usrp2/fpga/top/u2_rev3/Makefile
Diffstat (limited to 'simple_gemac/eth_tasks_f19.v')
-rw-r--r--simple_gemac/eth_tasks_f19.v92
1 files changed, 92 insertions, 0 deletions
diff --git a/simple_gemac/eth_tasks_f19.v b/simple_gemac/eth_tasks_f19.v
new file mode 100644
index 000000000..ff3ae5407
--- /dev/null
+++ b/simple_gemac/eth_tasks_f19.v
@@ -0,0 +1,92 @@
+
+
+task SendFlowCtrl;
+ input [15:0] fc_len;
+ begin
+ $display("Sending Flow Control, quanta = %d, time = %d", fc_len,$time);
+ pause_time <= fc_len;
+ @(posedge eth_clk);
+ pause_req <= 1;
+ @(posedge eth_clk);
+ pause_req <= 0;
+ $display("Sent Flow Control");
+ end
+endtask // SendFlowCtrl
+
+task SendPacket_to_fifo19;
+ input [31:0] data_start;
+ input [15:0] data_len;
+ reg [15:0] count;
+ begin
+ $display("Sending Packet Len=%d, %d", data_len, $time);
+ count <= 2;
+ tx_f19_data <= {2'b0, 1'b0, 1'b1, data_start};
+ tx_f19_src_rdy <= 1;
+ #1;
+ while(count < data_len)
+ begin
+ while(~tx_f19_dst_rdy)
+ @(posedge sys_clk);
+ @(posedge sys_clk);
+ //tx_f19_data[31:0] = tx_f19_data[31:0] + 32'h0101_0101;
+ count = count + 4;
+ //tx_f19_data[32] <= 0;
+ end
+ //tx_f19_data[33] <= 1;
+ while(~tx_f19_dst_rdy)
+ @(posedge sys_clk);
+ @(posedge sys_clk);
+ tx_f19_src_rdy <= 0;
+ end
+endtask // SendPacket_to_fifo19
+
+/*
+task Waiter;
+ input [31:0] wait_length;
+ begin
+ tx_ll_src_rdy2 <= 0;
+ repeat(wait_length)
+ @(posedge clk);
+ tx_ll_src_rdy2 <= 1;
+ end
+endtask // Waiter
+*/
+
+/*
+task SendPacketFromFile_f19;
+ input [31:0] data_len;
+ input [31:0] wait_length;
+ input [31:0] wait_time;
+
+ integer count;
+ begin
+ $display("Sending Packet From File to LL8 Len=%d, %d",data_len,$time);
+ $readmemh("test_packet.mem",pkt_rom );
+
+ while(~tx_f19_dst_rdy)
+ @(posedge clk);
+ tx_f19_data <= pkt_rom[0];
+ tx_f19_src_rdy <= 1;
+ tx_f19_eof <= 0;
+ @(posedge clk);
+
+ for(i=1;i<data_len-1;i=i+1)
+ begin
+ while(~tx_ll_dst_rdy2)
+ @(posedge clk);
+ tx_ll_data2 <= pkt_rom[i];
+ tx_ll_sof2 <= 0;
+ @(posedge clk);
+// if(i==wait_time)
+// Waiter(wait_length);
+ end
+
+ while(~tx_ll_dst_rdy2)
+ @(posedge clk);
+ tx_ll_eof2 <= 1;
+ tx_ll_data2 <= pkt_rom[data_len-1];
+ @(posedge clk);
+ tx_ll_src_rdy2 <= 0;
+ end
+endtask
+*/