2025-01-19 14:01:08 +03:00

443 lines
32 KiB
Plaintext

//
//Written by GowinSynthesis
//Tool Version "V1.9.9.03 Education (64-bit)"
//Sat Jan 18 22:12:34 2025
//Source file index table:
//file0 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/ALU.v"
//file1 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/BinaryToBCD.v"
//file2 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/addition.v"
//file3 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/arithmeticUnit.v"
//file4 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/bttn.v"
//file5 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/dabble.v"
//file6 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/fulladder.v"
//file7 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/fullsubtraction.v"
//file8 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/halfadder.v"
//file9 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/halfsubtraction.v"
//file10 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/logicUnit.v"
//file11 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/multiplier.v"
//file12 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/opCode.v"
//file13 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/selector.v"
//file14 "\//wsl.localhost/Debian/home/koray/code/verilog/gowin/bttn/src/subtraction.v"
`pragma protect begin_protected
`pragma protect version="2.3"
`pragma protect author="default"
`pragma protect author_info="default"
`pragma protect encrypt_agent="GOWIN"
`pragma protect encrypt_agent_info="GOWIN Encrypt Version 2.3"
`pragma protect encoding=(enctype="base64", line_length=76, bytes=256)
`pragma protect key_keyowner="GOWIN",key_keyname="GWK2023-09",key_method="rsa"
`pragma protect key_block
XUxlt4kAZNWx+CZjpNFOxuyr5JO+J79HgKtXfRxwq3+j18TlfhUIlARkWKvjVVOxCF/MUt/NWoaJ
4ms5amTKHFuEObR0JwM3EOMte3cvLoPmahEU0sXSzQhKtOe+5EgFItJXy8m5ck6UFNwkGI7DU5av
EY+ZNc/foLf/qnSH7KqE13zSAMw6Yki5jMuAAExtuXbDsoISpuu8gvDgoaE6ZE4b+fCD/2gHIH8o
IlRz3L3ftcIfut5/DMSxtM/Io4DCvzqs/bAu1gvr/SdXbsdVpidDuEGk/Ds2uSIINeGEznqIPrjy
xzWh6Fb/1+hkQegvfmRYRxZbbW0acmF5V2ilMg==
`pragma protect encoding=(enctype="base64", line_length=76, bytes=22736)
`pragma protect data_keyowner="default-ip-vendor"
`pragma protect data_keyname="default-ip-key"
`pragma protect data_method="aes128-cfb"
`pragma protect data_block
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
`pragma protect end_protected