diff --git a/lib/linguist/heuristics.yml b/lib/linguist/heuristics.yml index 000d5a5a92..5df52f04df 100644 --- a/lib/linguist/heuristics.yml +++ b/lib/linguist/heuristics.yml @@ -970,7 +970,7 @@ disambiguations: - language: Rocq Prover pattern: '(?:^|\s)(?:Proof|Qed)\.(?:$|\s)|(?:^|\s)Require[ \t]+(Import|Export)\s' - language: Verilog - pattern: '^[ \t]*module\s+[^\s()]+\s+\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale)|^[ \t]*always[ \t]+@|^[ \t]*initial[ \t]+(begin|@)' + pattern: '^[ \t]*module\s+[^\s()]+\s*\#?\(|^[ \t]*`(?:define|ifdef|ifndef|include|timescale|pragma)|^[ \t]*always[ \t]*@|^[ \t]*initial[ \t]*(begin|@)' - language: V pattern: '\$(?:if|else)[ \t]|^[ \t]*fn\s+[^\s()]+\(.*?\).*?\{|^[ \t]*for\s*\{' - extensions: ['.vba'] diff --git a/samples/Verilog/encrypted_module.v b/samples/Verilog/encrypted_module.v new file mode 100644 index 0000000000..226eca93d2 --- /dev/null +++ b/samples/Verilog/encrypted_module.v @@ -0,0 +1,76 @@ +`pragma protect begin_protected +`pragma protect version = 1 +`pragma protect encrypt_agent = "XILINX" +`pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2014" +`pragma protect key_keyowner = "Cadence Design Systems.", key_keyname= "cds_rsa_key", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 64) +`pragma protect key_block +BtrP/FiKT4cAIn9g/cLi+3bcreZzl8S+GQkeXK138B55MMOjow31+bevhaCy8/OUqRJOXmoFAjjC +ag+Ia49Vcw== + +`pragma protect key_keyowner = "Mentor Graphics Corporation", key_keyname= "MGC-VERIF-SIM-RSA-1", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128) +`pragma protect key_block +EaReJ4Y4kHzC9SLjK92Mjfwixi4UfUNRpYevnAoNW9iCwgAzGHKJWatSzB/sFUjptorl0o38Tkyb +/mwEj0iblJzgM70crbOp8h1FSZSxWpPeku4OmV17wg2T0IAyS2x3Z8Ln/K8kgDgVlS3dVrh/BulN +ouU2cu08vQ9CSau3QMA= + +`pragma protect key_keyowner = "Synopsys", key_keyname= "SNPS-VCS-RSA-1", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 128) +`pragma protect key_block +X718ly9oxX5OxKADbTPXe49kKf8x77G1Y+oCmjDHObDXGgYToKygNkWiDVqvid3JCNuC8QX+Bt5U +LGwXDozhdDonelEWvXDYzAZ/NMJQybpuj3rEIuog0YtLSxxc7cLln1MUBVdUFJF5GGbiQ+krMfGm +XkwA6ltQ4SExC00ka+U= + +`pragma protect key_keyowner = "Aldec", key_keyname= "ALDEC15_001", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256) +`pragma protect key_block +FavYF9n1D1ZEqP7w0DJ0F/3BVdRQVBwGrU0Xh14WIw7RznS84eZnydcL51gttmvTUUe2Q/M19qqy +AxnjtBOZWXNl2WpObHqxu+zePpPtJempqnZgcG/tMcyJ5gepOylwc4vnHGQTzfJmQ5tGdYeQTN1J +nHYw6rlQhvsR/X+aNzKBt3VLKD7GAbivjrcp+CtW+GiQAYGuV2t2whw1Y2ZBCa5dKFkJYQQ9I8YK +30Fmq5As6CcbF69p8cSU95qwLTG3Lc5pDd3D998/A9f8oaF5BhRo7DZ16wqD9UAsBgch3AzbDuBU +UofRED7kkCoKn9YqIq5qt98SWLn/Qpu9O+v/yg== + +`pragma protect key_keyowner = "ATRENTA", key_keyname= "ATR-SG-2015-RSA-3", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256) +`pragma protect key_block +KZvW9p2sDxpEFCd9AsiM2YCXm3l9xYlzGVFuonIsAZ/9egCRTWesBtFaLSAhxOwQs0t8G95wYLpy +29LYXUNxlixAvci0eyV3jiXBbARzQ+mepbTWrQHboCX39Wtgh0x0FyA3tiMfzYIm2mJWjDGbAvbd +A6OjKblz8AANIEu/asDVaR3Oebn/yY61dFYJXhojijw4KiPpmX93pS5zgki3C17VQu1T9OdyfzfD +HI+flX+2BEUJ9J8WxcxBJRQ6WgWXav4Nxv7bSl85cMyj3y7nKF8jDiczfJ6YYUv2F8QjP0rj4VUs +fnoNuOaGNtV1E8LLSWfMf6uTfIk9zKVeA0i4xQ== + +`pragma protect key_keyowner = "Xilinx", key_keyname= "xilinx_2016_05", key_method = "rsa" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 256) +`pragma protect key_block +CCaF/36/hLxEK+Qhf7KrAS2FUQgTamDg47PImlUX/X2ecapU9Vqc5AErcJxNzyMCMype3X9UtDrN +bHQEiStJOIAcxZup6yLKPzpnmJAbbJCibol1+UOvrjJBhJaEy01vjwltiFYYbG3uHKZ+yTbS6f6d +1j46DBhz2tgrFvKo39Q5rDMNL1Wn7W6BzuHMDWveqGGfMXOJ9a2v7Ze9BU4ArhQ75S6tz1k5MMS7 +xx9yWR/3qIVeBTHkTVgIcrvwooKQjReeJFOlvsY5kBH5Qvjj9ApcFLBMBaIImpjOJEG69uSU0YDb +vN1mUxtuKy82Aqy3tJqaT7VJ1a0yVxXlLyHq8A== + +`pragma protect data_method = "AES128-CBC" +`pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 438576) +`pragma protect data_block +U37lCH7MEZplkeIoaPPzYnHBMKwQu/RlhYwrWCai0IIS3Wwea9YtMU4FEAiyAeaH2lsIWSdCjGhm +dstelEP2SUx0pzDpFU5ZsDxt4PS0AXPsq+An1VW4Jzeh2uhO2F67Oh4qAYJboJKURGZlnTI5RK1q +ao1by0sAle6OawA6tAyROUhXIqPf/aPFurK9a+WfbVthTWIqW5w+akNl2ujndbrLRA1U8tFMBifK +iqzc6YYYTxnba/nX5zodJdUPkhpDarbc9bcmErhpifH+h+cApREaZqc2Un759bkgDj17kRqPfe9z +vrwo2fMYJiPBTN8Y27IrQWtuIyKjfT67/OztiBpmmfUcqCVcaqPc9bsMSQTt90aPaVsnICdaLS20 +Ugk5kdUlnd4ogHzI92SOkKUBY0PNsxXQ1kmS4A3viD6qw7lBYVMI/NYoDJMLBs0Qju7RBXc6j8jt +sgaCpMEy5Z65LEkNIDKk3yUdfdG3BpDZLelTOKAElAJaPMt0M+Mal4jg/Zh/io1z7QcIHkAumLE/ +VlCORgoyc6N3fmE3WF/WMG2rfYIT8/WOukE67f+PWEL13WWqPxBfYNXN5FteX6Sh4BbB+aCap4/p +xwhBteaDtaxhs7VJMNTCAlt4NSqtD+fusUMDU1pVPEQ87h+87SSzllgWjw7C0LR1qAx6sa5XWDx+ +is3uHtwma0j6zg58zWR8TyymjT/InqPcaOo5+RdlW8t7u4jPvvnWAC8ZfhdGoz1/llH5bbVwxmrN +09EywTIB6jlK0RPKYDWj8RbySQI1G/24T1Gl/xzJE9zRAeXpLOZLweJirgIFXQMdJXBd/JmUsYu4 +ZdSHvIMhX2OBFlnfTBuzKo3hAoI68i98vdynNZ0P6obT1+5/ENNVnEHn4ChSuBAYQHC5qg4NRRzs +d3Zsj45yPATI2vPyv9gGRG6yY9HHet1jT20dhm2+Tl8dZA0fJd/OYAM0hFMp4wMct6YZWZcyKVBp +b7Gx3MTy9kUTIa5ywsdIgQQoLm4qBDe6oIWNlOtoKB9sMG740lvsQ4s02CvDFLDnWFiNo6+G89T3 +mLNXAtr8ZukyTvFRaL2YatNUeNakCgPZ8/7z18B0pkGWkfY0eMe/Ox6reTkepXyw8wGkQpZ8lZsK +ZxgjB6pLnEamjI599PcU7GoprTlILgOZHPLjw9tjFo4Hv5L2iQ/p7A7xhIUYbb7FCHa0qK24eX3Q +4cU0fjV1WvG25dwAS5BqmZX+AoPnKPw7o0wFWnbqNkVJcudyEGham5sCDWg6lY/00ZXG3lM09rNL +PvMkAU1TYVzSiNf7eF0Lsm7IjHkkJeiAiPhLGzPiB2YIwHxC+NQUSQhvp34bcWzweJ+utLuLH5n+ +hdTTcyWMs50UD2IuHvCZwuUctzWtFm1TwlTJk+QzGS0afwC+QsGEzu5K9ObWMvGTF9P6V0JAh1Kq +yF97ssM7lSDMpT3eiORcpHwkFUu3FBj2uihE0YZxhNMnY8eZYCL5UE5OKkFbkL0t2NaALGN+NEEQ +fEFbs9S9D9QJSitqjSnz+2Im +`pragma protect end_protected diff --git a/samples/Verilog/module_stub.v b/samples/Verilog/module_stub.v new file mode 100644 index 0000000000..a415233ad5 --- /dev/null +++ b/samples/Verilog/module_stub.v @@ -0,0 +1,26 @@ +// Copyright 1986-2016 Xilinx, Inc. All Rights Reserved. +// -------------------------------------------------------------------------------- +// Tool Version: Vivado v.2016.2 (win64) Build 1577090 Thu Jun 2 16:32:40 MDT 2016 +// Date : Fri May 02 13:58:04 2025 +// Command : write_verilog -force -mode synth_stub +// Purpose : Stub declaration of top-level module interface +// Device : xc7k456-2 +// -------------------------------------------------------------------------------- + +// This empty module with port declaration file causes synthesis tools to infer a black box for IP. +// The synthesis directives are for Synopsys Synplify support to prevent IO buffer insertion. +// Please paste the declaration into a Verilog source file or add the file as an additional source. +(* x_core_info = "fifo_generator_v13_1_1,Vivado 2016.2" *) +module fei4_spy_fifo(rst, wr_clk, rd_clk, din, wr_en, rd_en, dout, full, empty, valid) +/* synthesis syn_black_box black_box_pad_pin="rst,wr_clk,rd_clk,din[35:0],wr_en,rd_en,dout[35:0],full,empty,valid" */; + input rst; + input wr_clk; + input rd_clk; + input [35:0]din; + input wr_en; + input rd_en; + output [35:0]dout; + output full; + output empty; + output valid; +endmodule \ No newline at end of file