wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11410|回復: 13
收起左側

W5500網口芯片SPI傳輸時序 Verilog源碼

  [復制鏈接]
ID:306627 發表于 2018-4-12 15:59 | 顯示全部樓層 |閱讀模式
基于Xilinx K7平臺的W5500 SPI傳輸時序
開發語言為Verilog
在硬件平臺上打通,實測沒問題
支持1字節/2字節/4字節/多字節讀寫
微信截圖_20180412152850.png

包含兩個文件:rw_w5500_intf.v
                         mspi.v

單片機源程序如下:
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date:    12:00:49 04/12/2017
  7. // Design Name:
  8. // Module Name:    rw_w5500_intf
  9. // Project Name:
  10. // Target Devices:
  11. // Tool versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:

  19. //
  20. //                                  w5500讀寫控制及狀態機實現FPGA源代碼,可聯系wuh2017@163.com
  21. //


  22. //////////////////////////////////////////////////////////////////////////////////
  23. module rw_w5500_intf(
  24.                                         input           I_clk,                                    // global clock
  25.                                         input           I_reset,                                // global async low reset
  26.                                         input           I_rw,                                        // w5500 write/read     -------------
  27.                                         input           I_sdi,                            // spi master data in (MISO)
  28.                                         input        [1:0]   I_w5500_data_len,                // w5500 data byte number:0:1BYTE 1:2BYTE 2:4BYTE 3:NBYTE --------
  29.                                         input        [15:0]  I_w5500_addr,                        // w5500 addr phase 16bit
  30.                                         input        [7:0]   I_w5500_ctl,                        // w5500 controlphase 8bit
  31.                                         input        [31:0]  I_w5500_wr_data,                // w5500 data        32bit   --------------------
  32.                                        
  33.                                         output  wire    O_rw_done,                            // write done /read done
  34.                                         output        [31:0]  O_w5500_rd_data,                // w5500 data        32bit
  35.                                         output          O_sck,                            // spi master clock out
  36.                                         output          O_sdo,                            // spi master data out (MOSI)
  37.                                         output  wire    O_scs,                                // spi cs
  38.                                         output  wire    O_ready,                        // spi master O_ready (idle)
  39.                                         output  wire    O_fifo_rd_en,
  40.                                         output  wire    O_data_rd_valid,
  41.                                        
  42.                                         input     [15:0]I_tx_length
  43.                                         );
  44. // =========================================================
  45. //
  46. parameter         BYTE_NUM_1        = 0;
  47. parameter        BYTE_NUM_2        = 1;
  48. parameter        BYTE_NUM_4        = 2;

  49. parameter        IDLE                = 0;
  50. parameter        STEP1                = 1;
  51. parameter        STEP2                = 2;
  52. parameter        STEP3                = 3;
  53. parameter        STEP4                = 4;
  54. // =========================================================
  55. //
  56. reg                                        spi_wr;
  57. reg                [31:0]                spi_tx_data;
  58. reg                [31:0]                w5500_rd_data_reg;
  59. reg                [2:0]                state;
  60. reg                [1:0]                spi_wr_len;
  61. reg                [1:0]                rw_reg;



  62. // =========================================================
  63. //
  64. wire                        spi_wr_done;
  65. wire        [31:0]        spi_rddata;
  66. wire            W_scs;
  67. wire    [14:0]  W_mspi_state;
  68. wire            sdo_tick;

  69. (*KEEP="TRUE"*) wire W_Nbyte_rd_done = (W_scs == 0 && W_mspi_state[4:0]==0 && sdo_tick == 1);


  70. assign                        O_scs        = (state==IDLE);
  71. (*KEEP = "TRUE" *)wire        rw_pos = (rw_reg[1:0] == 2'b01);//本時刻1上時刻0
  72. assign                        O_ready = (state==IDLE);
  73. assign                        O_rw_done = (state==STEP4);
  74. assign                        O_w5500_rd_data = w5500_rd_data_reg;
  75. assign                  O_fifo_rd_en = ((W_mspi_state[4:0]==30) && sdo_tick == 1);

  76. assign                  O_data_rd_valid = W_Nbyte_rd_done;

  77. // =========================================================
  78. //

  79. mspi mspi_inst (
  80.                         .I_clk                (        I_clk                        ),
  81.                         .I_reset        (        I_reset                        ),
  82.                         .I_clk_div        (        4                               ),
  83.                         .I_wr                (        spi_wr                    ),
  84.                         .I_wr_len        (        spi_wr_len            ),
  85.                         .O_wr_done        (        spi_wr_done            ),
  86.                         .I_wrdata        (        spi_tx_data            ),
  87.                         .O_rddata        (        spi_rddata            ),
  88.                         .O_sck                (        O_sck                        ),
  89.                         .I_sdi                (        I_sdi                        ),
  90.                         .O_sdo                (        O_sdo                        ),
  91.                         .O_scs                (        W_scs                         ),
  92.                         .O_ready        (                                    ),
  93.                         .O_state    (   W_mspi_state    ),
  94.                         .O_sdo_tick (   sdo_tick        ),
  95.                         .I_tx_length(   I_tx_length     )
  96.     );

  97. // ---------------------------------------------------------
  98. //
  99. always @(posedge I_clk or posedge I_reset)
  100. if(I_reset)
  101.   rw_reg  <= 0;
  102. else
  103.   rw_reg  <= {rw_reg[0],I_rw};
  104. // ---------------------------------------------------------
  105. //
  106. always @(posedge I_clk or posedge I_reset)
  107. if(I_reset)
  108.         begin
  109.                 state <= IDLE;
  110.                 spi_wr <= 0;
  111.                 spi_tx_data <= 0;
  112.                 spi_wr_len <= 0;
  113.                 w5500_rd_data_reg <= 0;
  114.         end
  115. else case(state)
  116.         IDLE:    //0state
  117.                 if(rw_pos)
  118.                         begin
  119.                                 state <= STEP1;
  120.                                 spi_wr <= 0;
  121.                                 spi_tx_data <= 0;
  122.                                 spi_wr_len <= 0;
  123.                         end
  124.         STEP1: //寫入數據
  125.                 begin
  126.                         spi_wr <= 1'b1;
  127.                         spi_tx_data[31:16] <= I_w5500_addr[15:0];
  128.                         spi_tx_data[15:0] <= 0;
  129.                         spi_wr_len <= BYTE_NUM_2;                        // 地址段 16bit
  130.                         if(spi_wr_done)
  131.                                 begin
  132.                                         state <= STEP2;
  133.                                         spi_wr <= 0;
  134.                                 end
  135.                 end
  136.         STEP2:
  137.                 begin
  138.                         spi_wr <= 1'b1;
  139.                         spi_tx_data[31:24] <= I_w5500_ctl[7:0];
  140.                         spi_tx_data[23:0] <= 0;
  141.                         spi_wr_len <= BYTE_NUM_1;                        // 控制段 8bit
  142.                         if(spi_wr_done)
  143.                                 begin
  144.                                         state <= STEP3;
  145.                                         spi_wr <= 0;
  146.                                 end
  147.                 end
  148.         STEP3:
  149.                 begin//-------------------------------狀態機做出改變
  150.                         spi_wr <= 1'b1;
  151.                         spi_tx_data[31:0] <= I_w5500_wr_data[31:0];
  152.                         spi_wr_len <= I_w5500_data_len;                // 數據段  0:1BYTE 1:2BYTE 2:4BYTE 3:NBYTE提供數據前要注意將有效位放至MSB
  153.                         if(spi_wr_done)
  154.                           begin
  155.                             state <= STEP4;
  156.                             spi_wr <= 0;
  157.                           end
  158.                        
  159.                         if(spi_wr_done || W_Nbyte_rd_done)
  160.                                 begin
  161.                                         if(I_w5500_data_len==0)
  162.                                                 begin
  163.                                                         w5500_rd_data_reg[31:24] <= spi_rddata[7:0];
  164.                                                         w5500_rd_data_reg[23:0]        <= 0;
  165.                                                 end
  166.                                         else if(I_w5500_data_len==1)
  167.                                                 begin
  168.                                                         w5500_rd_data_reg[31:16] <= spi_rddata[15:0];
  169.                                                         w5500_rd_data_reg[15:0]        <= 0;
  170.                                                 end
  171.                                         else
  172.                                                 begin
  173.                                                         w5500_rd_data_reg[31:0] <= spi_rddata[31:0];
  174.                                                 end
  175.                                 end
  176.                 end
  177.         STEP4:
  178.                 begin
  179.                         state <= IDLE;
  180.                         spi_wr <= 0;
  181.                         spi_tx_data <= 0;
  182.                         spi_wr_len <= 0;
  183.                 end
  184.         default:
  185.                 begin
  186.                         state <= IDLE;
  187.                         spi_wr <= 0;
  188.                         spi_tx_data <= 0;
  189.                         spi_wr_len <= 0;
  190.                         w5500_rd_data_reg <= 0;
  191.                 end
  192.         endcase

  193.        

  194. endmodule
復制代碼

所有資料51hei提供下載:
rtl.zip (3.78 KB, 下載次數: 160)


評分

參與人數 1黑幣 +5 收起 理由
xiuxi2007 + 5

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經被刪除
ID:346567 發表于 2018-6-10 15:45 | 顯示全部樓層
感謝分享
回復

使用道具 舉報

ID:345500 發表于 2018-7-3 13:31 | 顯示全部樓層
可以參考,不錯
回復

使用道具 舉報

ID:374244 發表于 2018-7-18 16:44 | 顯示全部樓層
謝謝分享~~~
回復

使用道具 舉報

ID:394469 發表于 2018-9-6 11:29 | 顯示全部樓層
..........................................學習一下
回復

使用道具 舉報

ID:365754 發表于 2018-9-7 15:23 | 顯示全部樓層
謝謝分享,fpga+w5500最大速度能夠多大,希望能指導一下
回復

使用道具 舉報

ID:413964 發表于 2018-10-27 20:47 | 顯示全部樓層
好東西啊
回復

使用道具 舉報

ID:469623 發表于 2019-1-17 13:12 | 顯示全部樓層
支持下,目前正在搞這個開發,參考下
回復

使用道具 舉報

ID:164847 發表于 2019-3-15 23:24 | 顯示全部樓層
謝謝分享.
回復

使用道具 舉報

ID:164847 發表于 2019-3-15 23:25 | 顯示全部樓層
fpga+w5500最大速度能夠到多少?能不能達到10MB/S
回復

使用道具 舉報

ID:580853 發表于 2019-7-9 13:51 | 顯示全部樓層
不錯的資料,
回復

使用道具 舉報

ID:524609 發表于 2019-7-31 08:42 | 顯示全部樓層
thanks a lot your sharing~~~
回復

使用道具 舉報

ID:128381 發表于 2019-9-30 21:37 | 顯示全部樓層
學習了,挺有用的
回復

使用道具 舉報

ID:618921 發表于 2019-10-3 08:19 | 顯示全部樓層
感謝分享,學習一下
回復

使用道具 舉報

16#
無效樓層,該帖已經被刪除
17#
無效樓層,該帖已經被刪除
18#
無效樓層,該帖已經被刪除
19#
無效樓層,該帖已經被刪除
20#
無效樓層,該帖已經被刪除
21#
無效樓層,該帖已經被刪除
22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
24#
無效樓層,該帖已經被刪除
25#
無效樓層,該帖已經被刪除
26#
無效樓層,該帖已經被刪除
27#
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
国产1区2区3区精品美女| 国产交换配乱淫视频免费| 日本三级免费观看| 国产高潮视频在线观看| 久久久国产精华液| 精品久久久久成人码免费动漫| 欧美精品小视频| 高清一级毛片视频| 欧美性爽视频| 老牛影视av一区二区在线观看| 欧美国产高清| 成人永久aaa| 午夜国产精品影院在线观看| 欧美变态tickle挠乳网站| 欧美风情在线观看| 狠狠干一区二区| 91av俱乐部| 1024手机在线视频| 四季av日韩精品一区| jlzzjlzz欧美大全| 美女高潮视频在线看| 视频一区中文| 国产电影一区二区三区| 亚洲国产aⅴ天堂久久| 亚洲老头同性xxxxx| 国产一区红桃视频| 波多野结衣家庭教师在线| 欧美激情视频二区| 亚洲av无码国产精品久久不卡| 影视先锋午夜av| 国产精品探花在线| 成人羞羞网站入口| 国产盗摄女厕一区二区三区 | h片在线播放| 欧美一级一片| 国产一区二区三区高清播放| 午夜成人免费电影| 日韩小视频网址| 高清日韩一区| 一区二区三区四区毛片| 久久久国产精品成人免费| 欧美特级xxxxbbbb毛片| av资源种子在线观看| 日韩精品免费视频一区二区三区| 日本中文字幕一区二区视频 | 色狠狠一区二区| 色综合久久88| 一区二区三区在线视频看| 久久免费精品国产| 精品国产99久久久久久宅男i| 美女张开让男人捅| 桃花岛成人影院| 亚洲国产婷婷| 亚洲一卡二卡三卡四卡无卡久久 | 日本亚洲欧美成人| 国产精品久久久久久久乖乖| 日韩黄色中文字幕| 亚洲区精品久久一区二区三区| 国产资源在线看| 你懂的在线观看一区二区| 国v精品久久久网| 日韩三级视频中文字幕| 91免费视频网站| 亚洲第一天堂久久| 中文字幕一区二区久久人妻| 成人伦理视频网站| 欧美电影院免费观看| 国产综合色精品一区二区三区| 欧美日韩一区二区三区四区五区| 日韩av手机在线| 91热这里只有精品| 亚洲一区在线观| 日韩黄色视屏| 另类ts人妖一区二区三区| 岛国一区二区在线观看| 精品久久久久一区二区国产| 91|九色|视频| 欧美xxxx×黑人性爽| 婷婷色在线观看| 蜜芽在线免费观看| 午夜欧美视频| 欧美日韩美女在线观看| 国产精品第一第二| 国产免费中文字幕| 高h放荡受浪受bl| 麻豆传媒在线免费看| 亚洲特色特黄| 欧美天堂在线观看| 欧美亚洲伦理www| 中文字幕av专区| 午夜老司机福利| jizz日韩| 亚洲国产一区二区三区高清| 欧美特黄级在线| 91亚洲国产成人精品性色| 一区二区三区四区影院| 亚洲综合激情另类专区老铁性| 超碰在线caoporen| 亚洲小说区图片区| 欧美视频一区二区三区在线观看| 亚洲一区二区久久久久久久| 亚洲黄色在线网站| 天堂资源最新版在线视频观看免费网| 日韩av中字| 国产乱子伦一区二区三区国色天香| 日韩免费在线观看| 午夜视频久久久| 亚洲另类欧美日韩| 美女黄a一级视频| 精品一级毛片| 婷婷丁香激情综合| 亚洲最大的免费| 亚洲天堂av中文字幕| jizzjizzwww| 妖精视频一区二区三区| 一区二区三区资源| 成人免费网视频| 欧美亚洲色综久久精品国产| eeuss影院www天堂免费| 另类尿喷潮videofree| 亚洲视频在线一区观看| 国产日韩欧美自拍| 一本一本久久a久久| 国产美女玉足交| 第一sis亚洲原创| 欧美在线免费观看亚洲| 久久国产精品 国产精品| 国产亚洲精品久久久久久打不开| 麻豆免费网站| 欧美黄色aaaa| 日韩欧美亚洲一区二区| 亚洲一区bb| 这里只有精品999| 黄色国产网站在线播放| 欧美a级理论片| 中文字幕欧美日韩va免费视频| 成年女人18级毛片毛片免费| 亚洲精品中文字幕成人片| 欧美伦理91| 99久久精品久久久久久清纯| 久久久免费在线观看| 日本一卡二卡在线| 黄色国产网站在线观看| 一区二区中文| 亚洲精品在线一区二区| 国产午夜福利在线播放| 久久久久久久久综合影视网| 亚洲国产一区二区三区网站| 亚洲va在线va天堂| 日韩av大全| 亚洲一区中文字幕永久在线| 偷拍视频一区二区三区| 国产精品乱人伦中文| 91视频-88av| 日韩三级小视频| 成人在线观看亚洲| www.久久精品| 国产精品网红直播| 国产精彩视频在线| 在线免费av导航| 国产欧美中文在线| 国产精品99久久久久久久| 无码人妻精品一区二区| 国产不卡123| 亚洲精品久久久久久国产精华液| 激情视频在线观看一区二区三区| 中文在线观看av| 影视一区二区三区| 亚洲亚洲人成综合网络| 亚洲欧洲精品一区二区三区波多野1战4 | 偷窥自拍欧美色图| 五月综合久久| 欧美成人午夜电影| 欧美美女性视频| 先锋影音资源999| 99国内精品| 色综合久久悠悠| 国产91丝袜美女在线播放| 免费av在线电影| 成人在线视频一区二区| 91精品在线观| 中文字幕人妻精品一区| 日韩成人一区| 欧洲亚洲精品在线| 久久久久久久久久久免费视频| 天堂视频免费在线观看| 国一区二区在线观看| 久久精品国产99国产精品澳门| 色欲av无码一区二区三区| 黄色软件在线| 久久久不卡网国产精品一区| 精品一区在线播放| 婷婷视频在线观看| 久久影视一区| 精品久久久91| 日韩精品123区| 九色porny自拍视频在线播放| 亚洲午夜激情av| 日本手机在线视频| 黄瓜视频污app| 青青青爽久久午夜综合久久午夜| 国产成+人+综合+亚洲欧洲| 日本高清不卡码| 精品国产亚洲一区二区在线观看| 在线综合视频播放| 国产老头和老头xxxx×| 青青久在线视频| 国产欧美在线观看一区| 亚洲欧美精品| 91抖音在线观看| 日韩福利视频导航| 成人国产在线视频| 国产福利第一视频| 精品久久视频| 欧美成人久久久| 奇米影视第四色777| 四虎精品在线观看| 91精品国产色综合久久不卡蜜臀| 国产精品日日摸夜夜爽| 3p在线观看| 一区二区三区中文字幕| 欧美成人xxxxx| а√最新版地址在线天堂| 久久综合九色综合97_久久久| 五月天久久狠狠| 色先锋资源网| 极品少妇xxxx精品少妇| 国产免费一区| 欧美大交乱xxxxxbbb| 久久久成人网| 91手机在线播放| 中文字幕你懂得| 欧美综合二区| 高清国产在线一区| 国产黄色在线看| 极品尤物av久久免费看| 欧美日韩国产免费一区二区三区| 国产精品视频一区二区免费不卡 | 欧美亚洲另类在线一区二区三区| 男女交配网站| 欧美亚韩一区| 国产欧美久久一区二区| 亚洲男人天堂久久| 国内揄拍国内精品久久| 成人国产在线视频| 欧美黑人性受xxxx精品| 奇米色一区二区| 亚洲午夜国产一区99re久久| 男人日女人bb视频| 亚州色图欧美色图| 一区二区三区欧美视频| 日本女优爱爱视频| 成人在线免费视频| 欧美日韩亚洲精品一区二区三区 | 亚洲精品久久在线| 精品无码国产污污污免费网站| 大香伊人久久| 69久久99精品久久久久婷婷 | 97精品视频在线播放| 一区二区美女视频| 国产精品一区二区av交换| 久久99热精品这里久久精品| 97人妻精品一区二区三区视频| 三上亚洲一区二区| 国产精品久久久久久久久久久久久久| 色噜噜在线播放| 丝瓜av网站精品一区二区| 2014亚洲精品| 91最新网站| 久久综合狠狠综合久久激情| 男人日女人视频网站| 亚洲成人福利| 色综合一个色综合| 久操视频免费看| 国产三级一区| 久久亚洲精品成人| 精品久久国产视频| 日本vs亚洲vs韩国一区三区| 亚洲欧美精品| 久草视频在线看| 欧美午夜影院一区| 欧美在线视频第一页| 国产aⅴ精品一区二区三区久久| 国产精品高潮呻吟久久av黑人| 男女爱爱福利视频| 国产91精品欧美| 国产精品无码一区二区在线| a黄色片在线观看| 精品999久久久| 亚洲天堂五月天| 亚洲免费高清| 日韩国产欧美精品| 在线观看免费av网| 欧美日韩在线播放三区| 亚洲最大的黄色网址| 欧美一二区在线观看| 不卡日韩av| 国产视频资源| 色综合天天综合网国产成人综合天| 国产一区二区三区视频播放| 尤物tv在线精品| 91av免费看| 最近中文字幕mv第三季歌词| 日本高清不卡aⅴ免费网站| 亚洲国产美女视频| 91精品久久久久久久久久不卡| 九九九九久久久久| 亚洲欧美一区二区三区在线播放| 欧美午夜影院一区| 青青草免费观看视频| 西西裸体人体做爰大胆久久久| 黄色a级在线观看| 麻豆91在线| 国产一区二区日韩| 亚洲成年人视频| 国产高清亚洲| 欧美精品xxx| 91直播在线观看| 亚洲一区二区视频| 日本aⅴ在线观看| 好吊一区二区三区| 潘金莲一级淫片aaaaa免费看| 黄网站视频在线观看| 中文欧美日本在线资源| 亚洲视频色图| 中文字幕免费不卡在线| 免费看黄色的视频| 日韩综合网站| 欧美aaa在线观看| 黄色在线观看视频网站| 欧美精品在线播放| 曰本大片免费观看视频| 亚洲午夜一区二区三区| 美女视频黄免费| 久久国产福利| 免费观看成人网| 国产精品一区二区三区av| 亚洲a∨日韩av高清在线观看| 最新天堂资源在线| 亚洲大胆美女视频| 亚洲欧洲综合在线| 国产精品视频一二三区| 一二三四国产精品| 91久久亚洲| 黄色国产小视频| 91麻豆精品激情在线观看最新| 99re在线播放| 电影在线一区| 久久久av网站| 美女三级福利视频| 在线视频欧美精品| 国产又粗又长视频| 久久色中文字幕| 91免费在线看片| 噜噜噜躁狠狠躁狠狠精品视频| 香蕉视频网站入口| 欧美五码在线| 一区二区不卡在线观看| www.精品| 91天堂在线观看| 午夜视频在线观看网站| 欧美俄罗斯乱妇| 九色在线91| 亚洲精品videossex少妇| 伊人国产视频| 欧美日韩在线视频首页| 在线观看国产黄| 国产午夜精品在线观看| 黄色一级片中国| 久久99国产精品久久| 污污污www精品国产网站| 亚洲欧美日韩高清在线| 亚洲中文字幕无码专区| 国产一区调教| 黄频视频在线观看| 国产亚洲精品精品国产亚洲综合| 国产九色精品| wwww亚洲| 95av在线视频| 中文字幕在线三区| 国产精品羞羞答答| 男人和女人做事情在线视频网站免费观看| 九九热精品视频国产| 交视频在线观看国产| 在线看日韩欧美| 成人黄网18免费观看的网站| 日韩精品视频在线免费观看 | 国产一区二区三区高清播放| 在线免费观看黄色小视频| 国产亚洲成人一区| 色黄视频免费看| 午夜国产精品视频| 亚洲a级黄色片| 亚洲精品一区二区在线看| 精品日韩久久久| 日韩免费久久| 亚洲色图38p| 66视频精品| 天堂av.com| 亚洲天堂激情|