{"id":312794,"date":"2020-11-09T09:01:01","date_gmt":"2020-11-09T09:01:01","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312794"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312794","title":{"rendered":"\u0421\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0424\u0443\u0440\u044c\u0435 \u043d\u0430 FPGA"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u0440\u044c\u0435 \u043d\u0430 \u041f\u041b\u0418\u0421. \u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043b\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0443 \u0441\u0435\u0431\u044f \u0432 \u0433\u043e\u043b\u043e\u0432\u0435. \u0410 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043d\u0430 \u041f\u041b\u0418\u0421, \u0442\u043e \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u043d \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043c\u043d\u0435 \u0437\u043d\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439\u00bb \u0441\u0445\u0435\u043c\u044b \u043e\u0447\u0435\u043d\u044c \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424 \u0434\u0430\u0436\u0435 \u043d\u0430 \u0441\u0430\u043c\u044b\u0445 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0430\u0445 \u041f\u041b\u0418\u0421. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430: \u043e\u0442 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u0434\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u041f\u041b\u0418\u0421 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0435\u0439 DDR-\u043f\u0430\u043c\u044f\u0442\u0438. \u0421\u0442\u0430\u0442\u044c\u044f \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u0442 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0437\u0430\u0434\u0430\u0447 \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043e\u043f\u0438\u0448\u0435\u0442 \u043c\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u043f\u044b\u0442. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xm\/tk\/ob\/xmtkobp79jxllannzysna6adutc.png\"><br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h3>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h3>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u044c\u0442\u0435, \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0448\u0438\u0440\u043e\u043a\u043e\u043f\u043e\u043b\u043e\u0441\u043d\u044b\u0439 \u0441\u043f\u0435\u043a\u0442\u0440\u043e\u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u0441 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0449\u0435\u0439 \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u0435. \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0447\u0442\u043e \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043b\u0438\u043d\u0430 \u0411\u041f\u0424, \u0442\u0435\u043c \u0432\u044b\u0448\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u044e\u0449\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043e\u0442 \u0410\u0426\u041f, \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0435\u043a\u0443\u044e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0432\u043d\u0443\u0442\u0440\u0438 FPGA \u0438 \u0432\u044b\u0434\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0441\u043a\u043e\u0440\u043e\u0441\u0442\u043d\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, PCIe, USB etc.) \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0430\u0434\u0438\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u0424\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c: \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0424\u0443\u0440\u044c\u0435<\/li>\n<li>\u0414\u043b\u0438\u043d\u0430 \u0411\u041f\u0424 \u043e\u0442 256K \u0434\u043e 256M \u0442\u043e\u0447\u0435\u043a.<\/li>\n<li>\u041d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0430\u043b\u0442\u0430\u0439\u043c\u0435.<\/li>\n<li>\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u2014 \u043e\u0442 1 \u0434\u043e N.<\/li>\n<li>\u0420\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0410\u0426\u041f \u2014 \u043e\u0442 16 \u0431\u0438\u0442.<\/li>\n<li>\u041a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435.<\/li>\n<li>\u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 \u0410\u0426\u041f \u2014 \u043e\u0442 200 \u041c\u0413\u0426 \u0438 \u0432\u044b\u0448\u0435.<\/li>\n<li>\u041d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u043e\u0439 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0435\u0440\u0435\u0434 \u0437\u0432\u0435\u043d\u043e\u043c \u0411\u041f\u0424.<\/li>\n<\/ul>\n<p>  \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c\u2026<\/p>\n<h3>\u041a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!<\/h3>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u0440\u044c\u0435, \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u041b\u0418\u0421 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0445\u0435\u043c \u0411\u041f\u0424 \u043f\u0440\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u0438\u043d\u0430\u0445. \u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437-\u0437\u0430 \u044d\u0442\u043e\u0433\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/p>\n<p>  \u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443\u0437\u0435\u043b \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u043e\u0439 \u043e\u0442 256\u041a \u0434\u043e 64\u041c \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432. \u0412 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0435 \u043e\u0442 \u043b\u0438\u0434\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432 Xilinx &amp; (ex. Altera) Intel \u043d\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u044f\u0434\u0435\u0440 \u0441 \u0434\u043b\u0438\u043d\u043e\u0439 \u0411\u041f\u0424, \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u044e\u0449\u0435\u0439 64\u041a \u0442\u043e\u0447\u0435\u043a. \u041f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u0441\u043b\u0443\u0436\u0438\u0442 \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 \u0440\u0430\u0441\u0445\u043e\u0434 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 (BRAM) \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0430 \u041f\u041b\u0418\u0421 \u043f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u0434\u043b\u0438\u043d\u044b \u0411\u041f\u0424. \u041d\u0435 \u0441\u043f\u0430\u0441\u0430\u0435\u0442 \u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 URAM \u0431\u043b\u043e\u043a\u043e\u0432 \u0432 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430\u0445 \u043e\u0442 Xilinx. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u0441\u0432\u043e\u0435 \u0441\u0443\u043f\u0435\u0440-\u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0411\u041f\u0424 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0443\u0437\u043b\u043e\u0432 \u0431\u0430\u0431\u043e\u0447\u0435\u043a \u0438 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0443\u0437\u043b\u043e\u0432, \u0432\u044b \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u041f\u041b\u0418\u0421. <b>\u041f\u043e\u0447\u0435\u043c\u0443?<\/b><\/p>\n<p>  \u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u0434\u043b\u0438\u043d\u044b \u0411\u041f\u0424 \u0432 N \u0440\u0430\u0437, \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0432\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0436\u0435 \u0440\u0430\u0437 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044a\u0435\u043c \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 BRAM. \u0414\u043b\u044f \u0411\u041f\u0424 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u0447\u0438\u0441\u043b\u043e \u0443\u0437\u043b\u043e\u0432 BRAM \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u043b\u044f \u0411\u041f\u0424 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0435\u0449\u0435 \u043f\u0435\u0441\u0441\u0438\u043c\u0438\u0441\u0442\u0438\u0447\u043d\u0435\u0435. \u042d\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0430\u0434\u0438\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0411\u041f\u0424 (\u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0439 \u0431\u0430\u0431\u043e\u0447\u043a\u0438) \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0430\u0441\u0442\u0435\u0442 \u043d\u0430 1 \u0431\u0438\u0442.<\/p>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0443\u0437\u043b\u0430 \u0411\u041f\u0424 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435   <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/ff0\/54b\/ecc\/ff054becc2ab9de5c5c032d895277cfc.svg\" alt=\"$N_{OUT} = N_{IN} + \\log_2(N_{FFT})$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u043e\u0439 1\u041c \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432 \u043f\u0440\u0438\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0438\u0433\u043d\u0430\u043b\u0443 20 \u0431\u0438\u0442. \u0415\u0441\u043b\u0438 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0438\u043c\u0435\u0435\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c 16 \u0431\u0438\u0442, \u0442\u043e \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0431\u0443\u0434\u0435\u0442 36 \u0431\u0438\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/bh\/hi\/zc\/bhhizcxfayhblmznpnixjh_dsp4.png\"><\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u0411\u041f\u0424 64\u041a \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 Xilinx. \u041f\u043e \u0433\u0440\u0443\u0431\u043e\u0439 \u043e\u0446\u0435\u043d\u043a\u0435, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0431\u043b\u043e\u043a Floating-Point FFT \u043d\u0430 1\u041c \u0442\u043e\u0447\u0435\u043a, \u0442\u043e \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <b>400 * 16 = 6400<\/b> \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u0438\u043f\u0430 RAMB36K \u0438\u043b\u0438 ~ <b>220 \u041c\u0431\u0438\u0442<\/b>! \u0422\u0430\u043a\u0438\u043c\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u043f\u043e\u0432\u044b\u0439 Virtex UltraScale+ (VU29P) \u0438 \u0442\u043e \u0437\u0430 \u0441\u0447\u0435\u0442 URAM \u044f\u0447\u0435\u0435\u043a.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/9k\/vs\/u1\/9kvsu104lg2ojmtfkhhh5xckzde.png\"><\/p>\n<p>  \u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0435\u0441\u0442\u044c \u0443 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 FPGA \u043e\u0442 Xilinx \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0441\u0435\u0440\u0438\u0438 <b>Kintex<\/b>.<\/p>\n<p>  <b>Kintex Ultrascale<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/1q\/od\/6_\/1qod6__xtk8lxqsibwbypykkn20.png\"><\/p>\n<p>  <b>Kintex Ultrascale+<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kg\/jr\/fe\/kgjrfeuivgb3wqf2gu-ha-rucqe.png\"><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u041f\u041b\u0418\u0421 \u043f\u043e \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0438\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0411\u041f\u0424 \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u0434\u043b\u0438\u043d\u044b 1\u041c \u0442\u043e\u0447\u0435\u043a \u0432 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0432\u0438\u0434\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 <b>\u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e<\/b>.<\/p>\n<h3>\u0421\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0435 \u0411\u041f\u0424<\/h3>\n<p>  \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0440\u044e\u043a \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u0411\u041f\u0424 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u0433\u043e. <\/p>\n<p>  \u041e\u0431\u0449\u0430\u044f \u0438\u0434\u0435\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0435\u043a\u0442\u043e\u0440 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0434\u043b\u0438\u043d\u044b N \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 N1 \u0438 N2 \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432 (\u0433\u0434\u0435 N1 \u0438 N2 \u043a\u0440\u0430\u0442\u043d\u044b \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0434\u0432\u043e\u0439\u043a\u0438). \u042d\u0442\u043e\u0442 \u0432\u0435\u043a\u0442\u043e\u0440 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0440\u0430\u0437\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0438 N1 x N2, \u043d\u0430\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u043e\u0439 N1 \u0438 N2 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043a \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c. <\/p>\n<p>  \u0424\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0411\u041f\u0424:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f50\/ff0\/982\/f50ff0982b1ed997f9e62d22951552a0.svg\" alt=\"$X[k] = \\sum_{n=0}^{N-1}x[n]e^{\\frac{-j2\\pi nk}{N}}$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u0420\u0430\u0437\u043e\u0431\u044a\u0435\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c N \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 N1 \u0438 N2, \u0442\u043e\u0433\u0434\u0430:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/402\/485\/256\/402485256290544c86ac5f43efa3be09.svg\" alt=\"$k = k_1N_2 + k_2 \\\\ n = n_2N_1 + n_1$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u0422\u043e\u0433\u0434\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0438\u0434:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/73c\/955\/d66\/73c955d669872a18c70435ea5ee0e1ea.svg\" alt=\"$X[k_1N_2+k_2] = \\sum_{n_1=0}^{N_1-1}\\sum_{n_2=0}^{N_2-1}x[n_2N_1+n_1]W^{(n_2N_1+n_1)(k_1N_2+k_2)}$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f4a\/d3f\/664\/f4ad3f6646504cad5b3d9fd049b6f819.svg\" alt=\"$X[k_1N_2+k_2] = \\sum_{n_1=0}^{N_1-1}W^{n_1k_1N_2}W^{n_1k_2}\\sum_{n_2=0}^{N_2-1}x[n_2N_1+n_1]W^{k_2k_2N_1}$\" data-tex=\"display\"><\/math><\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:  <\/p>\n<p><math><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/e07\/9cb\/955\/e079cb95510945264204fef8e47dcb56.svg\" alt=\"$X[k_1N_2+k_2] = \\sum_{n_1=0}^{N_1-1}[e^{\\frac{-j2\\pi n_1k_1}{N}}\\sum_{n_2=0}^{N_2-1}x[n_2N_1+n_1]e^{\\frac{-j2\\pi n_2k_2}{N_2}}] e^{\\frac{-j2\\pi n_1k_1}{N_1}} $\" data-tex=\"display\"><\/math><\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0435 \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u044b N \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0434\u0432\u0430 \u0411\u041f\u0424 \u0441 \u0434\u043b\u0438\u043d\u0430\u043c\u0438 N1 \u0438 N2, \u0438 \u0434\u043e\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0411\u041f\u0424 \u043d\u0430 \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438.<\/p>\n<p>  \u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fe\/uj\/rj\/feujrjr3upsjilfzfarqn--4nzy.png\"><\/p>\n<p>  \u0421\u0442\u0430\u0434\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430:<\/p>\n<ul>\n<li>\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 K1 x K2<\/li>\n<li>\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0411\u041f\u0424 \u043f\u043e K1 \u0441\u0442\u0440\u043e\u043a\u0430\u043c K2 \u0440\u0430\u0437<\/li>\n<li>\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b<\/li>\n<li>\u0423\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432 \u043d\u0430 \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438<\/li>\n<li>\u0412\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0411\u041f\u0424 \u043f\u043e K2 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c K1 \u0440\u0430\u0437<\/li>\n<li>\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043e\u0434\u043d\u043e\u043c\u0435\u0440\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440<\/li>\n<\/ul>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u0440\u0438 \u0443\u0437\u043b\u0430 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0434\u0432\u0430 \u0431\u043b\u043e\u043a\u0430 \u0411\u041f\u0424 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0434\u043b\u0438\u043d\u044b, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424. <\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0440:<\/b> \u044f\u0434\u0440\u043e \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u043e\u0439 1\u041c \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0432\u0430 \u0411\u041f\u0424 \u043f\u043e 1\u041a \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432: 1024 \u0445 1024 = 1048576. \u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0440\u0438\u0441\u0443\u043d\u043a\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u0443\u0437\u043b\u0443 \u0411\u041f\u0424 \u043d\u0430 1024 \u0442\u043e\u0447\u0435\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u0433\u043e 7 \u044f\u0447\u0435\u0435\u043a RAMB36K.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/uf\/ue\/su\/ufuesusrwfmyer3rvzxgs7khlfc.png\"><\/p>\n<p>  \u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u044f\u0434\u0440\u0430 \u0411\u041f\u0424 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u041f\u041b\u0418\u0421, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0447\u0442\u0438 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u043b\u043e\u0447\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c. \u041f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u043f\u043e \u0432\u0441\u0435\u043c \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e.<\/p>\n<h3><b>\u041f\u043e\u0448\u0430\u0433\u043e\u0432\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/b><\/h3>\n<p>  <\/p>\n<h3>\u0411\u043b\u043e\u043a\u0438 \u0411\u041f\u0424<\/h3>\n<p>  \u0423\u0437\u043b\u044b \u0411\u041f\u0424 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u0435 \u2014 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 log2(N) \u0431\u0430\u0431\u043e\u0447\u0435\u043a Radix-2 \/ Radix-4 \u0438 \u0443\u0437\u043b\u043e\u0432 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0446\u0438\u0438. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u044f\u0434\u0440\u0430 \u043e\u0442 \u0432\u0435\u043d\u0434\u043e\u0440\u043e\u0432 FPGA, \u043b\u0438\u0431\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u044f\u0434\u0440\u043e. \u0423\u0437\u043b\u044b FFT \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 fixed-point, floating-point \u0438\u043b\u0438 \u0432 \u043a\u0430\u043a\u043e\u043c-\u0442\u043e \u0441\u0432\u043e\u0435\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0437\u0430\u0434\u0430\u0447\u0438.<\/p>\n<p>  \u0423\u0437\u0435\u043b \u0411\u041f\u0424:<\/p>\n<ul>\n<li>\u041a\u043e\u043d\u0432\u0435\u0439\u0435\u0440\u043d\u0430\u044f \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 (Pipelined, Streaming I\/O)<\/li>\n<li>Fixed Unscaled \/ Floating point<\/li>\n<li>Radix-2 \/ Radix-4<\/li>\n<li>Bit-Reverse \/ Natural Order<\/li>\n<li>Complex multiplier: 4-DSP structure<\/li>\n<\/ul>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0411\u041f\u0424 \u2014 \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0411\u041f\u0424 \u0440\u0430\u0441\u0442\u0435\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 (\u0440\u0430\u0432\u043d\u043e \u043a\u0430\u043a \u0438 \u043a\u043e\u043f\u0438\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f). \u0412\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u043b\u0438 \u0432\u0430\u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u043b\u0438 \u043d\u0435\u0442? \u041d\u0430 \u043c\u043e\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435, \u0434\u043b\u044f \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0411\u041f\u0424 \u043e\u0442 \u0434\u043b\u0438\u043d 1\u041c, \u043e\u0448\u0438\u0431\u043a\u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 floating-point (IEEE 754) \u043f\u043e\u0440\u0442\u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u0438\u0437-\u0437\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u0430\u043d\u0442\u0438\u0441\u0441\u044b (25 \u0431\u0438\u0442). \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0411\u041f\u0424 \u0432 fixed-point \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0442\u0430\u0434\u0438\u044f\u0445 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u044e \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u0443\u044e floating-point \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0443 \u043d\u0430 DSP48 \u0431\u043b\u043e\u043a\u0430\u0445 \u041f\u041b\u0418\u0421 \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u043e\u0439 \u043c\u0430\u043d\u0442\u0438\u0441\u0441\u043e\u0439 (\u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u043e\u0433\u043e \u0441\u0442\u043e\u0438\u0442).<\/p>\n<p>  \u042f\u0434\u0440\u043e \u0411\u041f\u0424 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441 \u0432\u044b\u0434\u0430\u0447\u0435\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432 \u0431\u0438\u0442-\u0440\u0435\u0432\u0435\u0440\u0441\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043b\u0438\u0431\u043e \u0432 \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u043c (\u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u043c) \u043f\u043e\u0440\u044f\u0434\u043a\u0435. \u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u044b \u0435\u0449\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u0430\u0442\u0440\u0438\u0446. \u0415\u0441\u043b\u0438 \u0432\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0447\u0430\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0411\u041f\u0424, \u0442\u043e \u043d\u0430\u0447\u043d\u0438\u0442\u0435 \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430, \u0442.\u043a. \u043e\u043d \u043f\u0440\u043e\u0449\u0435 \u0432 \u043e\u0442\u043b\u0430\u0434\u043a\u0435.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u044b \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0435 \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0430 \u044f\u0434\u0440\u043e \u0411\u041f\u0424 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0430\u043c\u0438, \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043e\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439 \u0432\u0430\u0448\u0435\u0439 \u041f\u041b\u0418\u0421, \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u044c BRAM \u043d\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0431\u0430\u0431\u043e\u0447\u0435\u043a \u0411\u041f\u0424. \u0414\u043b\u044f N \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435\u0433\u043e 1 \u043c\u043e\u0434\u0443\u043b\u044c \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439. \u0422\u043e \u0435\u0441\u0442\u044c, \u0447\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u2014 \u0442\u0435\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/p>\n<h3>\u041f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438<\/h3>\n<p>  \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0441\u0445\u0435\u043c\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0434\u0430\u0447\u0435\u0439 \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u0435 \u0437\u0432\u0435\u043d\u043e \u0411\u041f\u0424, \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u043c\u043d\u043e\u0436\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0435 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438. \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0434\u0432\u0443\u043c\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u2014 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c DDS \u0438\u043b\u0438 \u0432\u0437\u044f\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c CORDIC. \u041f\u0435\u0440\u0432\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043c\u0430 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u041f\u041b\u0418\u0421, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0431\u043e\u0440\u0435\u043c\u0441\u044f \u0441 \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438. \u0422\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044e \u043f\u043e \u0422\u0435\u0439\u043b\u043e\u0440\u0443 \u0438 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043c\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 BRAM. \u041d\u043e \u043d\u0430 \u043c\u043e\u0435\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438\u0441\u043a\u0430\u0436\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0441\u043f\u0435\u043a\u0442\u0440 \u0438\u0437-\u0437\u0430 \u0441\u0442\u0443\u043f\u0435\u043d\u0447\u0430\u0442\u043e\u0439 \u0444\u043e\u0440\u043c\u044b \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439.<\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430 \u0431\u0430\u0437\u0435 CORDIC \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 BRAM, \u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0441\u0434\u0432\u0438\u0433\u0430 \u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f\/\u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u044f. \u041a \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0430\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 CORDIC \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438 \u0434\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0440\u044f\u0434\u043a\u0430 20-30 \u0442\u0430\u043a\u0442\u043e\u0432, \u0447\u0438\u0441\u043b\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u0438). \u042d\u0442\u043e\u0442 \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u041f\u041b\u0418\u0421. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0441 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c\u044e 512 (2 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0445 \u043e\u0442\u0441\u0447\u0435\u0442\u0430 \u043f\u043e 32 \u0431\u0438\u0442, 8 \u043a\u0430\u043d\u0430\u043b\u043e\u0432) \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <b>512 * 30 = 15 \u0442\u044b\u0441\u044f\u0447 \u0442\u0440\u0438\u0433\u0433\u0435\u0440\u043e\u0432<\/b>. \u0412 FPGA Xilinx \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438 SLICEM, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u044e\u0449\u0438\u0435 \u043b\u0438\u043d\u0438\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043d\u0430 \u0441\u0434\u0432\u0438\u0433\u043e\u0432\u044b\u0445 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445. \u041b\u0438\u0431\u043e \u043d\u0430 \u043b\u0438\u043d\u0438\u044e \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u043e\u043a\u043e\u0432 BRAM.<\/p>\n<p>  \u041a \u044f\u0434\u0440\u0443 CORDIC \u0432\u044b\u0434\u0432\u0438\u0433\u0430\u044e\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\u041f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/li>\n<li>\u0420\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 log2(N) \u043e\u0442 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b \u0411\u041f\u0424 \u0434\u043b\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u0439 \u0432 \u0441\u043f\u0435\u043a\u0442\u0440\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0430.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/eu\/c9\/2m\/euc92m4oznojpmye3gv9d-hshky.png\"><\/p>\n<p>  \u0414\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b \u043f\u043e\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 \u0432\u0435\u0441\u044c \u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u041f\u041b\u0418\u0421.<\/p>\n<h3>\u0423\u0437\u043b\u044b \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/h3>\n<p>  \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u0430\u0442\u0440\u0438\u0446\u044b \u043d\u0430 \u0432\u0441\u0435\u0445 \u0441\u0442\u0430\u0434\u0438\u044f\u0445 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u044e\u0431\u0430\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430\u044f \u0432\u0430\u043c \u043f\u0430\u043c\u044f\u0442\u044c: QDR SRAM, DDR3 \u0438\u043b\u0438 DDR4 SDRAM. \u0412 \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0432\u0435. \u041d\u043e \u043e\u0431\u0449\u0438\u0435 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b: \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u0443\u0435\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u2014 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u043f\u0430\u0447\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 &quot;<i>\u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c<\/i>&quot;, \u0430 \u0432\u044b\u0434\u0430\u0435\u0442 \u043f\u0430\u0447\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 &quot;<i>\u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c<\/i>&quot;.<\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u0441\u0445\u0435\u043c\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430, \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u0440\u0438 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0443\u0437\u043b\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u0432\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<p>  <b>\u041f\u0435\u0440\u0432\u043e\u0435:<\/b><br \/>  \u041f\u0430\u043c\u044f\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443 \u0438\u0437 2 \u0434\u043b\u0438\u043d \u0411\u041f\u0424. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u0447\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u044f\u043c\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 (\u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0430\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u044b) \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0434\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u0443\u044e \u043f\u0430\u0447\u043a\u0443 \u0432 \u0438\u043d\u0432\u0435\u0440\u0441\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435 (\u043f\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u0430\u043c \u043c\u0430\u0442\u0440\u0438\u0446\u044b). \u041d\u043e \u0441\u0430\u043c\u043e\u0435 \u043b\u0443\u0447\u0448\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0447\u0435\u0440\u0435\u0437 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u043e\u0440, \u0430 \u043a\u043e\u0433\u0434\u0430 \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 <b>\u043f\u043e \u0441\u0445\u0435\u043c\u0435 FIFO<\/b>. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u043d\u0435\u0448\u043d\u044f\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0447\u0435\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u0438\u043d\u043e\u0439 N \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u0442\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0431\u043e\u0440\u043e\u0442\u044c\u0441\u044f \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u0437\u0430\u043c\u0438\u0440\u0430\u043d\u0438\u044f\u043c\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u0443\u0437\u043b\u0430 \u0411\u041f\u0424. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u043a\u0440\u0430\u0442\u043a\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u043c \u0437\u0430\u043c\u0438\u0440\u0430\u043d\u0438\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043f\u043e \u0448\u0438\u043d\u0435 PCIe, \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FIFO \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0438\u0436\u0435, \u0447\u0435\u043c \u0443 \u0441\u0445\u0435\u043c\u044b \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0436\u0434\u0443 \u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u0447\u043a\u043e\u0439 \u0438 \u0434\u0440\u0443\u0433\u043e\u0439. \u0412 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u043d\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, DDR-\u043f\u0430\u043c\u044f\u0442\u044c \u043f\u0440\u0438 \u0437\u0430\u043c\u0438\u0440\u0430\u043d\u0438\u044f\u0445 \u043d\u0430 \u0448\u0438\u043d\u0435 PCIe \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u043c\u0443\u043b\u044c\u0442\u0438\u043f\u043b\u0435\u043a\u0441\u043e\u0440\u0430 \u043f\u0435\u0440\u0435\u043f\u043e\u043b\u043d\u044f\u043b\u0430\u0441\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u0434\u0430, \u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FIFO \u2014 \u043d\u0438\u043a\u043e\u0433\u0434\u0430.<\/p>\n<p>  \u0420\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u043e\u0431\u044a\u0435\u043c \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041f\u0443\u0441\u0442\u044c \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 32 \u0431\u0438\u0442\u0430 (single floating-point), \u0441\u0438\u0433\u043d\u0430\u043b \u2014 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439 (I \/ Q), \u0434\u043b\u0438\u043d\u0430 \u0411\u041f\u0424 \u0440\u0430\u0432\u043d\u0430 1\u041c \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432, \u0441\u0445\u0435\u043c\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 &quot;<i>\u043f\u0438\u043d\u0433-\u043f\u043e\u043d\u0433<\/i>&quot; \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435. \u0422\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <b>2 * 32 \/ 8 = 8 \u041c\u0411<\/b> \u043f\u0430\u043c\u044f\u0442\u0438. \u0414\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FIFO \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 32 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0436\u0435 <b>256 \u041c\u0411 \u043f\u0430\u043c\u044f\u0442\u0438<\/b>.<\/p>\n<p>  <b>\u0412\u0442\u043e\u0440\u043e\u0435:<\/b><br \/>  \u041f\u0430\u043c\u044f\u0442\u044c \u0434\u043e\u043b\u0436\u043d\u0430 \u0443\u0441\u043f\u0435\u0432\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0438 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443, \u0441\u0445\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u0438 \u0432\u044b\u0445\u043e\u0434\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u043e \u0440\u0430\u0437\u0440\u044b\u0432\u043e\u0432 \u0438 \u0438\u0441\u043a\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0435\u0449\u0435 \u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043b\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0438 \u0433\u043e\u0442\u043e\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0435 \u0411\u041f\u0424, \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0443\u044e \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u0432\u0441\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430\u0439\u0442\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0434\u0430\u0442\u0430\u0448\u0438\u0442\u0443 \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u0430\u0447\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0442 \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0410\u0426\u041f. <\/p>\n<p>  \u041e\u0442 \u0434\u043b\u0438\u043d\u044b \u0411\u041f\u0424 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043a \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0443 \u041f\u041b\u0418\u0421 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0442\u0440\u0435\u043c\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430\u043c\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0430\u043c\u044f\u0442\u0438 SO-DIMM DDR4 SDRAM x64 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0442\u0440\u0438 \u0431\u0430\u043d\u043a\u0430 \u041f\u041b\u0418\u0421 (\u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e ~150 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043d\u043e\u0436\u043a\u0430\u043c \u0432\u0432\u043e\u0434\u0430-\u0432\u044b\u0432\u043e\u0434\u0430 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0430). \u0421\u0443\u043c\u043c\u0430\u0440\u043d\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 450 I\/O \u043f\u043e\u0440\u0442\u043e\u0432 \u0438\u043b\u0438 9 HP (High-Performance) \u0431\u0430\u043d\u043a\u043e\u0432 \u041f\u041b\u0418\u0421, \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f \u0431\u0430\u043d\u043a\u043e\u0432 \u043c\u0443\u043b\u044c\u0442\u0438\u0433\u0438\u0433\u0430\u0431\u0438\u0442\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0441\u0438\u0432\u0435\u0440\u043e\u0432 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0431\u0430\u043d\u043a\u0430 Bank0.<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a IP-\u044f\u0434\u0440\u0430 DDR4 SDRAM:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fv\/bs\/vx\/fvbsvxcjrjmr-ankr0skqiaxbbk.png\"><\/p>\n<p>  <b>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438:<\/b>  <\/p>\n<ul>\n<li>\u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0442\u043e\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u043d\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 FIFO \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0442\u043e\u043a \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 333 \u041c\u0413\u0446)<\/li>\n<li>\u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043f\u0440\u044f\u043c\u043e\u0439 \u0444\u043e\u0440\u043c\u0435, \u0441 \u043b\u0438\u043d\u0435\u0439\u043d\u044b\u043c \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 DDR.<\/li>\n<li>\u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u0430\u0447\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c N = K1 * K2 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0447\u0442\u0435\u043d\u0438\u0435 \u0432 \u0438\u043d\u0432\u0435\u0440\u0441\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435.<\/li>\n<li>\u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0430\u0434\u0440\u0435\u0441\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 DDR \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u0448\u0430\u0433\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0442\u0440\u0438\u0446\u044b K1 x K2.<\/li>\n<li>\u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u0447\u0442\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u0434\u0440\u0443\u0433\u0443\u044e, \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u0443\u044e \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438.<\/li>\n<li>\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 (\u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e FIFO).<\/li>\n<li>\u0435\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u043e \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 (\u0437\u0430\u043c\u0438\u0440\u0430\u043d\u0438\u0435), \u0437\u0430\u043f\u0438\u0441\u044c \u043d\u0435 \u043f\u0440\u0435\u043a\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u0442\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442 \u0444\u043b\u0430\u0433 <b>FULL FIFO<\/b>.<\/li>\n<\/ul>\n<p>  \u0418\u0442\u043e\u0433\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 FIFO \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/35\/xz\/7w\/35xz7wgyhf344jt8pxjdgn3cjxm.png\"><\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043f\u0440\u0438 \u0447\u0442\u0435\u043d\u0438\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u043e\u0431\u0445\u043e\u0434 \u043f\u043e \u0432\u0441\u0435\u043c FSM \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u041f\u041b\u0418\u0421 (\u0441\u043c. \u0434\u0430\u0442\u0430\u0448\u0438\u0442 \u043d\u0430 Xilinx DDR MIG), \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u043f\u043e \u0432\u0441\u0435\u043c \u0431\u0430\u043d\u043a\u0430\u043c \u0438 \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u0431\u0430\u043d\u043a\u043e\u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u042d\u0442\u043e \u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0438 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u043c\u0435\u0442\u044c \u0431\u0443\u0444\u0435\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u041f\u041b\u0418\u0421. \u0415\u0433\u043e \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u043a\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0445 \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439 \u0441 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u0430\u043d\u043a\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0443\u0437\u043b\u044b \u0441\u0445\u0435\u043c\u044b. \u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0443\u0444\u0435\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043c\u043e\u0434\u0443\u043b\u0438 URAM (\u0431\u043b\u043e\u043a\u0438 \u0433\u043b\u0443\u0431\u0438\u043d\u043e\u0439 4K \u0438 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c\u044e 72 \u0431\u0438\u0442), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 FPGA \u043e\u0442 Xilinx.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/5c\/su\/jn\/5csujndxlhlpq5jd1gaoj9zzxas.png\"><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043e\u0442\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0443\u0437\u0435\u043b \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0430\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044f \u0441\u0445\u0435\u043c\u0443 <b>\u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f \u0441\u043f\u0435\u043a\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442<\/b> \u0434\u043b\u044f \u0443\u0441\u0440\u0435\u0434\u043d\u0435\u043d\u0438\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043f\u0435\u043a\u0442\u0440\u0430.<\/p>\n<h3>\u041e\u043a\u043e\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f<\/h3>\n<p>  \u041d\u0430\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043e\u043a\u043d\u0430 \u043d\u0430 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u2014 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043d\u043e \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043e\u043a\u043e\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u043a \u0434\u043b\u0438\u043d\u043d\u043e\u043c\u0443 \u0411\u041f\u0424, \u0442\u043e \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438.<\/p>\n<p>  \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u044b\u0435 \u0411\u041f\u0424, \u0442\u043e \u043d\u0430\u043c \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435\u0433\u0434\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u043e\u043a\u043e\u043d\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0414\u043b\u044f \u0411\u041f\u0424 \u0434\u043b\u0438\u043d\u044b N \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043d\u0435\u043c\u0430\u043b\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u043a\u043e\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 32-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0434\u043b\u0438\u043d\u043e\u0439 16\u041c \u043e\u0442\u0441\u0447\u0435\u0442\u043e\u0432 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0435\u0451 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u043e\u0441\u0442\u0438: <b>32 * 4 \/ 2 = 256 \u041c\u0431\u0438\u0442<\/b>. \u0414\u0430\u0436\u0435 \u0434\u043b\u044f \u0442\u043e\u043f\u043e\u0432\u044b\u0445 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u043e\u0432 FPGA \u044d\u0442\u043e \u043c\u043d\u043e\u0433\u043e. \u0410 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u0430 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0431\u0443\u0444\u0435\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445)?<\/p>\n<p>  \u0420\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f <b>\u043e\u043a\u043d\u0430 \u0411\u043b\u044d\u043a\u043c\u0430\u043d\u0430-\u0425\u0430\u0440\u0440\u0438\u0441\u0430<\/b> \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0438 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u043a\u043d\u0430. \u041f\u0440\u0438\u043c\u0435\u043d\u044f\u044f \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 CORDIC \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0433\u0430\u0440\u043c\u043e\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043d\u0443\u0436\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b, \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043a\u043e\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0411\u043b\u044d\u043a\u043c\u0430\u043d\u0430-\u0425\u0430\u0440\u0440\u0438\u0441\u0430 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 FPGA!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/tm\/xk\/iy\/tmxkiyclzbwl23mkl6rjtpbftok.png\"><\/p>\n<p>  \u0427\u0435\u043c \u0432\u044b\u0448\u0435 \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u0442\u0435\u043c \u043d\u0438\u0436\u0435 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0431\u043e\u043a\u043e\u0432\u044b\u0445 \u043b\u0435\u043f\u0435\u0441\u0442\u043a\u043e\u0432 \u0441\u043f\u0435\u043a\u0442\u0440\u0430. \u041d\u0430 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435 \u043c\u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u043a\u043d\u0430 \u0434\u043e 5 \u043f\u043e\u0440\u044f\u0434\u043a\u0430. \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u044d\u0442\u043e\u043c \u043d\u0435 \u0431\u0443\u0434\u0435\u043c, \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0431 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u041b\u0418\u0421 <a href=\"https:\/\/habr.com\/ru\/post\/427361\/\">\u044f \u0443\u0436\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u0432 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435.<\/a><\/p>\n<h3>\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u044c\u043d\u044b\u0435 \u0442\u043e\u0447\u043a\u0438<\/h3>\n<p>  \u041d\u0438\u0436\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0437\u043b\u044b \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u044b\u0431\u0440\u0430\u043d \u0441\u0438\u0433\u043d\u0430\u043b \u0432 \u0432\u0438\u0434\u0435 \u043f\u0438\u043a\u0430 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0438 \u0438 \u041b\u0427\u041c \u0441\u0438\u0433\u043d\u0430\u043b.<\/p>\n<p>  <b>\u00ab\u0414\u0435\u043b\u044c\u0442\u0430-\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u00bb:<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ld\/x5\/1y\/ldx51ydy0lqr_tslks8vxkyqnvc.png\"><\/p>\n<p>  <b>\u041b\u0427\u041c-\u0441\u0438\u0433\u043d\u0430\u043b:<\/b><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fl\/vb\/n5\/flvbn5bnqzxswqmkn6nkbc-28_4.png\"><\/p>\n<p>  \u0421\u043a\u0440\u0438\u043f\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0430\u0434\u0438\u0438 Ultra-Long FFT. \u041d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Python, \u0434\u043b\u044f \u0435\u0433\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u044e\u0442\u0441\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 numpy, scipy \u0438 matplotlib.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">Python-\u043a\u043e\u0434 \u0434\u043b\u044f \u043a\u0430\u0440\u0442\u0438\u043d\u043e\u043a<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"python\">from datetime import datetime from functools import lru_cache  import matplotlib.pyplot as plt import numpy as np from scipy.fftpack import fft  N1 = 8  # Colomn (FFT1) N2 = 16  # Rows (FFT2)   class SignalGenerator:     def __init__(         self, nfft: int, freq: float, alpha: float = 0.01,     ):         &quot;&quot;&quot;Generate some useful kind of signals: harmonic or linear freq. modulated.          Parameters         ----------         nfft : int             Total lenght of FFT (NFFT = N1 * N2).         freq : float             Signal frequency.         alpha : float             Add Gaussian noise if alpha not equal to zero. Should be positive.          &quot;&quot;&quot;          self.nfft = nfft         self.freq = freq         self.alpha = alpha      def awgn(self):         np.random.seed(42)         return self.alpha * np.random.rand(self.nfft)      def input_harmonic(self):         &quot;&quot;&quot;Generate input singal&quot;&quot;&quot;         return (             np.array([1 + 1j if i in (self.freq, self.nfft - self.freq) else 0 for i in range(self.nfft)]) + self.awgn()         )      def input_linfreq(self):          tt = np.linspace(0, 1, self.nfft, endpoint=False)          sig_re = np.cos(self.freq * tt ** 2 * np.pi) * np.sin(tt * np.pi) + self.awgn()         sig_im = np.sin(self.freq * tt ** 2 * np.pi) * np.sin(tt * np.pi) + self.awgn()         return sig_re + 1j * sig_im   class UltraLongFFT:     &quot;&quot;&quot;Calculate ultra-long FFT via 2D FFT scheme with 3 shufflers: step by step.      Parameters     ----------     n1 : int         Rows (number of points for 1st FFTs)     n2 : int         Columns (number of points for 2ns FFTs)      where NFFT = N1 * N2     &quot;&quot;&quot;      _plt_titles = (         &quot;1. Input Signal&quot;,         &quot;2. Shuffle [1]&quot;,         &quot;3. FFT1, N1&quot;,         &quot;4. Shuffle [2]&quot;,         &quot;5. Twiddles&quot;,         &quot;6. Complex Multiplier&quot;,         &quot;7. FFT2, N2&quot;,         &quot;8. Shuffle [3]. Output&quot;,     )      def __init__(self, n1: int = 32, n2: int = 32):         self.n1 = n1         self.n2 = n2         self.__nfft = n1 * n2      @property     @lru_cache(maxsize=4)     def twiddles(self):         &quot;&quot;&quot;Twiddle factors for rotating internal sequence.&quot;&quot;&quot;         twd = np.array(             [np.exp(-1j * 2 * np.pi * (k1 * k2) \/ self.__nfft) for k1 in range(self.n1) for k2 in range(self.n2)]         )         return np.reshape(twd, (self.n1, self.n2))      def fft_calculate(self, signal: np.ndarray) -&gt; np.ndarray:         &quot;&quot;&quot;Calculate signals for each stage of Ultra-long FFT Algorithm          Parameters         ----------         signal : np.ndarray             Input signal. Can be complex.          Returns         -------         np.ndarray             List of arrays for each stage of Ultra-long FFT.         &quot;&quot;&quot;          # ---------------- ULFFT Algorithm ----------------         # 1 Step: Shuffle input sequence         sh0_data = np.reshape(             a=np.array([signal[k2 * self.n1 + k1] for k1 in range(self.n1) for k2 in range(self.n2)]),             newshape=(self.n1, self.n2),         )         # 2 Step: Calculate FFT N1 and shuffle         res_fft0 = np.array([fft(sh0_data[k1, ...]) for k1 in range(self.n1)])         # 3 Step: Complex multiplier         cmp_data = res_fft0 * self.twiddles         # 4 Step: Calculate FFT N2 and shuffle         res_fft1 = np.array([fft(cmp_data[..., k2]) for k2 in range(self.n2)])          # Internal Sequences:         return np.vstack(             [                 signal,                 sh0_data.reshape(-1, self.__nfft),                 res_fft0.reshape(-1, self.__nfft),                 res_fft0.T.reshape(-1, self.__nfft),                 self.twiddles.reshape(-1, self.__nfft),                 cmp_data.T.reshape(-1, self.__nfft),                 res_fft1.reshape(-1, self.__nfft),                 res_fft1.T.reshape(-1, self.__nfft),             ]         )      def plot_result(self, data: np.ndarray, save_fig: bool = False):         &quot;&quot;&quot;Plot signals for each stage of Ultra-long FFT Algorithm&quot;&quot;&quot;         _ = plt.figure(&quot;Ultra-long FFT&quot;, figsize=(16, 12))         for i, arr in enumerate(data):             plt.subplot(4, 2, i + 1)              plt.plot(arr.real, linewidth=1.15, color=&quot;C2&quot;)             plt.plot(arr.imag, linewidth=1.15, color=&quot;C4&quot;)             plt.title(self._plt_titles[i], fontsize=14)             plt.grid(True)             plt.xlim([0, self.__nfft - 1])          plt.tight_layout()         if save_fig:             plt.savefig(f&quot;figure_{datetime.now()}&quot;[:-7])         plt.show()   if __name__ == &quot;__main__&quot;:     _input = SignalGenerator(N1 * N2, freq=16, alpha=0.001)     # _array = _input.input_harmonic()     _array = _input.input_linfreq()     _ulfft = UltraLongFFT(N1, N2)     _datas = _ulfft.fft_calculate(_array)     _ulfft.plot_result(_datas, save_fig=False) <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h3>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0432 Vivado<\/h3>\n<p>  \u0422\u0440\u0430\u043d\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u041b\u0427\u041c \u0441\u0438\u0433\u043d\u0430\u043b \u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u0442\u0430\u0434\u0438\u0439 \u0411\u041f\u0424:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/lw\/7v\/4b\/lw7v4brajfv1rqklh-zwxwkuwsi.png\"><\/p>\n<p>  \u041f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u041b\u0427\u041c \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 \u0443\u0437\u0435\u043b \u0411\u041f\u0424:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-g\/xw\/uv\/-gxwuv8mp-qmz0tblvaygi0qrjg.png\"><\/p>\n<h3>\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440<\/h3>\n<p>  \u041f\u0443\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0432\u0430\u043c\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0432\u0432\u043e\u0434\u043d\u044b\u043c\u0438:  <\/p>\n<ul>\n<li>\u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u2014 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0439, \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0441\u0442\u044c 16 \u0431\u0438\u0442.<\/li>\n<li>\u0427\u0438\u0441\u043b\u043e \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u2014 1. \u0427\u0430\u0441\u0442\u043e\u0442\u0430 \u0434\u0438\u0441\u043a\u0440\u0435\u0442\u0438\u0437\u0430\u0446\u0438\u0438 400 \u041c\u0413\u0446.<\/li>\n<li>\u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 IEEE-754.<\/li>\n<li>\u0414\u043b\u0438\u043d\u0430 \u0411\u041f\u0424: 16 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u043e\u0432 \u0442\u043e\u0447\u0435\u043a. \u0411\u0435\u0437 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/li>\n<\/ul>\n<p>  <b>\u0420\u0430\u0441\u0447\u0451\u0442:<\/b><br \/>  \u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u043f\u043e\u0442\u043e\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438: (2 * 16) * 400e6 \/ 2^30 = ~1.5 \u0413\u0411\/c.<br \/>  \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438: ~3 \u0413\u0411\/c.<\/p>\n<p>  \u041e\u0431\u044a\u0435\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u0447\u043a\u0438 \u0411\u041f\u0424: (2 * 32 \/ 8) * 16M = <b>128 \u041c\u0411<\/b>.<\/p>\n<p>  \u041f\u0440\u043e\u043f\u0443\u0441\u043a\u043d\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u2014 \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 <b>~6 \u0413\u0411\/c<\/b>.<br \/>  \u042d\u0442\u043e\u043c\u0443 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044e \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 DDR4-2400 SDRAM x32 \u043f\u043e \u0444\u043e\u0440\u043c\u0443\u043b\u0435: Freq * Double Rate * (Width \/ Byte) = 1.2e9 * 2 * (32 \/ 8) \/ 2^30 = <b>8.94 \u0413\u0411\/c<\/b>.<\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e IP Catalog \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044f\u0434\u0440\u0430 DDR, FFT, CORDIC. \u041f\u043e\u043b\u043d\u043e\u0435 \u0411\u041f\u0424 16\u041c \u0442\u043e\u0447\u0435\u043a \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u043c\u0430\u0442\u0440\u0438\u0446\u0443 \u0411\u041f\u0424 \u043a\u0430\u043a 4\u041a \u0445 4\u041a. \u041f\u0443\u0441\u0442\u044c \u043d\u0430 \u043f\u0435\u0440\u0435\u043f\u0430\u043a\u043e\u0432\u043a\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 DDR \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f FIFO, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0442 4 \u044f\u0447\u0435\u0439\u043a\u0438 \u0431\u043b\u043e\u0447\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 RAMB36K.<\/p>\n<p>  \u0413\u0440\u0443\u0431\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u041f\u041b\u0418\u0421 \u043d\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430. \u041d\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e 3 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438, 2 \u0443\u0437\u043b\u0430 \u0411\u041f\u0424 4\u041a, \u043e\u0434\u0438\u043d CORDIC, 6 \u0431\u043b\u043e\u043a\u043e\u0432 FIFO (\u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438), 3 \u0431\u0443\u0444\u0435\u0440\u0430 \u0431\u0430\u043d\u043a\u043e\u0432 \u043f\u0430\u043c\u044f\u0442\u0438. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043b\u0438\u043d\u0438\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0434\u043b\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0442\u043e\u043a\u0430, \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u044b\u0435 \u0443\u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u0438 \u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u0443\u044e \u043b\u043e\u0433\u0438\u043a\u0443.<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/o9\/ak\/zp\/o9akzpw_gvldvivwwk3wqrpr2ws.png\"><\/p>\n<p>  \u041a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u043f\u0440\u043e\u0435\u043a\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u0435\u0448\u0435\u0432\u044b\u0435 \u041f\u041b\u0418\u0421. \u041e\u0434\u043d\u0430\u043a\u043e, \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0431\u044b\u0432\u0430\u0442\u044c, \u0447\u0442\u043e 3 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e I\/O \u043f\u043e\u0440\u0442\u043e\u0432 \u041f\u041b\u0418\u0421, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u0434\u043e\u0439\u0434\u0443\u0442 \u043d\u0435 \u0432\u0441\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b.<\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d \u0441\u043f\u043e\u0441\u043e\u0431 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0437\u043b\u043e\u0432 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0411\u041f\u0424 \u043d\u0430 \u041f\u041b\u0418\u0421 \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0432\u044b\u0441\u043e\u043a\u043e\u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0441\u043f\u0435\u043a\u0442\u0440\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00ab\u0445\u0430\u0440\u0434\u0432\u0430\u0440\u043d\u043e\u0439\u00bb \u0447\u0430\u0441\u0442\u0438 \u2014 \u043a \u041f\u041b\u0418\u0421 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u0442\u0440\u0438 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0430\u043c\u044f\u0442\u0438. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u044b \u043e\u0447\u0435\u043d\u044c \u0434\u043b\u0438\u043d\u043d\u044b\u0445 \u0411\u041f\u0424 \u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0442\u043e\u0447\u0435\u043a \u043e\u0442 256\u041a \u0434\u043e 256\u041c. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438\u043c\u0435\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u043d\u044e\u0430\u043d\u0441\u043e\u0432 \u0432 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043f\u0440\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432\u0441\u0435\u0445 \u0443\u0437\u043b\u043e\u0432 \u0441\u0445\u0435\u043c\u044b \u0438 \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c\u043e\u0441\u0442\u0438 \u044f\u0434\u0440\u0430 \u043d\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0432\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043f\u043b\u0430\u0442\u044b <b>Alveo U200 \/ U250<\/b> \u043e\u0442 Xilinx (4 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 DDR4 \u043d\u0430 \u0431\u043e\u0440\u0442\u0443) \u0438\u043b\u0438 <b>Alveo U280<\/b> (\u0434\u0432\u0430 DIMM DDR4 \u0438 HBM2).<\/p>\n<h3>\u0421\u043f\u0438\u0441\u043e\u043a \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/habr.com\/ru\/post\/460445\/\">\u0410\u0432\u0442\u043e\u0440\u0441\u043a\u0438\u0439 \u043a\u0443\u0440\u0441 \u043b\u0435\u043a\u0446\u0438\u0439 \u043f\u043e \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/post\/427361\/\">\u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u043e\u043a\u043e\u043d\u043d\u043e\u0439 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u041f\u041b\u0418\u0421<\/a><\/li>\n<li><a href=\"https:\/\/www.amazon.com\/Digital-Signal-Processing-Practical-Approach\/dp\/0201596199\" rel=\"nofollow\">\u0410\u0439\u0444\u0438\u0447\u0435\u0440 \u042d., \u0414\u0436\u0435\u0440\u0432\u0438\u0441 \u0411. \u0426\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432. \u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043f\u043e\u0434\u0445\u043e\u0434<\/a><\/li>\n<li><a href=\"https:\/\/www.amazon.com\/Theory-Application-Digital-Signal-Processing\/dp\/0139141014\" rel=\"nofollow\">\u0420\u0430\u0431\u0438\u043d\u0435\u0440 \u0438 \u0413\u043e\u043b\u0434. \u0422\u0435\u043e\u0440\u0438\u044f \u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432<\/a><\/li>\n<li><a href=\"https:\/\/www.xilinx.com\/support\/documentation\/ip_documentation\/xfft\/v9_1\/pg109-xfft.pdf\" rel=\"nofollow\">Xilinx PG109: Fast Fourier Transform<\/a><\/li>\n<li><a href=\"https:\/\/www.xilinx.com\/support\/documentation\/ip_documentation\/cordic\/v6_0\/pg105-cordic.pdf\" rel=\"nofollow\">Xilinx PG105: CORDIC<\/a><\/li>\n<li><a href=\"https:\/\/www.xilinx.com\/support\/documentation\/ip_documentation\/ultrascale_memory_ip\/v1_4\/pg150-ultrascale-memory-ip.pdf\" rel=\"nofollow\">Xilinx PG150: MIG Ultrascale<\/a><\/li>\n<li><a href=\"https:\/\/www.eetimes.com\/ultra-long-fft-ip-core-for-xilinx-fpgas\/\" rel=\"nofollow\">Ultra-long FFT IP core for Xilinx FPGAs<\/a><\/li>\n<li><a href=\"https:\/\/www.researchgate.net\/publication\/303958335_An_Ultra-long_FFT_Architecture_Implemented_in_a_Reconfigurable_Application_Specified_Processor\" rel=\"nofollow\">An Ultra-long FFT Architecture<\/a><\/li>\n<\/ul>\n<p>  \u0421\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/526690\/\"> https:\/\/habr.com\/ru\/post\/526690\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u0441\u0432\u0435\u0440\u0445\u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u0440\u044c\u0435 \u043d\u0430 \u041f\u041b\u0418\u0421. \u041d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e \u043c\u0435\u043d\u044f \u043f\u043e\u0431\u0443\u0434\u0438\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u043b\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u043f\u044b\u0442\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u043e\u0442\u0435\u0440\u044f\u0442\u044c, \u043e\u0441\u0442\u0430\u0432\u0438\u0432 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0443 \u0441\u0435\u0431\u044f \u0432 \u0433\u043e\u043b\u043e\u0432\u0435. \u0410 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0441\u044c \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043d\u0430 \u041f\u041b\u0418\u0421, \u0442\u043e \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u043d \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043c\u043d\u0435 \u0437\u043d\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u00ab\u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u043e\u0439\u00bb \u0441\u0445\u0435\u043c\u044b \u043e\u0447\u0435\u043d\u044c \u0434\u043b\u0438\u043d\u043d\u043e\u0433\u043e \u0411\u041f\u0424 \u0434\u0430\u0436\u0435 \u043d\u0430 \u0441\u0430\u043c\u044b\u0445 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u043a\u0440\u0438\u0441\u0442\u0430\u043b\u043b\u0430\u0445 \u041f\u041b\u0418\u0421. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0438\u0434\u0435\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430: \u043e\u0442 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u0434\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u041f\u041b\u0418\u0421 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u043d\u0435\u0448\u043d\u0435\u0439 DDR-\u043f\u0430\u043c\u044f\u0442\u0438. \u0421\u0442\u0430\u0442\u044c\u044f \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u0442 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0441\u0430 \u0437\u0430\u0434\u0430\u0447 \u0438, \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043e\u043f\u0438\u0448\u0435\u0442 \u043c\u043e\u0439 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043e\u043f\u044b\u0442. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/xm\/tk\/ob\/xmtkobp79jxllannzysna6adutc.png\">  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-312794","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312794","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=312794"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312794\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312794"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}