亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? arp_rcv.v

?? Hardware UDP, implementation of UDP based on Altera DE2 using Verilog
?? V
字號:
/*************************
arp_rcv.v

Takes in ARP (Address Resolution Protocol)  packets, parses the various fields in the packet, and
outputs IP and MAC addresses to be sent to the IP/MAC cache.  Also determines if the incoming ARP packet
is a request for a MAC address, and if so, tells the arp_send module to which target IP and MAC address
to send our MAC address.

jdp45 mjk64 hmm32
ece576 UDP project
cornell univ 11/2007
**************************/

module arp_rcv(
       input clk,
       input reset,
       input arp_valid,
       input [31:0] arp_data,
       input reply_ready,
       output reg [31:0] w_ip_addr,
       output reg [47:0] w_mac_addr,
       output reg w_en,
       output reg [31:0] send_ip_addr,
       output reg [47:0] send_mac_addr,
       output reg send_en
);

reg [2:0] word_counter;         //increments when ARP data is being received in 7 separate 32-bit words
reg [15:0] HTYPE, PTYPE, OPER;
reg [7:0] HLEN, PLEN;
reg [47:0] SHA, THA;
reg [31:0] SPA, TPA;
reg set_outputs;                //tells state machine that the data has just been
                               //fully receieved and to set the output ports

