{"id":2490,"date":"2023-01-18T14:58:25","date_gmt":"2023-01-18T06:58:25","guid":{"rendered":"http:\/\/www.hellofpga.com\/?p=2490"},"modified":"2023-01-18T14:58:56","modified_gmt":"2023-01-18T06:58:56","slug":"smart-zynq_hdmi_pl_test","status":"publish","type":"post","link":"http:\/\/www.hellofpga.com\/index.php\/2023\/01\/18\/smart-zynq_hdmi_pl_test\/","title":{"rendered":"Smart ZYNQ\u677f \u5de5\u7a0b\u4e94\u00a0\u00a0\u57fa\u4e8eZYNQ PL\u8d44\u6e90\u7684HDMI\u529f\u80fd\u6f14\u793a"},"content":{"rendered":"\n<p>\u672c\u6587\u6f14\u793a\u5982\u4f55\u7528PL\u903b\u8f91\u8d44\u6e90\u53bb\u9a71\u52a8\u6700\u5c0f\u7cfb\u7edf\u677f\u4e0a HDMI\u90e8\u5206\u7684\u7535\u8def\u6765\u5b9e\u73b0\u70b9\u5c4f\u7684\u64cd\u4f5c<\/p>\n\n\n\n<p>\u672c\u6587\u5728 vivado2018.3\u7248\u672c\u4e0a \u6f14\u793a\uff0c \u5176\u4ed6\u7248\u672c\u8bf7\u81ea\u884c\u7814\u7a76<\/p>\n\n\n\n<p><strong>\u5173\u4e8e\u786c\u4ef6\u90e8\u5206\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"813\" height=\"585\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-28.png\" alt=\"\" class=\"wp-image-1021\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-28.png 813w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-28-300x216.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-28-768x553.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><figcaption class=\"wp-element-caption\">\u3001<\/figcaption><\/figure>\n\n\n\n<p>\u5176\u4e2dHDMI_TX_TMDS_DATA0-1-2 \u4ee5\u53caHDMI_CLK_TX_TMDS\u4fe1\u53f7\u90fd\u662f\u63a5\u5230ZYNQ\u7684PL \u5dee\u5206\u4fe1\u53f7\u7ebf\u4e0a\u7684\u3002<\/p>\n\n\n\n<p>\u53e6\u5916\u677f\u5b50\u7684HDMI \u90fd\u662f\u63a5ESD \u82af\u7247\u7684\uff08PUSB3FR4\uff09 \u8fd9\u6837\u63d2\u62d4 HDMI\u7684\u8fc7\u7a0b\u5f53\u4e2d\u4e0d\u4f1a\u56e0\u4e3a\u9759\u7535\u800c\u6253\u574f\u677f\u5b50<\/p>\n\n\n\n<p>\u60f3\u8981\u9a71\u52a8HDMI\u6a21\u5757\uff0c\u6211\u4eec\u8fd8\u9700\u8981\u7528\u5230 digilent\u5b98\u65b9\u8bbe\u8ba1\u7684\u4e00\u4e2aIP\u6838 RGB2DVI\uff0c\u8fd9\u4e2aIP\u6838\u7684\u5b98\u65b9\u4e0b\u8f7d\u5730\u5740\u5982\u4e0b\uff1a<a href=\"https:\/\/github.com\/Digilent\/vivado-library\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/Digilent\/vivado-library<\/a><\/p>\n\n\n\n<p>\u8fd9\u91cc\u4e3a\u4e86\u65b9\u4fbf\u4f7f\u7528\uff0c\u6211\u4e5f\u628a\u8fd9\u4e2aIP\u6838\u4e0b\u4e0b\u6765\u653e\u5728\u672c\u7ad9\u4f9b\u5927\u5bb6\u53c2\u8003\uff08IP\u7248\u6743\u5f52digilent\u6240\u6709\uff09<\/p>\n\n\n\n<p><a href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/rgb2dvi.zip\">http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/rgb2dvi.zip<\/a><\/p>\n\n\n\n<p>RGB2DVI \u7684\u8f93\u5165\u65f6\u5e8f\u6ee1\u8db3VGA\u7684\u6807\u51c6\uff0c\u4ee5\u4e0b\u662fVGA\u5206\u8fa8\u7387\u7684\u53c2\u6570<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/xilinx.eetrend.com\/files-eetrend-xilinx\/blog\/201804\/12782-36276-tu_9shi_xu_can_shu_.png\" alt=\"\"\/><\/figure>\n\n\n\n<p>\u65f6\u5e8f\u56fe\uff0c\u4ee5\u53ca\u6d88\u9690\u7684\u6982\u5ff5\uff0c\u8fd8\u6709\u4e0d\u540c\u5206\u8fa8\u7387\u65f6\uff0c\u5404\u4e2a\u533a\u57df\u7684\u53c2\u6570<br><img decoding=\"async\" width=\"670\" src=\"http:\/\/xilinx.eetrend.com\/files-eetrend-xilinx\/blog\/201804\/12782-36275-tu_8ge_ge_qu_yu_de_can_shu_.png\" alt=\"\"><\/p>\n\n\n\n<h1 class=\"wp-block-heading\">\u6a21\u5757\u8bbe\u8ba1\uff1a<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">1.\u5de5\u7a0b\u521b\u5efa\uff1a<\/h2>\n\n\n\n<p>\u65b0\u5efa\u9879\u76ee\uff0c\u82af\u7247\u578b\u53f7\u9009\u62e9&nbsp;<strong>\uff08\u677f\u5b50\u751f\u4ea7\u4e86\u591a\u4e2a\u82af\u7247\u578b\u53f7\u7684\u7248\u672c\uff0c\u8bf7\u6839\u636e\u81ea\u5df1\u677f\u5b50\u7684\u578b\u53f7\u6765\u8fdb\u884c\u9009\u62e9\uff09<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>XA7Z020 (\u76f4\u63a5\u9009\u62e9<strong>xc7z020CLG400-1<\/strong>\uff0c\u56e0\u4e3a\u7cfb\u7edf\u8bc6\u522b\u5230\u7684\u662fxc7z020-1)<\/li>\n\n\n\n<li>XC7Z010-1 (xc7z010CLG400-1)&nbsp;<strong>\uff087010 \u82af\u7247\uff09<\/strong><\/li>\n\n\n\n<li>XC7Z020-1 (xc7z020CLG400-1)&nbsp;<strong>\u540e\u7eed\u751f\u4ea7<\/strong><\/li>\n\n\n\n<li>XC7Z020-2 (xc7z020CLG400-2)&nbsp;<strong>\u540e\u7eed\u751f\u4ea7<\/strong><\/li>\n<\/ul>\n\n\n\n<p><strong>\u5907\u6ce8<\/strong>&nbsp;\uff087020 \u8f66\u89c4\u7ea7\u7248\u5728vivado2018.3\u8bc6\u522b\u51fa\u7684\u662fxc7z020\uff0c<strong>\u5982\u679c\u5de5\u7a0b\u9009\u62e9xa7z020 ,\u5728SDK\u73af\u5883\u4e0b\u6709\u65f6\u5019\u4f1a\u5f39\u51fa\u8b66\u544a<\/strong>\uff0c\u6240\u4ee5\u8fd9\u91cc\u76f4\u63a5\u9009\u62e9Xc7z020CLG400-1\uff09<\/p>\n\n\n\n<p>\u5de5\u7a0b\u521b\u5efa\u8be6\u7ec6\u56fe\u6587\u6559\u7a0b\u8bf7\u53c2\u8003<a rel=\"noreferrer noopener\" href=\"http:\/\/www.hellofpga.com\/index.php\/2023\/01\/18\/smart_zynq_01_led_test\/\" data-type=\"URL\" data-id=\"http:\/\/www.hellofpga.com\/index.php\/2023\/01\/18\/smart_zynq_01_led_test\/\" target=\"_blank\"> \u5de5\u7a0b\u4e00<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2.\u65f6\u949f\u6a21\u5757\u8bbe\u8ba1<\/h2>\n\n\n\n<p>\u6211\u4eec\u5c1d\u8bd5\u70b9\u4eae800X600\u7684\u5c4f\u5e55\u5206\u8fa8\u7387\uff0c\u5982VGA\u7684\u5206\u8fa8\u7387\u53c2\u6570\u8868\u4e2d\u6807\u6ce8\u7684\uff0c800X600\u5206\u8fa8\u7387\u9700\u8981\u7684\u5de5\u4f5c\u7684\u50cf\u7d20\u65f6\u949f\u4e3a40MH\uff0c\u800c\u6211\u4eec\u677f\u5b50\u4e0a\u710a\u63a5\u7684\u6709\u6e90\u6676\u4f53\u662f50MHZ\uff0c\u8fd9\u91cc\u5c31\u9700\u8981\u7528\u65f6\u949f\u7ba1\u7406\u6a21\u5757MMCM\u6765\u751f\u6210\u6211\u4eec\u8981\u768440MHZ\u9891\u7387\u548c 5\u500d\u50cf\u7d20\u65f6\u949f\u7684200Mhz\u9891\u7387<strong>\uff08\u4e5f\u53ef\u4ee5\u901a\u8fc7always\u5757\u6765\u5b9e\u73b05\u500d\u5173\u7cfb\u7684\u65f6\u949f\uff0c\u5177\u4f53\u770b\u672c\u6587\u6700\u4e0b\u65b9\u589e\u52a0\u7684\u90e8\u5206\u5185\u5bb9\uff0c\u8fd9\u79cd\u65b9\u5f0f\u9002\u7528\u7684\u5206\u8fa8\u7387\u66f4\u5e7f\uff09<\/strong><\/p>\n\n\n\n<p>VIVADO\u7cfb\u7edf\u7ed9\u6211\u4eec\u5185\u7f6e\u4e86\u5f88\u591a\u529f\u80fd\u5f3a\u5927\u7684\u6a21\u5757\uff0c\u5305\u62ec\u6211\u4eec\u8981\u7684\u65f6\u949f\u6a21\u5757\uff0c\u8fd9\u91cc\u6211\u4eec\u53ea\u9700\u8981\u8c03\u7528\u65f6\u949f\u6a21\u5757\u8f93\u5165\u6211\u4eec\u8981\u7684\u53c2\u6570\u5c31\u597d<\/p>\n\n\n\n<p>1)\u7b2c\u4e00\u6b65\uff0c\u70b9\u51fbIP Catalog \u6253\u5f00\u6a21\u5757\u9009\u62e9\u5668\uff0c \u5728\u91cc\u9762\u7684\u641c\u7d22\u680f\u8f93\u5165 CLOCKING \uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u8df3\u51fa\u7b26\u5408\u7684 Clocking Wizard\u9009\u9879\uff0c\u53cc\u51fb\u5b83<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"354\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-3.png\" alt=\"\" class=\"wp-image-138\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-3.png 791w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-3-300x134.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-3-768x344.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>2\uff09\u5728\u5f39\u51fa\u7684\u7a97\u53e3\u4e2d\u6211\u4eec\u5c06input Frequence \u8f93\u5165\u9891\u7387\u4fee\u6539\u4e3a\u677f\u5b50\u4e0a\u710a\u63a5\u768450M\u65f6\u949f\uff0c \u53f3\u8fb9\u6539\u4e3a\u5355\u7aef\u8f93\u5165<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"660\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-11-1024x660.png\" alt=\"\" class=\"wp-image-139\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-11-1024x660.png 1024w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-11-300x193.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-11-768x495.png 768w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-11.png 1342w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>3\uff09\u5728output Clocks\u9009\u9879\u4e2d \u5c06clk_out1\u6539\u621040m\uff0c\u5c06clk_out2\u6539\u6210200m<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"993\" height=\"505\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-12.png\" alt=\"\" class=\"wp-image-140\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-12.png 993w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-12-300x153.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-12-768x391.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>4\uff09\u5c06\u754c\u9762\u6258\u5230\u6700\u4e0b\u9762\uff0c\u56e0\u4e3a\u6211\u4eec\u8fd9\u91cc\u7684\u8981\u6c42\u5e76\u4e0d\u9ad8\uff0c\u6240\u4ee5\u628a\u65f6\u949f\u7684\u590d\u4f4dreset\uff0c\u548clocked\u9009\u9879\u53bb\u9664\uff0c\u6700\u540e\u70b9\u51fbok\u751f\u6210\u6a21\u5757<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"741\" height=\"149\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-15.png\" alt=\"\" class=\"wp-image-141\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-15.png 741w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-15-300x60.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">3.\u5bfc\u5165\u4e0b\u4e0b\u6765\u7684DVI2RGB\u6a21\u5757<\/h2>\n\n\n\n<p>1\uff09\u70b9\u51fbSetting<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"259\" height=\"174\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-24.png\" alt=\"\" class=\"wp-image-142\"\/><\/figure>\n\n\n\n<p>2\uff09\u5728\u5f39\u51fa\u7684\u8bbe\u7f6e\u7a97\u53e3\uff0c\u5982\u4e0b\u56fe\uff0c\u5c55\u5f00IP\u9009\u9879\uff0c\u9009\u4e2dPackager\uff0c\u5728\u70b9\u51fb\u91cc\u9762\u7684\u52a0\u53f7\u589e\u52a0\u76ee\u5f55\uff0c\u9009\u4e2dRGB2DVI\u7684\u76ee\u5f55\uff0c\u70b9\u51fbok<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1007\" height=\"819\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/image-65.png\" alt=\"\" class=\"wp-image-2495\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/image-65.png 1007w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/image-65-300x244.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/image-65-768x625.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>3\uff09\u5bfc\u5165RGB2DVI IP\uff0c\u5982\u4e0b\u56fe\u6240\u793a\uff0c\u5728IP\u7ba1\u7406\u5668\u91cc\u641c\u7d22RGB \u53cc\u51fb\u5e76\u6253\u5f00RGB to DVI Video Encoder \u9009\u9879<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"588\" height=\"406\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-30.png\" alt=\"\" class=\"wp-image-146\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-30.png 588w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-30-300x207.png 300w\" sizes=\"auto, (max-width: 588px) 100vw, 588px\" \/><\/figure>\n\n\n\n<p>4\uff09\u8bbe\u7f6eRGB2DVI\u6a21\u5757\uff0c\u56e0\u4e3a\u6211\u4eec\u5df2\u7ecf\u5728\u65f6\u949f\u6a21\u5757\u4e2d\u8bbe\u7f6e\u4e86 5\u500d\u7684\u7f16\u7801\u65f6\u949f\uff0c\u6240\u4ee5 \u6a21\u5757\u91cc\u4e0d\u9700\u8981\u518d\u751f\u6210\u6a21\u5757\u65f6\u949f\uff0c\u5982\u4e0b\u56fe\u53bb\u6389\u590d\u4f4d\u548c\u5185\u90e8\u4e32\u884c\u65f6\u949f\u524d\u9762\u7684\u52fe\uff0c\u70b9\u51fbOK<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"742\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-31.png\" alt=\"\" class=\"wp-image-148\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-31.png 968w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-31-300x230.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-31-768x589.png 768w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p>\u5b8c\u6210\u4e4b\u540e \u6211\u4eec\u4fbf\u5f97\u5230\u4e86\u4e24\u4e2a\u6a21\u5757<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"291\" height=\"89\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2021\/07\/image-32.png\" alt=\"\" class=\"wp-image-149\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4.\u589e\u52a0\u6211\u4eec\u7684\u4ee3\u7801\u5185\u5bb9<\/h2>\n\n\n\n<p>1\uff09\u8fd9\u91cc\u521b\u5efa\u4e00\u4e2a\u663e\u793a\u6a21\u5757\u663e\u793a\u6a21\u5757\u8d1f\u8d23\u8f93\u51fa\u6807\u51c6\u7684RGB\u65f6\u5e8f\uff0c\u8fd9\u91cc\u8c03\u7528\u4e86\u4e00\u4e2a\u7f51\u4e0a\u7684\u53c2\u8003\u4ee3\u7801\uff0c\u5177\u4f53\u5982\u4e0b( color_bar.v)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">module color_bar(\n\tinput                 clk,           \/\/pixel clock\n\tinput                 rst,           \/\/reset signal high active\n\toutput                hs,            \/\/horizontal synchronization\n\toutput                vs,            \/\/vertical synchronization\n\toutput                de,            \/\/video valid\n\toutput[7:0]           rgb_r,         \/\/video red data\n\toutput[7:0]           rgb_g,         \/\/video green data\n\toutput[7:0]           rgb_b          \/\/video blue data\n);\n \n`define VIDEO_800_600\n\/\/video timing parameter definition\n`ifdef  VIDEO_1280_720\nparameter H_ACTIVE = 16'd1280;           \/\/horizontal active time (pixels)\nparameter H_FP = 16'd110;                \/\/horizontal front porch (pixels)\nparameter H_SYNC = 16'd40;               \/\/horizontal sync time(pixels)\nparameter H_BP = 16'd220;                \/\/horizontal back porch (pixels)\nparameter V_ACTIVE = 16'd720;            \/\/vertical active Time (lines)\nparameter V_FP  = 16'd5;                 \/\/vertical front porch (lines)\nparameter V_SYNC  = 16'd5;               \/\/vertical sync time (lines)\nparameter V_BP  = 16'd20;                \/\/vertical back porch (lines)\nparameter HS_POL = 1'b1;                 \/\/horizontal sync polarity, 1 : POSITIVE,0 : NEGATIVE;\nparameter VS_POL = 1'b1;                 \/\/vertical sync polarity, 1 : POSITIVE,0 : NEGATIVE;\n`endif\n \n\/\/480x272 9Mhz\n`ifdef  VIDEO_480_272\nparameter H_ACTIVE = 16'd480; \nparameter H_FP = 16'd2;       \nparameter H_SYNC = 16'd41;    \nparameter H_BP = 16'd2;       \nparameter V_ACTIVE = 16'd272; \nparameter V_FP  = 16'd2;     \nparameter V_SYNC  = 16'd10;   \nparameter V_BP  = 16'd2;     \nparameter HS_POL = 1'b0;\nparameter VS_POL = 1'b0;\n`endif\n \n\/\/640x480 25.175Mhz\n`ifdef  VIDEO_640_480\nparameter H_ACTIVE = 16'd640; \nparameter H_FP = 16'd16;      \nparameter H_SYNC = 16'd96;    \nparameter H_BP = 16'd48;      \nparameter V_ACTIVE = 16'd480; \nparameter V_FP  = 16'd10;    \nparameter V_SYNC  = 16'd2;    \nparameter V_BP  = 16'd33;    \nparameter HS_POL = 1'b0;\nparameter VS_POL = 1'b0;\n`endif\n \n\/\/800x480 33Mhz\n`ifdef  VIDEO_800_480\nparameter H_ACTIVE = 16'd800; \nparameter H_FP = 16'd40;      \nparameter H_SYNC = 16'd128;   \nparameter H_BP = 16'd88;      \nparameter V_ACTIVE = 16'd480; \nparameter V_FP  = 16'd1;     \nparameter V_SYNC  = 16'd3;    \nparameter V_BP  = 16'd21;    \nparameter HS_POL = 1'b0;\nparameter VS_POL = 1'b0;\n`endif\n \n\/\/800x600 40Mhz\n`ifdef  VIDEO_800_600\nparameter H_ACTIVE = 16'd800; \nparameter H_FP = 16'd40;      \nparameter H_SYNC = 16'd128;   \nparameter H_BP = 16'd88;      \nparameter V_ACTIVE = 16'd600; \nparameter V_FP  = 16'd1;     \nparameter V_SYNC  = 16'd4;    \nparameter V_BP  = 16'd23;    \nparameter HS_POL = 1'b1;\nparameter VS_POL = 1'b1;\n`endif\n \n\/\/1024x768 65Mhz\n`ifdef  VIDEO_1024_768\nparameter H_ACTIVE = 16'd1024;\nparameter H_FP = 16'd24;      \nparameter H_SYNC = 16'd136;   \nparameter H_BP = 16'd160;     \nparameter V_ACTIVE = 16'd768; \nparameter V_FP  = 16'd3;      \nparameter V_SYNC  = 16'd6;    \nparameter V_BP  = 16'd29;     \nparameter HS_POL = 1'b0;\nparameter VS_POL = 1'b0;\n`endif\n \n\/\/1920x1080 148.5Mhz\n`ifdef  VIDEO_1920_1080\nparameter H_ACTIVE = 16'd1920;\nparameter H_FP = 16'd88;\nparameter H_SYNC = 16'd44;\nparameter H_BP = 16'd148; \nparameter V_ACTIVE = 16'd1080;\nparameter V_FP  = 16'd4;\nparameter V_SYNC  = 16'd5;\nparameter V_BP  = 16'd36;\nparameter HS_POL = 1'b1;\nparameter VS_POL = 1'b1;\n`endif\nparameter H_TOTAL = H_ACTIVE + H_FP + H_SYNC + H_BP;\/\/horizontal total time (pixels)\nparameter V_TOTAL = V_ACTIVE + V_FP + V_SYNC + V_BP;\/\/vertical total time (lines)\n\/\/define the RGB values for 8 colors\nparameter WHITE_R       = 8'hff;\nparameter WHITE_G       = 8'hff;\nparameter WHITE_B       = 8'hff;\nparameter YELLOW_R      = 8'hff;\nparameter YELLOW_G      = 8'hff;\nparameter YELLOW_B      = 8'h00;                                \nparameter CYAN_R        = 8'h00;\nparameter CYAN_G        = 8'hff;\nparameter CYAN_B        = 8'hff;                                \nparameter GREEN_R       = 8'h00;\nparameter GREEN_G       = 8'hff;\nparameter GREEN_B       = 8'h00;\nparameter MAGENTA_R     = 8'hff;\nparameter MAGENTA_G     = 8'h00;\nparameter MAGENTA_B     = 8'hff;\nparameter RED_R         = 8'hff;\nparameter RED_G         = 8'h00;\nparameter RED_B         = 8'h00;\nparameter BLUE_R        = 8'h00;\nparameter BLUE_G        = 8'h00;\nparameter BLUE_B        = 8'hff;\nparameter BLACK_R       = 8'h00;\nparameter BLACK_G       = 8'h00;\nparameter BLACK_B       = 8'h00;\nreg hs_reg;                      \/\/horizontal sync register\nreg vs_reg;                      \/\/vertical sync register\nreg hs_reg_d0;                   \/\/delay 1 clock of 'hs_reg'\nreg vs_reg_d0;                   \/\/delay 1 clock of 'vs_reg'\nreg[11:0] h_cnt;                 \/\/horizontal counter\nreg[11:0] v_cnt;                 \/\/vertical counter\nreg[11:0] active_x;              \/\/video x position \nreg[11:0] active_y;              \/\/video y position \nreg[7:0] rgb_r_reg;              \/\/video red data register\nreg[7:0] rgb_g_reg;              \/\/video green data register\nreg[7:0] rgb_b_reg;              \/\/video blue data register\nreg h_active;                    \/\/horizontal video active\nreg v_active;                    \/\/vertical video active\nwire video_active;               \/\/video active(horizontal active and vertical active)\nreg video_active_d0;             \/\/delay 1 clock of video_active\nassign hs = hs_reg_d0;\nassign vs = vs_reg_d0;\nassign video_active = h_active &amp; v_active;\nassign de = video_active_d0;\nassign rgb_r = rgb_r_reg;\nassign rgb_g = rgb_g_reg;\nassign rgb_b = rgb_b_reg;\nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tbegin\n\t\t\ths_reg_d0 &lt;= 1'b0;\n\t\t\tvs_reg_d0 &lt;= 1'b0;\n\t\t\tvideo_active_d0 &lt;= 1'b0;\n\t\tend\n\telse\n\t\tbegin\n\t\t\ths_reg_d0 &lt;= hs_reg;\n\t\t\tvs_reg_d0 &lt;= vs_reg;\n\t\t\tvideo_active_d0 &lt;= video_active;\n\t\tend\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\th_cnt &lt;= 12'd0;\n\telse if(h_cnt == H_TOTAL - 1)\/\/horizontal counter maximum value\n\t\th_cnt &lt;= 12'd0;\n\telse\n\t\th_cnt &lt;= h_cnt + 12'd1;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tactive_x &lt;= 12'd0;\n\telse if(h_cnt &gt;= H_FP + H_SYNC + H_BP - 1)\/\/horizontal video active\n\t\tactive_x &lt;= h_cnt - (H_FP[11:0] + H_SYNC[11:0] + H_BP[11:0] - 12'd1);\n\telse\n\t\tactive_x &lt;= active_x;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tv_cnt &lt;= 12'd0;\n\telse if(h_cnt == H_FP  - 1)\/\/horizontal sync time\n\t\tif(v_cnt == V_TOTAL - 1)\/\/vertical counter maximum value\n\t\t\tv_cnt &lt;= 12'd0;\n\t\telse\n\t\t\tv_cnt &lt;= v_cnt + 12'd1;\n\telse\n\t\tv_cnt &lt;= v_cnt;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\ths_reg &lt;= 1'b0;\n\telse if(h_cnt == H_FP - 1)\/\/horizontal sync begin\n\t\ths_reg &lt;= HS_POL;\n\telse if(h_cnt == H_FP + H_SYNC - 1)\/\/horizontal sync end\n\t\ths_reg &lt;= ~hs_reg;\n\telse\n\t\ths_reg &lt;= hs_reg;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\th_active &lt;= 1'b0;\n\telse if(h_cnt == H_FP + H_SYNC + H_BP - 1)\/\/horizontal active begin\n\t\th_active &lt;= 1'b1;\n\telse if(h_cnt == H_TOTAL - 1)\/\/horizontal active end\n\t\th_active &lt;= 1'b0;\n\telse\n\t\th_active &lt;= h_active;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tvs_reg &lt;= 1'd0;\n\telse if((v_cnt == V_FP - 1) &amp;&amp; (h_cnt == H_FP - 1))\/\/vertical sync begin\n\t\tvs_reg &lt;= HS_POL;\n\telse if((v_cnt == V_FP + V_SYNC - 1) &amp;&amp; (h_cnt == H_FP - 1))\/\/vertical sync end\n\t\tvs_reg &lt;= ~vs_reg;  \n\telse\n\t\tvs_reg &lt;= vs_reg;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tv_active &lt;= 1'd0;\n\telse if((v_cnt == V_FP + V_SYNC + V_BP - 1) &amp;&amp; (h_cnt == H_FP - 1))\/\/vertical active begin\n\t\tv_active &lt;= 1'b1;\n\telse if((v_cnt == V_TOTAL - 1) &amp;&amp; (h_cnt == H_FP - 1)) \/\/vertical active end\n\t\tv_active &lt;= 1'b0;   \n\telse\n\t\tv_active &lt;= v_active;\nend\n \nalways@(posedge clk or posedge rst)\nbegin\n\tif(rst == 1'b1)\n\t\tbegin\n\t\t\trgb_r_reg &lt;= 8'h00;\n\t\t\trgb_g_reg &lt;= 8'h00;\n\t\t\trgb_b_reg &lt;= 8'h00;\n\t\tend\n\telse if(video_active)\n\t\tif(active_x == 12'd0)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= WHITE_R;\n\t\t\t\trgb_g_reg &lt;= WHITE_G;\n\t\t\t\trgb_b_reg &lt;= WHITE_B;\n\t\t\tend\n\t\telse if(active_x == (H_ACTIVE\/8) * 1)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= YELLOW_R;\n\t\t\t\trgb_g_reg &lt;= YELLOW_G;\n\t\t\t\trgb_b_reg &lt;= YELLOW_B;\n\t\t\tend         \n\t\telse if(active_x == (H_ACTIVE\/8) * 2)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= CYAN_R;\n\t\t\t\trgb_g_reg &lt;= CYAN_G;\n\t\t\t\trgb_b_reg &lt;= CYAN_B;\n\t\t\tend\n\t\telse if(active_x == (H_ACTIVE\/8) * 3)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= GREEN_R;\n\t\t\t\trgb_g_reg &lt;= GREEN_G;\n\t\t\t\trgb_b_reg &lt;= GREEN_B;\n\t\t\tend\n\t\telse if(active_x == (H_ACTIVE\/8) * 4)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= MAGENTA_R;\n\t\t\t\trgb_g_reg &lt;= MAGENTA_G;\n\t\t\t\trgb_b_reg &lt;= MAGENTA_B;\n\t\t\tend\n\t\telse if(active_x == (H_ACTIVE\/8) * 5)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= RED_R;\n\t\t\t\trgb_g_reg &lt;= RED_G;\n\t\t\t\trgb_b_reg &lt;= RED_B;\n\t\t\tend\n\t\telse if(active_x == (H_ACTIVE\/8) * 6)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= BLUE_R;\n\t\t\t\trgb_g_reg &lt;= BLUE_G;\n\t\t\t\trgb_b_reg &lt;= BLUE_B;\n\t\t\tend \n\t\telse if(active_x == (H_ACTIVE\/8) * 7)\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= BLACK_R;\n\t\t\t\trgb_g_reg &lt;= BLACK_G;\n\t\t\t\trgb_b_reg &lt;= BLACK_B;\n\t\t\tend\n\t\telse\n\t\t\tbegin\n\t\t\t\trgb_r_reg &lt;= rgb_r_reg;\n\t\t\t\trgb_g_reg &lt;= rgb_g_reg;\n\t\t\t\trgb_b_reg &lt;= rgb_b_reg;\n\t\t\tend         \n\telse\n\t\tbegin\n\t\t\trgb_r_reg &lt;= 8'h00;\n\t\t\trgb_g_reg &lt;= 8'h00;\n\t\t\trgb_b_reg &lt;= 8'h00;\n\t\tend\nend\n \nendmodule<\/pre>\n\n\n\n<p>2\uff09\u521b\u5efa\u4e00\u4e2a\u9876\u5c42\u6a21\u5757\uff0c\u5206\u522b\u8c03\u7528\u65f6\u949f\u3001RGB2DVI\u3001\u4ee5\u53ca\u5f69\u6761\u7eb9\u663e\u793a\u6a21\u5757\uff08top.v\uff09<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">module top(\n    input clk,\n    output[2:0] TMDS_DATA_p,\n    output[2:0] TMDS_DATA_n,\n    output      TMDS_CLK_p,\n    output      TMDS_CLK_n\n    );\n    \n    wire clk_40m;\n    wire clk_200m;\n    clk_wiz_0 u2(\n        .clk_in1(clk),\n        .clk_out1(clk_40m),\n        .clk_out2(clk_200m)\n    );\n    \n    wire VGA_HS,VGA_VS,VGA_DE;\n    wire[7:0] R,G,B;\n    color_bar u4(\n\t    .clk(clk_40m),           \/\/pixel clock\n\t    .rst(1'b0),           \/\/reset signal high active\n\t    .hs(VGA_HS),            \/\/horizontal synchronization\n\t    .vs(VGA_VS),            \/\/vertical synchronization\n\t    .de(VGA_DE),            \/\/video valid\n        .rgb_r(R),         \/\/video red data\n        .rgb_g(G),         \/\/video green data\n        .rgb_b(B)          \/\/video blue data\n);\n    \n    \n    rgb2dvi_0 u1(\n        .aRst_n(1'b1),\n        .SerialClk(clk_200m),\n        .PixelClk(clk_40m),\n        .TMDS_Clk_p(TMDS_CLK_p),\n        .TMDS_Clk_n(TMDS_CLK_n),\n        .TMDS_Data_p(TMDS_DATA_p),\n        .TMDS_Data_n(TMDS_DATA_n),\n        .vid_pData({R,B,G}),  \n        .vid_pHSync(VGA_HS),\n        .vid_pVSync(VGA_VS),\n        .vid_pVDE(VGA_DE)\n    );\nendmodule<\/pre>\n\n\n\n<p>\u6700\u540e\u518d\u589e\u52a0\u7ea6\u675f\u6587\u4ef6 \uff08HDMI_TEST.XDC\uff09<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">set_property IOSTANDARD LVCMOS33 [get_ports clk]\nset_property PACKAGE_PIN H16 [get_ports clk]\n\nset_property PACKAGE_PIN L19 [get_ports {TMDS_DATA_p[0]}]\nset_property PACKAGE_PIN J20 [get_ports {TMDS_DATA_p[1]}]\nset_property PACKAGE_PIN G19 [get_ports {TMDS_DATA_p[2]}]\nset_property PACKAGE_PIN M19 [get_ports TMDS_CLK_p]\n<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">6.\u7f16\u8bd1\u7efc\u5408\uff0c\u5e76\u8fd0\u884c\u4ee3\u7801<\/h2>\n\n\n\n<p>\u6700\u7ec8\u663e\u793a\u6548\u679c\u5982\u56fe<\/p>\n\n\n\n<p>\u5b8c\u6574\u5de5\u7a0b\u4e0b\u8f7d:<strong>(\u677f\u5b50\u6709\u591a\u4e2a\u7248\u672c\uff0c\u8bf7\u6309\u7167\u5bf9\u5e94\u677f\u5b50\u7684\u82af\u7247\u578b\u53f7\u8fdb\u884c\u4e0b\u8f7d\u6d4b\u8bd5)<\/strong><\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-31a16d16-199f-4405-86af-a803d6965488\" href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_800X600_XC7Z010_1.zip\">05_PL_HDMI_TEST_800X600_XC7Z010_1<\/a><a href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_800X600_XC7Z010_1.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-31a16d16-199f-4405-86af-a803d6965488\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-e1ed1b3d-5853-494b-88f5-c3eeda35c6a8\" href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_800X600_XC7Z020_1.zip\">05_PL_HDMI_TEST_800X600_XC7Z020_1<\/a><a href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_800X600_XC7Z020_1.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-e1ed1b3d-5853-494b-88f5-c3eeda35c6a8\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<p>\u4ee5\u4e0a\u4ee3\u7801\u5b9e\u73b0 800X600\u7684 60hz HDMI \u7a33\u5b9a\u8f93\u51fa<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"766\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-30-1024x766.png\" alt=\"\" class=\"wp-image-1036\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-30-1024x766.png 1024w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-30-300x224.png 300w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-30-768x575.png 768w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-30.png 1327w\" sizes=\"auto, (max-width: 767px) 89vw, (max-width: 1000px) 54vw, (max-width: 1071px) 543px, 580px\" \/><\/figure>\n\n\n\n<p><strong>\u7ae0\u8282\u5185\u5bb9\u8865\u5145\u7684\u5185\u5bb9<\/strong>\uff0c \u589e\u52a0always\u65b9\u5f0f\u6765\u5b9e\u73b0\u5206\u9891\uff0c\u5c06\u5206\u8fa8\u7387\u63d0\u9ad8\u52301080P 60HZ \uff08\u53ea\u6d4b\u8bd5\u4e86\u90e8\u5206\u663e\u793a\u5668\uff0c\u8fd9\u8fb9\u6d4b\u8bd5\u7a33\u5b9a\u8f93\u51fa\uff0c\u4e0d\u4ee3\u8868\u5168\u90e8\u663e\u793a\u5668\u90fd\u80fd\u517c\u5bb9\uff0c\u8bf7\u81ea\u884c\u5c1d\u8bd5\uff09<\/p>\n\n\n\n<p>\u7ecf\u8fc7\u6d4b\u8bd5\u672c\u4f8b\u7a0b\u901a\u8fc7\u4fee\u6539\u65f6\u949f\u53ef\u4ee5 \u5b9e\u73b0\u4f4e\u5230640X480 60HZ \u9ad8\u5230 1080P 60HZ&nbsp;<strong>\uff0860HZ \u5728\u6211\u81ea\u5df1\u7684\u4e09\u661f\u66f2\u9762\u5c4f\u4e0a\u53ef\u4ee5\u5b9e\u53ef\u4ee5\u7a33\u5b9a\u8f93\u51fa\uff09<\/strong><\/p>\n\n\n\n<p>\u4e3a\u4e86\u5b9e\u73b0\u4e0d\u540c\u5206\u8fa8\u7387\uff0c\u7528PLL \u6765\u8f93\u51fa\u4e24\u4e2a5\u500d\u5173\u7cfb\u7684\u65f6\u949f\u5e76\u4e0d\u4e00\u5b9a\u9ad8\u5ea6\u540c\u6b65\uff0c\u8fd9\u8fb9\u53ef\u4ee5\u6362\u4e2a\u601d\u8def\uff0c\u7528PLL \u751f\u62105\u500d\u9891\u65f6\u949f\uff0c\u7136\u540e\u7528always\u5757\u6765\u5206\u9891\u751f\u6210\u50cf\u7d20\u65f6\u949f<\/p>\n\n\n\n<p>\u5177\u4f53\u5982\u4e0b<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">    reg PIX_CLK;\n    wire PIX_CLK_5X;\n    clk_wiz_0 u2(\n        .clk_in1(clk),\n        .clk_out1(PIX_CLK_5X)\n    );\n    \n    reg [2:0]count;\n    always@(posedge PIX_CLK_5X)begin\n       if(count&gt;=3'd4)begin PIX_CLK&lt;=1'b1;count&lt;=3'd0;end\n       else begin  PIX_CLK&lt;=1'b0; count&lt;=count+1'b1;end\n    end<\/pre>\n\n\n\n<p>\u901a\u8fc7\u4e0a\u8ff0\u65b9\u5f0f PLL \u751f\u6210\u4e00\u4e2a5\u500d\u7684\u50cf\u7d20\u65f6\u949f PIX_CLK_5X\u7684\u65f6\u949f\uff0c\u800c\u7ecf\u8fc7always\u5757\u76845\u62cd\u5206\u9891\uff0c\u751f\u6210\u4e86\u4e2a\u5355\u500d\u7684\u65f6\u949fPIX_CLK\uff0c\u901a\u8fc7\u8fd9\u79cd\u65b9\u5f0f\uff0c\u53d7PLL\u7684\u9650\u5236\u6bd4\u8f83\u5c0f\u3002<\/p>\n\n\n\n<p>\u4e3b\u5206\u8fa8\u7387\u8bbe\u7f6e\u6210742.5M\uff08148.5M\u76845\u500d\uff09\u5b9e\u9645PLL\u500d\u9891\u51fa\u7684\u7ed3\u679c\u662f742.188M \u7a0d\u6709\u533a\u522b\uff0c\u8fd9\u91cc\u53ef\u80fd\u4f1a\u5bfc\u81f4\u90e8\u5206\u663e\u793a\u5668\u4e0d\u517c\u5bb9<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"722\" height=\"436\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-31.png\" alt=\"\" class=\"wp-image-1032\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-31.png 722w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-31-300x181.png 300w\" sizes=\"auto, (max-width: 722px) 100vw, 722px\" \/><\/figure>\n\n\n\n<p>\u4e0b\u9762\u662f 1080P 60HZ \u7684\u4f8b\u5b50\uff0c\u7528\u4e86\u4e0a\u8ff0\u65f6\u949f\u751f\u6210\u7684\u65b9\u6cd5\uff08\u5907\u6ce8\uff0c<strong>\u56e0\u4e3a1080P\u60c5\u51b5\u4e0bmmcm\u7684\u65f6\u949f\u5df2\u7ecf\u8d85\u8fc7mmcm IP\u8bbe\u7f6e\u7684\u6700\u5927\u63a8\u8350\u503c\u4e86<\/strong>\uff0c\u589e\u52a0\u4e0d\u540c\u7684\u663e\u793a\u529f\u80fd\u65f6<strong>\u5bf9\u903b\u8f91\u7684\u65f6\u5e8f\u7ea6\u675f\u8981\u6c42\u6bd4\u8f83\u9ad8<\/strong>\uff0c\u6240\u4ee5\u589e\u52a0\u81ea\u5df1\u7684\u529f\u80fd\u53ef\u80fd\u4f1a\u51fa\u73b0\u4e0d\u53ef\u9884\u6599\u7684\u7ed3\u679c\uff0c\u5efa\u8bae\u5927\u5bb6\u81ea\u884c\u5c1d\u8bd5\uff0c<strong>\u5982\u679c\u662f\u5b66\u4e60\u8c03\u8bd5\uff0c\u53ef\u4ee5\u5148\u4ece720P\u7684\u4ee3\u7801\u5165\u624b<\/strong>\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"666\" src=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-32.png\" alt=\"\" class=\"wp-image-1037\" srcset=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-32.png 744w, http:\/\/www.hellofpga.com\/wp-content\/uploads\/2022\/10\/image-32-300x269.png 300w\" sizes=\"auto, (max-width: 706px) 89vw, (max-width: 767px) 82vw, 740px\" \/><\/figure>\n\n\n\n<p>\u4ee5\u4e0b\u662f 1080P 60HZ\u7684\u5b8c\u6574\u4ee3\u7801 \uff1a<strong>(\u677f\u5b50\u6709\u591a\u4e2a\u7248\u672c\uff0c\u8bf7\u6309\u7167\u5bf9\u5e94\u677f\u5b50\u7684\u82af\u7247\u578b\u53f7\u8fdb\u884c\u4e0b\u8f7d\u6d4b\u8bd5)<\/strong><\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-29b86524-ea73-4fde-b395-f24474c12357\" href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_1080P_60HZ_XC7Z020_1.zip\">05_PL_HDMI_TEST_1080P_60HZ_XC7Z020_1<\/a><a href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_1080P_60HZ_XC7Z020_1.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-29b86524-ea73-4fde-b395-f24474c12357\">\u4e0b\u8f7d<\/a><\/div>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-7c4519fc-96d4-45ce-863f-4cf1f9be3c6b\" href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_1080P_60HZ_XC7Z010_1.zip\">05_PL_HDMI_TEST_1080P_60HZ_XC7Z010_1<\/a><a href=\"http:\/\/www.hellofpga.com\/wp-content\/uploads\/2023\/01\/05_PL_HDMI_TEST_1080P_60HZ_XC7Z010_1.zip\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-7c4519fc-96d4-45ce-863f-4cf1f9be3c6b\">\u4e0b\u8f7d<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u672c\u6587\u6f14\u793a\u5982\u4f55\u7528PL\u903b\u8f91\u8d44\u6e90\u53bb\u9a71\u52a8\u6700\u5c0f\u7cfb\u7edf\u677f\u4e0a HDMI\u90e8\u5206\u7684\u7535\u8def\u6765\u5b9e\u73b0\u70b9\u5c4f\u7684\u64cd\u4f5c<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-2490","post","type-post","status-publish","format-standard","hentry","category-smart-zynq-board"],"views":987,"_links":{"self":[{"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/posts\/2490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/comments?post=2490"}],"version-history":[{"count":8,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/posts\/2490\/revisions"}],"predecessor-version":[{"id":2510,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/posts\/2490\/revisions\/2510"}],"wp:attachment":[{"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/media?parent=2490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/categories?post=2490"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.hellofpga.com\/index.php\/wp-json\/wp\/v2\/tags?post=2490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}