diff options
| author | Eric Dao <eric@erickhangdao.com> | 2025-03-10 17:54:31 -0400 |
|---|---|---|
| committer | Eric Dao <eric@erickhangdao.com> | 2025-03-10 17:54:31 -0400 |
| commit | ab224e2e6ba65f5a369ec392f99cd8845ad06c98 (patch) | |
| tree | a1e757e9341863ed52b8ad4c5a1c45933aab9da4 /python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv | |
| parent | 40da1752f2c8639186b72f6838aa415e854d0b1d (diff) | |
| download | thesis-master.tar.gz thesis-master.tar.bz2 thesis-master.zip | |
Diffstat (limited to 'python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv')
| -rw-r--r-- | python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv new file mode 100644 index 0000000..9cd9c63 --- /dev/null +++ b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_dot.sv @@ -0,0 +1,238 @@ +`pragma protect begin_protected +`pragma protect version=1 +`pragma protect author="Intel Corporation" +`pragma protect encrypt_agent="Quartus Prime Pro Software" +`pragma protect encrypt_agent_info="17.1" + +`pragma protect key_keyowner="Intel Corporation" +`pragma protect key_method="rsa" +`pragma protect key_keyname="Intel-FPGA-Quartus-RSA-1" +`pragma protect encoding=(enctype = "base64", line_length = 76, bytes = 256) +`pragma protect key_block +kAm5fFo7+pBTXJ9xhb1QNMdcE74A74cZu1fwPJhrG7Pgjd99FO4pPbyobk0lLmYjPy7BalTFcC/P +yjQzQ4wVVZbLSEM9nHuQBYB7oxIhUNpj+VmF21z6xGBf7q9w8rAW8l0z1j5gnz7GktXH1ZCgAm9g +s4B43AyC4mxSMKo42IcFDjQL60450kfjmC6todLlo1aluiO1xw6aB3yvG4JfYRLX3qoSpDYGJRfq +kZ9aIi/iX0usOn0kIyILicY4OKLflIGpP6L1u7UcOi45LHnuhzDYWCF5cTNH6tcpQPonLm6tDpeV +RKFyeVg3jfzGGs1+vQbAmEttqjkG7EBMd9FzQg== + +`pragma protect data_method="aes128-cbc" +`pragma protect encoding=(enctype = "base64", line_length = 76, bytes = 12352) +`pragma protect data_block +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 +`pragma protect end_protected |