always @(posedge clk) begin
       if (reset) begin
               // initialization
               word_counter <= 3'd0;
               set_outputs <= 1'b0;
               HTYPE <= 16'b0;
               PTYPE <= 16'b0;
               OPER <= 16'b0;
               HLEN <= 8'b0;
               PLEN <= 8'b0;
               SHA <= 48'b0;
               THA <= 48'b0;
               SPA <= 32'b0;
               TPA <= 32'b0;
               w_ip_addr <= 32'b0;
               w_mac_addr <= 48'b0;
               w_en <= 1'b0;
               send_ip_addr <= 32'b0;
               send_mac_addr <= 48'b0;
               send_en <= 1'b0;
       end
       else begin
               //take in ARP packets one word at a time when reg has valid data, as indicated by the valid bit.
               //then, when all words have been received, reset the word counter and set the set_outputs flag high
               //to enable the output addresses and enable bits to be updated once the valid bit goes low.
		//(will freeze if arp_send is not ready)
               if (arp_valid && reply_ready) begin
                       case (word_counter)
                               3'd0:
                               begin
                                       HTYPE <= arp_data[31:16];
                                       PTYPE <= arp_data[15:0];
                                       word_counter <= word_counter + 1;
                                       set_outputs <= 1'b0;
					w_en <= 1'b0;
					send_en <= 1'b0;
                               end
                               3'd1:
                               begin
                                       HLEN <= arp_data[31:24];
                                       PLEN <= arp_data[23:16];
                                       OPER <= arp_data[15:0];
                                       word_counter <= word_counter + 1;
                               end
                               3'd2:
                               begin
                                       SHA[47:16] <= arp_data;
                                       word_counter <= word_counter + 1;
                               end
                               3'd3:
                               begin
                                       SHA[15:0] <= arp_data[31:16];
                                       SPA[31:16] <= arp_data[15:0];
                                       word_counter <= word_counter + 1;
                               end
                               3'd4:
                               begin
                                       SPA[15:0] <= arp_data[31:16];
                                       THA[47:32] <= arp_data[15:0];
                                       word_counter <= word_counter + 1;
                               end
                               3'd5:
                               begin
                                       THA[31:0] <= arp_data;
                                       word_counter <= word_counter + 1;
                               end
                               3'd6:
                               begin
                                	TPA <= arp_data;
                                       	word_counter <= 3'd0;
                                       	set_outputs <= 1'b1;
                               end
                               default:
                               begin
                                       word_counter <= 3'd0;
                                       set_outputs <= 1'b0;
                               end
                       endcase
               end
               else begin
                       //if last word was just received, set output ports
                       if (set_outputs) begin
                               w_en <= 1'b1;
                               w_ip_addr <= SPA;
                               w_mac_addr <= SHA;

                               /*
                               If OPER = 1 (for now: little endian), and generally if the
                               target hardware address (THA) is 00:00:00:00:00:00, then
                               this ARP packet is a request for a MAC address, and we need to
                               send our MAC and IP address back to them.  (This code operates
                               using the OPER, not the THA.)  This will only
			       occur if the reply_ready signal coming in from
			       arp_send.v is high.
                               */
                               if ((OPER == 16'h1) && reply_ready) begin
                                       send_en <= 1'b1;
                                       send_ip_addr <= SPA;
                                       send_mac_addr <= SHA;
                               end
                               else begin
                                       send_en <= 1'b0;
                               end

                               //reset set_outputs bit
                               set_outputs <= 1'b0;
                       end
			else begin
				w_en <= 1'b0;
				send_en <= 1'b0;
			end
                      	//else, if valid bit is low for any other reason, do
			//nothing and wait for it to return high
               end
       end
end

endmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区波多野结衣在线观看| 欧美精品色一区二区三区| 国产日韩欧美不卡在线| 制服.丝袜.亚洲.中文.综合| 欧美性极品少妇| 国产一区在线精品| 蜜桃视频一区二区三区在线观看| 亚洲国产欧美日韩另类综合 | 成人激情黄色小说| 国产成人免费视频精品含羞草妖精| 久久97超碰国产精品超碰| 久久97超碰国产精品超碰| 91福利国产成人精品照片| 日本高清不卡aⅴ免费网站| 久久中文字幕电影| 亚洲国产精品精华液ab| 国产精品嫩草影院av蜜臀| 成人免费一区二区三区在线观看| 成人免费在线观看入口| 国产在线一区二区综合免费视频| 国产成人精品综合在线观看| 日韩欧美电影一区| 国产欧美一区二区精品仙草咪 | 免费在线观看视频一区| 石原莉奈在线亚洲二区| 国产校园另类小说区| 日韩国产在线一| 亚洲第一福利视频在线| 日韩av网站在线观看| 欧美色图12p| 精品日韩99亚洲| 国产精品家庭影院| 日韩黄色在线观看| 欧美日韩和欧美的一区二区| 久久久不卡影院| 亚洲午夜激情网站| 欧美性一级生活| 亚洲午夜激情av| 欧美电影影音先锋| 青娱乐精品视频在线| 欧美日韩你懂的| 日韩成人dvd| 欧美一级一区二区| 亚洲人成网站在线| 国产主播一区二区| 国产女同性恋一区二区| 99re免费视频精品全部| 在线不卡欧美精品一区二区三区| 午夜精品久久久久久久 | 免费看欧美女人艹b| 9191精品国产综合久久久久久| 亚洲成a人v欧美综合天堂| 欧美一级理论片| 一区二区三区日韩| 欧美日韩二区三区| 九色综合狠狠综合久久| 中文字幕巨乱亚洲| 日本黄色一区二区| 久久久久久夜精品精品免费| 国产一区二区三区电影在线观看| 亚洲国产精品t66y| 欧美性一二三区| 激情久久五月天| 综合在线观看色| 国产精品一区二区无线| 日韩欧美亚洲国产另类| 国产精品亚洲一区二区三区在线 | 中文字幕亚洲在| 欧美性大战久久久| 国产在线精品免费av| 国产精品久久久久久久久动漫| 欧美日精品一区视频| 久久er精品视频| 91精品国产色综合久久| 国产成人精品1024| 首页欧美精品中文字幕| www激情久久| 欧美午夜精品电影| 国产精品77777| 亚洲一二三专区| 欧美在线免费播放| 一区二区三区在线免费播放| 日韩女优制服丝袜电影| 91猫先生在线| 中文字幕一区三区| 日韩午夜av电影| 色视频欧美一区二区三区| 樱桃国产成人精品视频| 欧美调教femdomvk| 处破女av一区二区| 亚洲欧洲日韩av| 精品国产一区二区在线观看| 日韩你懂的在线观看| 国产亚洲午夜高清国产拍精品| 91精品91久久久中77777| 另类小说一区二区三区| 亚洲国产精品综合小说图片区| 国产欧美精品一区二区色综合| 91精品国产综合久久久蜜臀图片| 成人福利视频网站| 蜜臀av亚洲一区中文字幕| 一区二区三区免费网站| 国产精品国产三级国产有无不卡| 精品国产免费久久| 3d成人h动漫网站入口| 色94色欧美sute亚洲线路一ni | 亚洲乱码国产乱码精品精小说 | 日本精品裸体写真集在线观看| 国产黄色精品网站| 国产在线视视频有精品| 国产在线观看一区二区| 久99久精品视频免费观看| 久久99最新地址| 久久99精品久久久久久动态图| 日本不卡免费在线视频| 日本在线不卡一区| 免费精品视频最新在线| 日韩不卡一区二区| 免费成人在线观看视频| 美腿丝袜在线亚洲一区| 老司机午夜精品| 国产揄拍国内精品对白| 国产在线精品一区二区三区不卡| 秋霞电影一区二区| 五月婷婷久久综合| 亚洲国产中文字幕在线视频综合 | 国产一区二区美女| 国产裸体歌舞团一区二区| 久久66热偷产精品| 美国三级日本三级久久99 | 韩国成人精品a∨在线观看| 人妖欧美一区二区| 日本欧美一区二区三区乱码| 日本欧美在线看| 麻豆国产欧美一区二区三区| 蜜桃视频在线一区| 国产在线不卡一区| 国内外精品视频| 99热国产精品| 亚洲电影在线免费观看| 一区二区三区精品视频在线| 亚洲综合成人在线| 亚洲午夜久久久久中文字幕久| 青青草国产成人av片免费| 日韩国产成人精品| 久久精品国产99| 国产乱码精品一品二品| 成人免费不卡视频| 欧美日韩一二三| 日韩视频免费观看高清完整版 | 成人丝袜18视频在线观看| 波多野结衣亚洲一区| 欧美美女激情18p| 日韩一区二区精品葵司在线| 日韩精品在线网站| 欧美激情资源网| 一区二区三区中文在线| 麻豆久久久久久| 成人午夜视频网站| 欧美亚洲精品一区| 欧美精品在线一区二区三区| 欧美刺激午夜性久久久久久久| 欧美国产欧美综合| 亚洲香肠在线观看| 久久精品国内一区二区三区| 91在线国内视频| 在线成人免费观看| 在线一区二区三区| 欧美r级电影在线观看| 欧美国产国产综合| 亚洲成人动漫av| 国产精品一区二区不卡| 欧美人体做爰大胆视频| 久久精品夜色噜噜亚洲aⅴ| 一区二区三区国产精华| 男女男精品网站| 99精品偷自拍| 99久久伊人久久99| 久久精品视频在线看| 亚洲午夜一二三区视频| 国产精品影视网| 91福利小视频| 亚洲少妇最新在线视频| 久色婷婷小香蕉久久| 色狠狠色噜噜噜综合网| xfplay精品久久| 久久精品国产77777蜜臀| av影院午夜一区| 欧美mv和日韩mv的网站| 一级精品视频在线观看宜春院| 日本不卡的三区四区五区| 91亚洲男人天堂| 日本一区二区三区四区 | 久久精品视频一区二区三区| 午夜精品影院在线观看| 国产成人日日夜夜| 欧美一卡2卡3卡4卡| 亚洲午夜电影在线观看| 91蜜桃在线免费视频| 国产午夜亚洲精品理论片色戒 |