summaryrefslogtreecommitdiff
path: root/python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv
diff options
context:
space:
mode:
authorEric Dao <eric@erickhangdao.com>2025-03-10 17:54:31 -0400
committerEric Dao <eric@erickhangdao.com>2025-03-10 17:54:31 -0400
commitab224e2e6ba65f5a369ec392f99cd8845ad06c98 (patch)
treea1e757e9341863ed52b8ad4c5a1c45933aab9da4 /python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv
parent40da1752f2c8639186b72f6838aa415e854d0b1d (diff)
downloadthesis-master.tar.gz
thesis-master.tar.bz2
thesis-master.zip
completed thesisHEADmaster
Diffstat (limited to 'python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv')
-rw-r--r--python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv196
1 files changed, 196 insertions, 0 deletions
diff --git a/python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv
new file mode 100644
index 0000000..e2151be
--- /dev/null
+++ b/python/openvino/demo/ip/intel_ai_ip/verilog/dla_alm_pipelined_accum.sv
@@ -0,0 +1,196 @@
+`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
+kxf5pJb0FJ7DPt7z7l+70wvBRAIjd3SM0fWh4BPOUmYtXQKPz5P8+fGK6qFaT7a/43Ky4VWKw0Qh
+1HAbsZ5uHL6Jq/qDOu85ocSOkNFbrMwYYiqbGCC1MolKOYZGS0oCwDHbqcMTmQh1BSehNtY1RSH1
+G62eS+Nclqwa9sttFLOdCDnUcNkSeizrUJO3/Jvo6TyfpIqJ8deqcQhn5RKYxfSx+kw2PEPw0bng
+io7XUYGmMeu289Vn75skB4hHjBblN5aChD7VItVKGruDjXXVqOTWvbA4wSvZpitjll4MR+b9WDUV
+Fi1yezCOzeensksnTF3ivR0sQ/BdRr34tLEW6g==
+
+`pragma protect data_method="aes128-cbc"
+`pragma protect encoding=(enctype = "base64", line_length = 76, bytes = 9920)
+`pragma protect data_block
+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
+jvs=
+`pragma protect end_protected