![](data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEARgBGAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAMDAlQDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiori6t7OIy3M8UEY6vK4UD8TWYfFvhsHB8Q6Tn/AK/Y/wDGgDYorHHi3w0TgeIdJJ/6/Y//AIqtK2u7a8iEtrcRTxno8ThgfxFAE1FFFABRRRQAUUUUAFFFFABRRQCD0OaACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsHxD4kttChUPdWC3b8xw3l15IYdzkKx/St6vAvFnxBWXxPfJb6wIY4pTEiR319D93g5VISuc+hNAF7U9ZDJLcz+IIZSNziJfFCqGPXaoa2CjPQciuEu7jXPEU01pBJPdW8h3C0/tyyn4HTIxz+VaCeO9Kk1O1j8Qapf3Om4LOLbUbuQ7v4TtljXPPGQRwT9K9U8HfEXwJfxGDTbmDTmDLERdbYXlPO3kn5jge/PHcZAPKtL+EniHU4HlGkRW4VtoE09qSTj/Zib+n9a0LPwH498KXst1o2n3MJRirTWt5aIsirzkgoMqfQ+nTpXvNzr2k2dxBBcalapPccwQmYb5f8AcXOW9sCpbDVtP1aJ5LG7iuFRtj7G+aNv7rDqp9jg0Ac34O8bRa9px/tEW9lfw4EsRvYZQe24FGOMnsehrqoL21us/Z7mGbAyfLkDcfhT/l3YzzXLeILzTZ5m+wXCS65CPKiSCWXcpyvyy+VyByDh+PpyaAOtyPWiud8NWl4LKK/vL2+aSeMb7WZNqxnnja25geuTu5roR0FAC0UUUAFFFFABUcP3D/vt/wChGpKjh+4f99v/AEI0ASUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV4lqmiXMOrXUe+6wJmxtk1dhgnjBQFT1H3SRXttcD48026hb+1rdTJFhVlRftsj7ugISCQDGMfw/jQB4j42tZLG9tGn1G5tlkjIUPcX0QbB5x58ZJ6jocdK5bzo/8AoPSf+DCT/wCNV6jqM2oXNmUtodRhlBBUx2urpn2JLtgfhXLvqWpRuyPqk6spwQbnVAQf++aAOXE8ef8AkPSf+DCT/wCM17P8HdZjvjNDda09wdNiMxaSdnHlnd95mUcDcxzgHnkkAY4O2vdTu7qG2i1WXzJnWNM3epgZJwOSuK9E8TTXHgHwzDpkN7I+q6ohN3PPcXkyIoGCIioYryevB79cYAKOseObfX/E8GnaT4kuZhdXP2RYLaZo1ZWkX5twjHYYGM8Bsvzx39/4b0LS4ozf6vJbxOVihSXyBkjJVVBjyT9Mngegrm/hXoWpSudf1C6lktmQraqbu7bJzgsyTY7cDg9a7m0EU/jPUWnffPbW0KwRt0jjbcWZR/tMuCf9gUAZNjJ4Q0y7W8GrxNcwI6j7RMA0SjaGygA5G5eSM/MOea6N9d0yG6S1lvYVnaIzrGW+ZowMlgPT3qO+8P6bf6p9vmhX7SbOWyZ1wC8TlSQe5xt49Nx9ayvCNvcTm51LVHS41KFm0/z17xxHBIH8JdgXIHsP4RQBr2viHSb2VI7bULaR3QyKokGWUDJIHce4ptt4l0a7kijg1O1eSU7Y1Eg+dueF9TwePasTTRqGraXocf8AZ09ilqIJ/tU0kZ3BUxhAjMfmBI5x8pP0MEJvpfC1hE1tAtq91EpmScmWMeeCGC7MZzj+LjrzjBAOgk8UaLE86SanbK8BIlBb7hAzhvTgg/SpLjxDpVpMIrjULeN9iyEFvuoxwGY/wgngE4FYVmLl9b8UQra281tLqMKTiWT/AJZm2gD/AC4wflz1P595F0u4tbnXJ7GCx1Sy1AqZrMuI3QrCsZjDYZWBVRhW2gZ64NAGzN4i0mBYme/gCyRCdSGyPKPRzjov+0eKuWNxDd2cdzbypLDLl45EOVZSTgg+lcf4fgVt+s+HktbixvrO2jNlcSGOS2CR5VCwD/wOPlOOTnPzVo6V4h8OaR4Z0sz3lnotrJGyW9ve3CRFAh2lBubkrwDgmgDp6K5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qj/hO/B//AENeh/8Agxh/+KoA6Ciuf/4Tvwf/ANDXof8A4MYf/iqP+E78H/8AQ16H/wCDGH/4qgDoKK5//hO/B/8A0Neh/wDgxh/+Ko/4Tvwf/wBDXof/AIMYf/iqAOgorn/+E78H/wDQ16H/AODGH/4qrmm+JdB1m4a30vW9Nvp1Qu0drdJKwXIGSFJOMkDPuKANSiiigAooooAKKKKACiiigAooooAKKKKACiiigApCMilooA871r4M+EtRWaW00y2tbyVy5kbzZEyTk/IJFx9AQBXF3fwAubhgI59DhVT96OC5Ut9QZTXvFFAHjXg/4Ht4f8T2erXt3YzJat5ipAkoYvj5TlnI4PPQ9K7K9+Gmiaz4n/4SDWxJqF4jgwxyMRDEq/dUJkg+pzwTk45xXZ0UANVAqhQAABgAdqz77Rob65t7rzpre6twwjmgbDYOMqQchlyAcEEZA9K0qKAMq20G3t9RfUpJZrnUHj8n7ROQSkeQdqqAFUZAJwBkgZzipLHSVsLaeGK5nJmleYyPtLBmOSR8uOvPT/CtGigCrZWQsbGK0jldliQIjNjdgdOgA/SqsOiRw6Uun/aZ2jR1dHO3cpVgw7Y6juK1KKAMU+HI9+oMt/eJ/aD77gDy8MdipxlDj5VUfhnrmq8Hg+zs0uksry/tY7pVWdI7jhgECDGQdh2qBlMH3zjHRUUAc7Z+DrDTJ7iXS57uxFwsaSJDICm1I1jQBWBC4VQMjB96rap4Y1oabp1h4W8Sf2Bb2aujL9hS781eNuTIcgjB55zu56V1dFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8aP8AhEviH/0U/wD8oFv/AI16BRQB5/8A8Il8Q/8Aop//AJQLf/Gj/hEviH/0U/8A8oFv/jXoFFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8aP8AhEviH/0U/wD8oFv/AI16BRQB5/8A8Il8Q/8Aop//AJQLf/Gj/hEviH/0U/8A8oFv/jXoFFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8aP8AhEviH/0U/wD8oFv/AI16BRQB5/8A8Il8Q/8Aop//AJQLf/Gj/hEviH/0U/8A8oFv/jXoFFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8aP8AhEviH/0U/wD8oFv/AI16BRQB5/8A8Il8Q/8Aop//AJQLf/Gj/hEviH/0U/8A8oFv/jXoFFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8aP8AhEviH/0U/wD8oFv/AI16BRQB5/8A8Il8Q/8Aop//AJQLf/Gj/hEviH/0U/8A8oFv/jXoFFAHn/8AwiXxD/6Kf/5QLf8Axo/4RL4h/wDRT/8AygW/+NegUUAef/8ACJfEP/op/wD5QLf/ABo/4RL4h/8ART//ACgW/wDjXoFFAHn/APwiXxD/AOin/wDlAt/8a2PDeh+KtM1GSbXPGP8AbVq0RRbf+zIrba+QQ+5Dk4AIx7+1dRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQ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)
CY3110/CY3115/CY3110J
2
Verilog Compiler
Verilog is a powerful, non-proprietary language that is a stan-
dard for behavioral design entry and simulation, and is sup-
ported by major vendors of EDA tools. Verilog allows design-
ers to learn a single language that is useful for all facets of the
design process.
Verilog offers designers the ability to describe designs at many
different levels. At the highest level, designs can be entered as
a description of their behavior. This behavioral description is
not tied to any specific target device. As a result, simulation
can be done very early in the design to verify correct function-
ality, which significantly speeds the design process.
Warp2’s Verilog syntax also includes support for intermediate
level entry modes such as state tables and boolean entry. At
the lowest level, designs can be described using gate-level
RTL (Register Transfer Language) descriptions. Warp2 gives
the designer the flexibility to intermix all of these entry modes.
In addition, Verilog allows you to design hierarchically, building
up entities in terms of other entities. This allows you to work
either “top-down” (designing the highest levels of the system
and its interfaces first, then progressing to greater and greater
detail) or “bottom-up” (designing elementary building blocks of
the system, then combining these to build larger and larger
parts) with equal ease.
Because Verilog is an IEEE standard, multiple vendors offer
tools for design entry and simulation at both high and low lev-
els and synthesis of designs to different silicon targets. The
use of device-independent behavioral design entry gives users
the freedom to easily migrate to high volume technologies. The
wide availability of Verilog tools provides complete vendor in-
dependence as well. Designers can begin their project using
Warp2 for Cypress CPLDs and convert to high volume gate
arrays using the same Verilog behavioral description with
industry-standard synthesis tools.
The Verilog language allows users to define their own func-
tions. User-defined functions allow users to extend the capa-
bilities of the language and build reusable files of tested rou-
tines. Verilog also provides control over the timing of events or
processes. Verilog has constructs that identify processes as
either sequential, concurrent, or a combination of both. This is
essential when describing the interaction of complex state ma-
chines.
Verilog is a rich programming language. Its flexibility reflects
the nature of modern digital systems and allows designers to
create accurate models of digital designs. Because it is not a
verbose language it is easy to learn and compile a hardware
system. In addition, models created in Verilog can readily be
transported to other EDA Environments. Warp2 supports
IEEE 1364 Verilog including loops, reduction and conditional
operators, blocking and non-blocking procedural assign-
ments, as well as synthesis for integers.
Designing with Warp2
Design Entry
Warp2 descriptions specify:
1. The behavior or structure of a design, and
2. The mapping of signals in a design to the pins of a
PLD/CPLD (optional)
The part of a Warp2 description that specifies the behavior
or structure of the design is called a module. The module
declares the design’s interface signals (i.e., defines what ex-
ternal signals the design has, and what their directions and
types are).
The module portion of a design file is a declaration of what a
design presents to the outside world (the interface). For each
external signal, the module specifies a signal name, a direction
and a data type. In addition, the module declaration specifies
a name by which the entity can be referenced in other mod-
ules. This section shows code segments from four sample de-
sign files. The top portion of each example features the module
declaration.
Behavioral Description
The module portion of a design file specifies the function of the
design. As shown in Figure 1, multiple design-entry methods
are supported in Warp2. A behavioral description in Verilog
often includes well known constructs such as If…Else, and
Case statements. Here is a code segment from a simple
state machine design (soda vending machine) that uses
behavioral Verilog to implement the design:
MODULE drink (nickel, dime, quarter, clock,
returnDime, returnNickel,
giveDrink);
INPUT nickel, dime, quarter, clock;
OUTPUT returnDime,returnNickel,giveDrink;
REG returnDime, returnNickel, giveDrink;
PARAMETER zero = 0, five = 1, ten = 2,
fifteen = 3, twenty = 4, twentyfive = 5
owedime = 6;
REG[1:0] drinkStatus;
ALWAYS@ (POSEDGE clock)
BEGIN
giveDrink = 0;
returnDime = 0;
returnNickel = 0;
CASE(drinkStatus)
zero: BEGIN
IF (nickel)
drinkStatus = five;
ELSE IF (dime)
drinkStatus = ten;
ELSE IF (quarter)
drinkStatus = twentyfive;
END
five: BEGIN
IF (nickel)
drinkStatus = ten;
ELSE IF (dime)
drinkStatus = fifteen;
ELSE IF (quarter)
BEGIN
drinkStatus = zero;
giveDrink = 1;
END
END