{"id":485360,"date":"2026-06-28T18:05:50","date_gmt":"2026-06-28T18:05:50","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=485360"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=485360","title":{"rendered":"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043a \u041f\u041b\u0418\u0421 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c SDRAM"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>    \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 SDRAM \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u041e\u0442\u0447\u0430\u0441\u0442\u0438 \u044d\u0442\u043e \u0432\u0435\u0440\u043d\u043e, \u0435\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0430 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0435\u0439. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u043e\u0441\u043b\u043e\u0436\u043d\u0451\u043d \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043a \u041f\u041b\u0418\u0421. \u042d\u0442\u0438 \u0437\u0430\u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0438 \u044f. \u0410 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0442\u043e\u0440\u043e\u043f\u0438\u0442\u0435\u0441\u044c, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043b\u0430\u0442\u044b, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0443 \u0432\u0430\u0441 \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u0430\u044f. \u041e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u0442\u044c (\u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0438\u0437 \u0441\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430). \u041d\u0435 \u0431\u0443\u0434\u0443 \u0443\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043e\u0440\u0438\u0435\u0439, \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442 (\u043e\u043d \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u0442\u044c \u0447\u0442\u043e \u043a \u0447\u0435\u043c\u0443).<\/p>\n<p>    \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b (\u0441\u043c. \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443) \u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u044b CS, RAS, CAS, WE). \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u043f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443. \u0414\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0432 \u0442\u0435\u043c\u0435 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 SDRAM. <\/p>\n<p>    \u041a\u0430\u0436\u0434\u044b\u0435 64 \u043c\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u0440\u044f\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u041a\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u0440\u0435\u0448\u0430\u0435\u0442 \u0441\u0430\u043c\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0435\u0439 \u0434\u0430\u0442\u044c (\u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0437\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430). \u0422\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0440\u043e\u043a\u0430, \u0442\u043e \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0436\u0434\u0430\u0442\u044c.<\/p>\n<p>    \u0414\u0430\u043b\u044c\u0448\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a\u0438 (\u043f\u0430\u043c\u044f\u0442\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432), \u043d\u0430 \u0448\u0438\u043d\u0435 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438. \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440) \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043d\u0430 \u0448\u0438\u043d\u0435 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0440\u044f\u0434\u0430 (\u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043c. \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443). \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0443\u0437\u044b (\u0441\u043c. \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e).<\/p>\n<p>    \u0412 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043c\u0430\u043a\u0435\u0442\u0430 \u0438\u043c\u0435\u0435\u043c \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f, \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430, \u0434\u0432\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 (\u0441\u0431\u0440\u043e\u0441 \u0438 \u0441\u0442\u0430\u0440\u0442) \u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 8\u041c\u0411 HY57V641620FTP-H (4-\u0440\u0435 \u0431\u0430\u043d\u043a\u0430 \u043f\u043e \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0443 16-\u0442\u0438 \u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u043b\u043e\u0432). \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0430\u043a\u0435\u0442\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439. \u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043a\u043d\u043e\u043f\u043a\u0438 \u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439 (\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0451\u0445 \u0442.\u043a. \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c), \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0438 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u0430). \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0447\u0442\u0435\u043d\u0438\u0435 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b. \u0412\u0441\u0451 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e.<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5a2\/08b\/02c\/5a208b02ca3a12223c20161705a36311.jpg\" alt=\"\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.\" title=\"\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.\" width=\"330\" height=\"189\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/5a2\/08b\/02c\/5a208b02ca3a12223c20161705a36311.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/5a2\/08b\/02c\/5a208b02ca3a12223c20161705a36311.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ca7\/15b\/3f5\/ca715b3f5f5e286cc76f7d95f8406d69.jpg\" alt=\"\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0438.\" title=\"\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0438.\" width=\"299\" height=\"299\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/ca7\/15b\/3f5\/ca715b3f5f5e286cc76f7d95f8406d69.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/ca7\/15b\/3f5\/ca715b3f5f5e286cc76f7d95f8406d69.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0438.<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/839\/3df\/bed\/8393dfbedfd1a485f171bdbdee468eed.jpg\" alt=\"\u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 SDRAM.\" title=\"\u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 SDRAM.\" width=\"529\" height=\"492\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/839\/3df\/bed\/8393dfbedfd1a485f171bdbdee468eed.jpg 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/839\/3df\/bed\/8393dfbedfd1a485f171bdbdee468eed.jpg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 SDRAM.<\/figcaption><\/div>\n<\/figure>\n<p>   \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0432\u0430\u0436\u043d\u044b\u043c \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044f\u043c. \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0442\u0430\u043a \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0435, \u0442\u043e \u0434\u043b\u0438\u043d\u043d\u0430 \u0434\u043e\u0440\u043e\u0436\u0435\u043a \u043d\u0430 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435, \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 (\u0442.\u043a. \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0442 \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u043d\u043e\u0439 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e).<\/p>\n<p>    \u041f\u043e\u044f\u0441\u043d\u044f\u044e, \u043c\u044b \u0432\u044b\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c, \u0447\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u0447\u0442\u043e \u0431\u044b \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c, \u0447\u0442\u043e \u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0444\u0440\u043e\u043d\u0442\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0443\u0436\u0435 \u0432\u0441\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u0440\u044e\u043a. \u0422\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c \u0441\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u043c \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 90 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432 (\u044d\u0442\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439). \u042d\u0442\u043e\u0442 \u0441\u0434\u0432\u0438\u0433 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0432 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0441\u0445\u0435\u043c\u0430\u0445). \u0423 \u043c\u0435\u043d\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0441\u0434\u0432\u0438\u0433\u0430 \u0444\u0430\u0437 \u043e\u0442 25 \u0434\u043e 35 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e 30).<\/p>\n<p>    \u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445 \u043d\u0430 \u041f\u041b\u0418\u0421 Altera \u0435\u0441\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u044f\u043c\u043e \u0432\u043e\u0437\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0436\u043a\u0438. \u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0432\u044b\u0432\u043e\u0434\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u201cFast Input Register On\u201d \u0438 \u201cFast Output Enable Register On\u201d.<\/p>\n<p>    \u0412 \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u0432\u0441\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c 3.3-V LVTTL. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043d\u043e\u0436\u043a\u0438 \u041f\u041b\u0418\u0421 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0442\u0440\u0435\u0442\u044c\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442). \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0434 \u043d\u0430 verilog. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u043c\u0431\u0443\u0440\u043d\u044b\u0439 \u0438 \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0439, \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0447\u0442\u043e \u044f \u0441\u0430\u043c \u043d\u043e\u0432\u0438\u0447\u043e\u043a.<\/p>\n<pre><code class=\"vhdl\">`timescale 1ns \/ 1ps\/* !!! \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f SDRAM (\u0441\u0434\u0432\u0438\u0433 +30 \u0433\u0440\u0430\u0434.) \u0417\u0410\u0420\u0410\u0411\u041e\u0422\u0410\u041b\u041e!!! *\/\/*    \u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 KEY4 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439 CKEY[1..3],   \u0432\u044b\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 {9'd0, CKEY3, CKEY2, CKEY1},   \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 {13'd0, CKEY3, CKEY2, CKEY1}. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438   \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043c\u043b\u0430\u0434\u0448\u0438\u0435 \u0442\u0440\u0438 \u0431\u0438\u0442\u0430 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.    \u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 HY57V641620FTP-H*\/module TestSDRAM((* chip_pin = \"76\"  *) output SD_A00, \/\/ \u0410\u0434\u0440\u0435\u0441\u0441\u043d\u0430\u044f \u0448\u0438\u043d\u0430(* chip_pin = \"77\"  *) output SD_A01,(* chip_pin = \"80\"  *) output SD_A02,(* chip_pin = \"83\"  *) output SD_A03,(* chip_pin = \"68\"  *) output SD_A04,(* chip_pin = \"67\"  *) output SD_A05,(* chip_pin = \"66\"  *) output SD_A06,(* chip_pin = \"65\"  *) output SD_A07,(* chip_pin = \"64\"  *) output SD_A08,(* chip_pin = \"60\"  *) output SD_A09,(* chip_pin = \"75\"  *) output SD_A10,(* chip_pin = \"59\"  *) output SD_A11,(* chip_pin = \"73\"  *) output SD_BS0, \/\/ \u0412\u044b\u0431\u043e\u0440 \u0431\u0430\u043d\u043a\u0430(* chip_pin = \"74\"  *) output SD_BS1,(* chip_pin = \"42\"  *) output SD_LDQM, \/\/ \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430(* chip_pin = \"55\"  *) output SD_UDQM, \/\/ \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0438\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430(* chip_pin = \"87\"  *) output LED1,(* chip_pin = \"86\"  *) output LED2,(* chip_pin = \"85\"  *) output LED3,(* chip_pin = \"84\"  *) output LED4,(* chip_pin = \"58\"  *) output SD_CKE,  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\/* \u0422\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 90 \u0433\u0440\u0434. \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a\u0438\u0437-\u0437\u0430 \u0434\u043b\u0438\u043d\u043d\u044b \u0434\u043e\u0440\u043e\u0436\u0435\u043a \u043d\u0430 \u043f\u043b\u043f\u0442\u0435. *\/(* chip_pin = \"43\"  *) output SD_CLK,  (* chip_pin = \"72\"  *) output SD_CS,   \/\/ \u0412\u044b\u0431\u043e\u0440 \u0447\u0438\u043f\u0430(* chip_pin = \"71\"  *) output SD_RAS,  \/\/ \u0421\u0442\u0440\u043e\u0431 \u0441\u0442\u0440\u043e\u043a\u0438(* chip_pin = \"70\"  *) output SD_CAS,  \/\/ \u0421\u0442\u0440\u043e\u0431 \u043a\u043e\u043b\u043e\u043d\u043a\u0438(* chip_pin = \"69\"  *) output SD_WE,   \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438(* chip_pin = \"23\"  *) input clk,   \/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 50\u041c\u0413\u0446(* chip_pin = \"25\"  *) input rst_n, \/\/ \u0441\u0431\u0440\u043e\u0441(* chip_pin = \"88\"  *) input CKEY1, \/\/ \u0417\u0430\u0434\u0430\u0451\u043c \u0447\u0438\u0441\u043b\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u041e\u0417\u0423 16-bit(* chip_pin = \"89\"  *) input CKEY2, \/\/ {13'd0, CKEY3, CKEY2, CKEY1}(* chip_pin = \"90\"  *) input CKEY3,\/* \u043d\u0430\u0436\u0430\u0442\u0438\u0435 - \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u041e\u0417\u0423,\u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b *\/(* chip_pin = \"91\"  *) input KEY4_n,(* chip_pin = \"28\" *) inout SD_D00, \/\/ \u0428\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445(* chip_pin = \"30\" *) inout SD_D01,(* chip_pin = \"31\" *) inout SD_D02,(* chip_pin = \"32\" *) inout SD_D03,(* chip_pin = \"33\" *) inout SD_D04,(* chip_pin = \"34\" *) inout SD_D05,(* chip_pin = \"38\" *) inout SD_D06,(* chip_pin = \"39\" *) inout SD_D07,(* chip_pin = \"54\" *) inout SD_D08,(* chip_pin = \"53\" *) inout SD_D09,(* chip_pin = \"52\" *) inout SD_D10,(* chip_pin = \"51\" *) inout SD_D11,(* chip_pin = \"50\" *) inout SD_D12,(* chip_pin = \"49\" *) inout SD_D13,(* chip_pin = \"46\" *) inout SD_D14,(* chip_pin = \"44\" *) inout SD_D15);\/\/ \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 top   localparam ST_TOP_IDLE        = 2'd0,              ST_TOP_WRITE_MEM   = 2'd1,  ST_TOP_READ_MEM    = 2'd2,  ST_TOP_OUT_LED     = 2'd3;\/\/-----------------------------------wire clk_sys;    \/\/ 50 MHz (0 deg)    wire clk_sdram;  \/\/ 50 MHz (30 deg)wire pll_locked; \/\/ 0 - PLL \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e, 1 - \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043ewire Button_Reset;\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0441\u0431\u0440\u043e\u0441wire reset;\/\/ \u042d\u0442\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u0431\u0440\u043e\u0441. \u041a\u0440\u043e\u043c\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0432\u043b\u0438\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 PLL.wire start;\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043f\u0438\u0441\u0438\/\u0447\u0442\u0435\u043d\u0438\u044fwire SD_Ready;\/\/ \u0413\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044bwire [11:0] addr_from_cntrl;reg cmd_write, cmd_read;reg [1:0] top_state;reg [2:0] rLed;\/* \u042d\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 SDRAM,  \u0442.\u0435. \u0437\u0434\u0435\u0441\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443  \u0445\u043e\u0442\u0438\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u043f\u0438\u0441\u0430\u0442\u044c. \u0410 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440,  \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u043d\u043e\u0433\u0438. *\/reg [11:0] addr_mem;\/* \u0417\u0434\u0435\u0441\u044c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439,\u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0448\u0438\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c) *\/reg [15:0] data_to_ram;reg  [15:0] dq_out_ioe;reg  [15:0] dq_oe_ioe;reg  [15:0] dq_in_ioe;\/\/ ------------------------------------------------------------------------\/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043d\u0430 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044e (\u0432\u043d\u0443\u0442\u0440\u0438 IOE)always @(posedge clk_sys) begin  dq_out_ioe  &lt;= data_to_ram;  dq_oe_ioe   &lt;= {16{cmd_write}};  \/\/ \u0424\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438  dq_in_ioe[0]  &lt;= SD_D00;  dq_in_ioe[1]  &lt;= SD_D01;dq_in_ioe[2]  &lt;= SD_D02;  dq_in_ioe[3]  &lt;= SD_D03;dq_in_ioe[4]  &lt;= SD_D04;  dq_in_ioe[5]  &lt;= SD_D05;dq_in_ioe[6]  &lt;= SD_D06;  dq_in_ioe[7]  &lt;= SD_D07;dq_in_ioe[8]  &lt;= SD_D08;  dq_in_ioe[9]  &lt;= SD_D09;dq_in_ioe[10] &lt;= SD_D10;  dq_in_ioe[11] &lt;= SD_D11;dq_in_ioe[12] &lt;= SD_D12;  dq_in_ioe[13] &lt;= SD_D13;dq_in_ioe[14] &lt;= SD_D14;  dq_in_ioe[15] &lt;= SD_D15;end\/\/ \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Tri-state \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0438\u043d\u044b inoutassign SD_D00 = dq_oe_ioe[0]  ? dq_out_ioe[0]  : 1'bZ;assign SD_D01 = dq_oe_ioe[1]  ? dq_out_ioe[1]  : 1'bZ;assign SD_D02 = dq_oe_ioe[2]  ? dq_out_ioe[2]  : 1'bZ;assign SD_D03 = dq_oe_ioe[3]  ? dq_out_ioe[3]  : 1'bZ;assign SD_D04 = dq_oe_ioe[4]  ? dq_out_ioe[4]  : 1'bZ;assign SD_D05 = dq_oe_ioe[5]  ? dq_out_ioe[5]  : 1'bZ;assign SD_D06 = dq_oe_ioe[6]  ? dq_out_ioe[6]  : 1'bZ;assign SD_D07 = dq_oe_ioe[7]  ? dq_out_ioe[7]  : 1'bZ;assign SD_D08 = dq_oe_ioe[8]  ? dq_out_ioe[8]  : 1'bZ;assign SD_D09 = dq_oe_ioe[9]  ? dq_out_ioe[9]  : 1'bZ;assign SD_D10 = dq_oe_ioe[10] ? dq_out_ioe[10] : 1'bZ;assign SD_D11 = dq_oe_ioe[11] ? dq_out_ioe[11] : 1'bZ;assign SD_D12 = dq_oe_ioe[12] ? dq_out_ioe[12] : 1'bZ;assign SD_D13 = dq_oe_ioe[13] ? dq_out_ioe[13] : 1'bZ;assign SD_D14 = dq_oe_ioe[14] ? dq_out_ioe[14] : 1'bZ;assign SD_D15 = dq_oe_ioe[15] ? dq_out_ioe[15] : 1'bZ;\/* \u0412\u044b\u0432\u043e\u0434 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e addr \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043d\u043e\u0436\u043a\u0438  \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 addr \u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 SDRAM*\/assign {SD_A11, SD_A10, SD_A09, SD_A08,  SD_A07, SD_A06, SD_A05, SD_A04,  SD_A03, SD_A02, SD_A01, SD_A00} = addr_from_cntrl;\/*-------------------------------------------------------------------------   \u0418\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u0430:-\u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043f\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e,-\u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u0439 \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 -90 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0435.\u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0441\u0435 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435,\u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u043c \u0438 \u043d\u0435\u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0435. *\/PLL_SDRAM_OFF PLL1(.inclk0(clk),\/\/ \u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b.c0(clk_sys),\/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0440\u043e\u043c\u0435 SDRAM.c1(clk_sdram),\/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f SDRAM (\u0441\u0434\u0432\u0438\u0433 +30 \u0433\u0440\u0430\u0434.).locked(pll_locked));\/\/ 0- \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d\/\/-------------------------------------------------------------------------\/* \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0432 \u0432\u0438\u0434\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a. *\/Controller_SDRAM Controller_50MHz(.sdram_cmd_out({SD_CS, SD_RAS, SD_CAS, SD_WE}),.sdram_ba({SD_BS1, SD_BS0}),\/\/ \u041d\u043e\u043c\u0435\u0440 \u0431\u0430\u043d\u043a\u0430.sdram_a(addr_from_cntrl),\/\/ \u0410\u0434\u0440\u0435\u0441 \u043d\u0430 \u0448\u0438\u043d\u0443.ready(SD_Ready),\/\/ 1- \u0433\u043e\u0442\u043e\u0432 \u043a \u043f\u0440\u0438\u0451\u043c\u0443 \u043a\u043e\u043c\u0430\u043d\u0434.cmd_read(cmd_read),.cmd_write(cmd_write),.bank(2'd0),.row(12'd0),.col(addr_mem[7:0]),\/\/ \u0410\u0434\u0440\u0435\u0441 \u043e\u0442 \"\u043c\u0435\u043d\u044f\", \u043a\u0443\u0434\u0430 \u043f\u0438\u0441\u0430\u0442\u044c\/\u0447\u0438\u0442\u0430\u0442\u044c.clk(clk_sys),.rst(reset));\/\/ \u0412\u044b\u0432\u043e\u0434\u0438\u043c \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430\u0440\u0443\u0436\u0443 \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443\/\/ \u0447\u0435\u0440\u0435\u0437 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 DDIO \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432 Intel\/Altera.\/\/ \u041e\u0431\u044b\u0447\u043d\u044b\u0439 assign \u0432\u044b\u0437\u043e\u0432\u0435\u0442 \u0434\u0436\u0438\u0442\u0442\u0435\u0440 \u0438 \u0444\u0430\u0437\u043e\u0432\u044b\u0439 \u0441\u0434\u0432\u0438\u0433, \u043b\u043e\u043c\u0430\u044e\u0449\u0438\u0439 Fast I\/O.altddio_out #(.width(1)) sdram_clk_ddio_buf (.datain_h(1'b1),.datain_l(1'b0),.outclock(clk_sdram),.dataout(SD_CLK));assign SD_LDQM = 1'd0; \/\/ \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435assign SD_UDQM = 1'd0; \/\/ \u041d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435assign SD_CKE  = 1'd1; \/\/ \u0412\u0441\u0451 \u0432\u0440\u0435\u043c\u044f \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043eButton BT_R(.TTrigQ(Button_Reset), \/\/ 1 - \u0441\u0431\u0440\u043e\u0441.X(rst_n),\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0441\u0431\u0440\u043e\u0441, 0 - \u0441\u0431\u0440\u043e\u0441.C(clk_sys));Button BT_K(.TTrigQ(start),\/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439, \u0437\/\u0447 \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u044b\u0432\u043e\u0434.X(KEY4_n),\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0421\u0442\u0430\u0440\u0442.C(clk_sys));assign reset = Button_Reset | ~pll_locked;assign LED1 = reset ? 1'd1 : rLed[0];assign LED2 = reset ? 1'd1 : rLed[1];assign LED3 = reset ? 1'd1 : rLed[2];assign LED4 = 1'd1;always @(posedge clk_sys or posedge reset)beginif (reset) beginrLed &lt;= 3'd7;top_state &lt;= ST_TOP_IDLE;addr_mem &lt;= 12'd0;cmd_write &lt;= 1'd0; \/\/ \u0421\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0437\u0430\u043f\u0438\u0441\u0438cmd_read &lt;= 1'd0;  \/\/ \u0421\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0447\u0442\u0435\u043d\u0438\u044fend else begincmd_write &lt;= 1'd0;cmd_read  &lt;= 1'd0;case (top_state)ST_TOP_IDLE: beginif (start) begintop_state &lt;= ST_TOP_WRITE_MEM;endendST_TOP_WRITE_MEM: beginif (SD_Ready) begin\/* \u0427\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f - \u044d\u0442\u043e \u0430\u0434\u0440\u0435\u0441 \u044f\u0447\u0435\u0439\u043a\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e *\/addr_mem &lt;= {9'd0, CKEY3, CKEY2, CKEY1};data_to_ram &lt;= {13'd0, CKEY3, CKEY2, CKEY1};cmd_write &lt;= 1'd1; \/\/ \u0412\u044b\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0437\u0430\u043f\u0438\u0441\u0438top_state &lt;= ST_TOP_READ_MEM;endendST_TOP_READ_MEM: beginif (SD_Ready) begincmd_read &lt;= 1'd1; \/\/ \u0412\u044b\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0447\u0442\u0435\u043d\u0438\u044ftop_state &lt;= ST_TOP_OUT_LED;endendST_TOP_OUT_LED: begin\/* \u041e\u0436\u0438\u0434\u0430\u044e \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043e\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430, \u043a\u043e\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c, \u0437\u043d\u0430\u0447\u0438\u0442\u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043d\u0430 \u0448\u0438\u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c *\/if (SD_Ready) beginrLed &lt;= dq_in_ioe[2:0];top_state &lt;= ST_TOP_IDLE;endenddefault: top_state &lt;= ST_TOP_IDLE;endcaseendendendmodule<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:87px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>    \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c.<\/p>\n<pre><code class=\"vhdl\">`timescale 1ns \/ 1ps\/* \u041a\u043e\u0434 \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a *\/module Button(output reg TTrigQ,              input X,  input C);initial TTrigQ &lt;= 1'd1;reg [18:0]CTQ; \/\/ \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u043f\u043e\u0434\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0440\u0435\u0431\u0435\u0437\u0433\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432reg XQ, RSTrigQ, BQ;wire FY = !RSTrigQ &amp; BQ; \/\/ \u0441\u0445\u0435\u043c\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0444\u0440\u043e\u043d\u0442\u0430always @(posedge C)beginXQ &lt;= !X;\/* &amp;CTQ - \u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u0440\u0430\u0432\u043d\u044b \u0435\u0434\u0438\u043d\u0438\u0446\u0435, \u0442.\u0435. \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c, \u0434\u0430\u0451\u0442 \u0435\u0434\u0438\u043d\u0438\u0446\u0443      |CTQ - \u0432\u0441\u0435 \u0431\u0438\u0442\u044b \u0441\u0447\u0451\u0442\u0447\u0438\u043a\u0430 \u0440\u0430\u0432\u043d\u044b \u043d\u0443\u043b\u044e, \u0442.\u0435. \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u0434\u0430\u0451\u0442 \u043d\u043e\u043b\u044c*\/if (XQ &amp; ~&amp;CTQ) CTQ &lt;= CTQ + 1'd1;else if (!XQ &amp; |CTQ) CTQ &lt;= CTQ - 1'd1;if (&amp;CTQ) RSTrigQ &lt;= 1'd1; \/\/ \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0434\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c, \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c 1else if (~|CTQ) RSTrigQ &lt;= 1'd0; \/\/ \u0441\u0447\u0451\u0442\u0447\u0438\u043a \u0434\u043e\u0441\u0447\u0438\u0442\u0430\u043b \u0434\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430, \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u043c 0BQ &lt;= RSTrigQ;\/\/if (FY) TTrigQ &lt;= !TTrigQ; \/\/ \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0443 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0442\u0440\u0438\u0433\u0435\u0440TTrigQ &lt;= FY;endendmodule<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>    \u041a\u043d\u043e\u043f\u043a\u0430.<\/p>\n<pre><code class=\"vhdl\">`timescale 1ns \/ 1ps\/* \u0421\u0438\u0433\u043d\u0430\u043b\u044b \u043c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f (SD_LDQM, SD_UDQM) \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c *\/\/* \u041f\u0440\u0438\u043d\u0446\u0438\u043f \u0440\u0430\u0431\u043e\u0442\u044b \u043b\u043e\u0433\u0438\u043a\u0438 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438   \u0421\u0447\u0435\u0442\u0447\u0438\u043a \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430: \u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0442\u0430\u0439\u043c\u0435\u0440 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e \u043e\u0442\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 780 \u0442\u0430\u043a\u0442\u043e\u0432.\u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0438\u0441\u0442\u0435\u043a\u0430\u0435\u0442, \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043a\u0440\u044b\u0442\u044b\u0439 \u0444\u043b\u0430\u0433\u0437\u0430\u043f\u0440\u043e\u0441\u0430 refresh_req = 1.   \u0410\u0440\u0431\u0438\u0442\u0440\u0430\u0436: \u042d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u0438\u043c\u0435\u0435\u0442 \u043d\u0430\u0438\u0432\u044b\u0441\u0448\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442. \u041a\u043e\u0433\u0434\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f\u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 ST_IDLE, \u043e\u043d \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433 \u0440\u0430\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u044b\u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (cmd_read\/cmd_write).   \u0421\u0431\u0440\u043e\u0441 \u0444\u043b\u0430\u0433\u0430: \u041f\u0435\u0440\u0435\u0439\u0434\u044f \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 ST_REFRESH,\u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u044d\u0442\u043e\u0442 \u0444\u043b\u0430\u0433, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 CMD_REFRESH,\u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0443\u0437\u0443 tRFC (4 \u0442\u0430\u043a\u0442\u0430) \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 ST_IDLE.   \u041f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u043b\u0438\u0437\u0438\u0439: \u041c\u0435\u0442\u043e\u0434 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0444\u043b\u0430\u0433\u0430 refresh_req \u0441\u0442\u0440\u043e\u0433\u043e\u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 ST_IDLE \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u0435\u043d. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u0440\u0435\u0440\u0432\u0435\u0442\u0430\u043a\u0442\u0438\u0432\u043d\u0443\u044e \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e\u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435. \u041e\u043d \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u044e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 PRECHARGE (\u0437\u0430\u043a\u0440\u043e\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443),\u0432\u0435\u0440\u043d\u0435\u0442\u0441\u044f \u0432 ST_IDLE \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0442\u0435\u043c \u0443\u0439\u0434\u0435\u0442 \u043d\u0430 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e.   \u0417\u0430\u043f\u0430\u0441 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438: \u041d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u0435 50 \u041c\u0413\u0446 \u043f\u043e\u043b\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u0447\u0442\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438\u0441 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0438 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e 6-7 \u0442\u0430\u043a\u0442\u043e\u0432. \u0414\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0441refresh_req \u043f\u0440\u0438\u0434\u0435\u0442 \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 \u0447\u0442\u0435\u043d\u0438\u044f, \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f\u0432\u0441\u0435\u0433\u043e \u043d\u0430 ~140 \u043d\u0441, \u0447\u0442\u043e \u043d\u0438\u0447\u0442\u043e\u0436\u043d\u043e \u043c\u0430\u043b\u043e \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u043e\u043a\u043d\u043e\u043c \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445.   *\/module Controller_SDRAM(\/\/-------------------------------------------------------------------------\/\/ \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043a IOE \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044foutput reg  [3:0]  sdram_cmd_out, \/\/ \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0430\u0440\u0443\u0436\u0443 {CS, RAS, CAS, WE}output reg  [1:0]  sdram_ba, \/\/ \u041d\u043e\u043c\u0435\u0440 \u0431\u0430\u043d\u043a\u0430output reg  [11:0] sdram_a, \/\/ \u0410\u0434\u0440\u0435\u0441\/\/-------------------------------------------------------------------------\/\/-------------------------------------------------------------------------\/\/ \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f (\u041f\u041b\u0418\u0421)output reg         ready,    \/\/ \u0413\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0443input  wire        cmd_read, \/\/ \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044finput  wire        cmd_write,\/\/ \u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0438input  wire [1:0]  bank,  \/\/ \u041d\u043e\u043c\u0435\u0440 \u0431\u0430\u043d\u043a\u0430input  wire [11:0] row,  \/\/ \u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u043e\u043a\u0438input  wire [7:0]  col,  \/\/ \u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u043e\u043b\u0431\u0446\u0430\/\/-------------------------------------------------------------------------input  wire        clk,        \/\/ 50 \u041c\u0413\u0446 (\u043f\u0435\u0440\u0438\u043e\u0434 20 \u043d\u0441)input  wire        rst         \/\/ \u0421\u0431\u0440\u043e\u0441);\/\/ \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430   localparam ST_INIT_NOP  = 4'd0,              ST_INIT_PRE  = 4'd1,              ST_INIT_REF  = 4'd2,              ST_INIT_MRS  = 4'd3,              ST_IDLE      = 4'd4,              ST_ACTIVATE  = 4'd5,              ST_WRITE     = 4'd6,              ST_READ      = 4'd7,              ST_PRECHARGE = 4'd8,              ST_REFRESH   = 4'd9; \/\/ \u041d\u043e\u0432\u043e\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438  \/\/ \u041a\u043e\u043c\u0430\u043d\u0434\u044b SDRAM {CS, RAS, CAS, WE}   localparam CMD_NOP      = 4'b0111,              CMD_PRECHARGE= 4'b0010,              CMD_REFRESH  = 4'b0001,              CMD_LOAD_MODE= 4'b0000,              CMD_ACTIVATE = 4'b0011,              CMD_READ     = 4'b0101,              CMD_WRITE    = 4'b0100;   \/\/ \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0434\u043b\u044f 50 \u041c\u0413\u0446   localparam WAIT_200US = 14'd10000; \/\/ 200mks = 10000 * (1 \/ (50 * 10^6))\/* Time of Row Precharge - \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b PRECHARGE(\u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0432 \u0431\u0430\u043d\u043a\u0435 \u043f\u0430\u043c\u044f\u0442\u0438).\u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043e\u0431\u044f\u0437\u0430\u043d \"\u0437\u0430\u043c\u0435\u0440\u0435\u0442\u044c\" \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 WAIT_TRP \u043d\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0430\u043a\u0442\u043e\u0432,\u0440\u0430\u0432\u043d\u043e\u0435 \u0438\u043b\u0438 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u044e\u0449\u0435\u0435 \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435(t_RP = 15\u043d\u0441) \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b.*\/   localparam WAIT_TRP   = 14'd2;   localparam WAIT_TRFC  = 14'd4; \/\/ \u0420\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f 60\u043d\u0441   localparam WAIT_TMRD  = 14'd2; \/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 ModeRegister 2 \u0442\u0430\u043a\u0442\u0430   localparam WAIT_TRCD  = 14'd2; \/\/ \u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0447\u0442\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u044c 15\u043d\u0441\/\/ --- \u041b\u041e\u0413\u0418\u041a\u0410 REFRESH COUNTER ---   \/\/ 15.6 \u043c\u043a\u0441 \/ 20 \u043d\u0441 = 780 \u0442\u0430\u043a\u0442\u043e\u0432. \u0421\u0447\u0435\u0442 \u0432\u0435\u0434\u0435\u043c \u043e\u0442 0 \u0434\u043e 779.   localparam REFRESH_INTERVAL = 10'd779;reg [9:0] refresh_timer; \/\/ \u0421\u0447\u0435\u0442\u0447\u0438\u043a \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 15.6 \u043c\u043a\u0441   reg       refresh_req;   \/\/ \u0422\u0440\u0438\u0433\u0433\u0435\u0440-\u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044ealways @(posedge clk or posedge rst) beginif (rst) beginrefresh_timer &lt;= 10'd0;         refresh_req   &lt;= 1'b0;      end else beginif (refresh_timer &gt;= REFRESH_INTERVAL) beginrefresh_timer &lt;= 10'd0;            refresh_req   &lt;= 1'b1; \/\/ \u0412\u0440\u0435\u043c\u044f \u0438\u0441\u0442\u0435\u043a\u043b\u043e, \u0432\u0437\u0432\u043e\u0434\u0438\u043c \u0444\u043b\u0430\u0433 \u0437\u0430\u043f\u0440\u043e\u0441\u0430         end else beginrefresh_timer &lt;= refresh_timer + 1'b1;         end         \/\/ \u0421\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u043c \u0437\u0430\u043f\u0440\u043e\u0441 \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 FSM \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u0448\u0435\u043b\/\/ \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438         if (state == ST_REFRESH &amp;&amp; delay_cnt == 0) beginrefresh_req &lt;= 1'b0;         endend   end   \/\/ ------------------------------reg [3:0]  state;   reg [13:0] delay_cnt;   reg [1:0]  init_ref_cnt; \/\/ \u0421\u0447\u0435\u0442\u0447\u0438\u043a \u0430\u0432\u0442\u043e\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435\/\/ \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430\u043c\u0438always @(posedge clk or posedge rst) beginif (rst) beginstate        &lt;= ST_INIT_NOP;delay_cnt    &lt;= 14'd0;init_ref_cnt &lt;= 2'd0;ready        &lt;= 1'b0;end else begincase (state)\/\/ --- \u0421\u0442\u0430\u0434\u0438\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 ---ST_INIT_NOP: begin\/* \u041f\u0430\u0443\u0437\u0430 200\u043c\u043a\u0441 *\/  if (delay_cnt &gt;= WAIT_200US) beginstate     &lt;= ST_INIT_PRE;delay_cnt &lt;= 14'd0;  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endendST_INIT_PRE: begin  if (delay_cnt &gt;= WAIT_TRP) beginstate     &lt;= ST_INIT_REF;delay_cnt &lt;= 14'd0;  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endendST_INIT_REF: begin  if (delay_cnt &gt;= WAIT_TRFC) begindelay_cnt &lt;= 14'd0;if (init_ref_cnt &gt;= 2'd2) begin state &lt;= ST_INIT_MRS;end else begin init_ref_cnt &lt;= init_ref_cnt + 1'b1;end  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endendST_INIT_MRS: begin  if (delay_cnt &gt;= WAIT_TMRD) beginstate     &lt;= ST_IDLE;delay_cnt &lt;= 14'd0;  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endend\/\/ --- \u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0446\u0438\u043a\u043b \u0438 \u0410\u0440\u0431\u0438\u0442\u0440\u0430\u0436 ---ST_IDLE: begin  ready &lt;= 1'b1;  delay_cnt &lt;= 14'd0; \/\/ \u042f\u0432\u043d\u043e \u0434\u0435\u0440\u0436\u0438\u043c \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0432 0, \u043f\u043e\u043a\u0430 \u043e\u0442\u0434\u044b\u0445\u0430\u0435\u043c!!!!!!!!!!!!!!!  if (refresh_req) begin\/\/ \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u21161: \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438state &lt;= ST_REFRESH;ready &lt;= 1'b0;  end else if (cmd_read || cmd_write) begin\/\/ \u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u21162: \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438state &lt;= ST_ACTIVATE;ready &lt;= 1'b0;  endendST_ACTIVATE: begin  if (delay_cnt &gt;= WAIT_TRCD - 1) begindelay_cnt &lt;= 14'd0;state     &lt;= cmd_write ? ST_WRITE : ST_READ;  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endendST_WRITE: begindelay_cnt &lt;= 14'd0; \/\/ \u041e\u0431\u043d\u0443\u043b\u044f\u0435\u043c \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0446\u0438\u043a\u043b\u0430 PRECHARGE!!!!!!!!!state &lt;= ST_PRECHARGE;endST_READ: begindelay_cnt &lt;= 14'd0; \/\/ \u041e\u0431\u043d\u0443\u043b\u044f\u0435\u043c \u0434\u043b\u044f \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0446\u0438\u043a\u043b\u0430 PRECHARGE!!!!!!!!!state &lt;= ST_PRECHARGE;endST_PRECHARGE: begin  if (delay_cnt &gt;= WAIT_TRP) begindelay_cnt &lt;= 14'd0;state     &lt;= ST_IDLE; \/\/ \u0412\u043e\u0437\u0432\u0440\u0430\u0442 \u0432 IDLE, \u0433\u0434\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u0441\u044f refresh_req  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endend\/\/ --- \u041d\u043e\u0432\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435: \u041f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438\u0439 Auto Refresh \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u044b ---ST_REFRESH: begin  if (delay_cnt &gt;= WAIT_TRFC) begindelay_cnt &lt;= 14'd0;state     &lt;= ST_IDLE; \/\/ \u0420\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0430, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435  end else begindelay_cnt &lt;= delay_cnt + 1'b1;  endenddefault: beginstate &lt;= ST_INIT_NOP;delay_cnt &lt;= 14'd0; \/\/!!!!!!!!!!!!!!!!!!!!!!!!!!endendcaseendend\/\/ \u0424\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434 \u043d\u0430 \u0448\u0438\u043d\u0443always @(*) beginsdram_ba  = bank;sdram_a   = 12'd0;case (state)ST_INIT_NOP:   sdram_cmd_out = CMD_NOP;ST_INIT_PRE: begin sdram_cmd_out = CMD_PRECHARGE; sdram_a       = 12'b0100_0000_0000; \/\/ A10=1 (Precharge All)endST_INIT_REF:   sdram_cmd_out = CMD_REFRESH;ST_INIT_MRS: begin sdram_cmd_out = CMD_LOAD_MODE; sdram_a       = 12'b0000_0010_0000; \/\/ CL=2, BL=1 \u0447\u0442\u0435\u043d\u0438\u0435\/\u0437\u0430\u043f\u0438\u0441\u044c \u043f\u0430\u043a\u0435\u0442\u043e\u043c, \u0434\u043b\u0438\u043d\u043e\u0439 1 \u0441\u043b\u043e\u0432\u043eendST_IDLE:       sdram_cmd_out = CMD_NOP;ST_ACTIVATE: begin sdram_cmd_out = CMD_ACTIVATE; sdram_a       = row;endST_WRITE: begin sdram_cmd_out = CMD_WRITE; sdram_a       = {4'b0000, col}; \/\/ A10=0 (\u0431\u0435\u0437 \u0430\u0432\u0442\u043e-\u043f\u0440\u0435\u0447\u0430\u0440\u0434\u0436\u0430)endST_READ: begin sdram_cmd_out = CMD_READ; sdram_a       = {4'b0000, col}; \/\/ A10=0endST_PRECHARGE: begin sdram_cmd_out = CMD_PRECHARGE; sdram_a       = 12'b0000_0000_0000; \/\/ A10=0 (\u0437\u0430\u043a\u0440\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0431\u0430\u043d\u043a)end\/\/ \u0412\u044b\u0434\u0430\u0447\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0430\u0432\u0442\u043e\u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u043d\u0430 \u0448\u0438\u043d\u0443 \u043f\u0430\u043c\u044f\u0442\u0438ST_REFRESH: begin sdram_cmd_out = CMD_REFRESH;enddefault:       sdram_cmd_out = CMD_NOP;endcaseendendmodule<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><img style=\"width:14px;height:14px;object-fit:cover;object-position:left;\"\/><\/a><\/div><\/pre>\n<p>    \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 SDRAM.<\/p>\n<p>    \u041a\u043e\u043c\u0443 \u043d\u0443\u0436\u0435\u043d \u0431\u044b\u043b \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0441\u043b\u0430\u0436\u0434\u0430\u0439\u0442\u0435\u0441\u044c.<\/p>\n<\/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\/articles\/1053032\/\">https:\/\/habr.com\/ru\/articles\/1053032\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>    \u041d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0435\u0439 \u0431\u044b\u043b\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e, \u0447\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 SDRAM \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u041e\u0442\u0447\u0430\u0441\u0442\u0438 \u044d\u0442\u043e \u0432\u0435\u0440\u043d\u043e, \u0435\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0430 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0435\u0439. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043e\u0441\u0432\u043e\u0435\u043d\u0438\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c \u043e\u0441\u043b\u043e\u0436\u043d\u0451\u043d \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435. \u0412\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u0443\u044e \u043f\u0430\u043c\u044f\u0442\u044c \u043a \u041f\u041b\u0418\u0421. \u042d\u0442\u0438 \u0437\u0430\u043c\u0435\u0442\u043a\u0438 \u0434\u043b\u044f \u043d\u043e\u0432\u0438\u0447\u043a\u043e\u0432, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0438 \u044f. \u0410 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435 \u0442\u043e\u0440\u043e\u043f\u0438\u0442\u0435\u0441\u044c, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043b\u0430\u0442\u044b, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0443 \u0432\u0430\u0441 \u0441\u0430\u043c\u043e\u0434\u0435\u043b\u044c\u043d\u0430\u044f. \u041e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0447\u0438\u0442\u0430\u0442\u044c (\u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0438\u0437 \u0441\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0430). \u041d\u0435 \u0431\u0443\u0434\u0443 \u0443\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043e\u0440\u0438\u0435\u0439, \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0438\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442 (\u043e\u043d \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043c\u043e\u0436\u0435\u0442 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u0442\u044c \u0447\u0442\u043e \u043a \u0447\u0435\u043c\u0443).    \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0432\u0435\u0441\u0442\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b (\u0441\u043c. \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443) \u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u043f\u043e\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b (\u044d\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u044b CS, RAS, CAS, WE). \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u043f\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443. \u0414\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0432 \u0442\u0435\u043c\u0435 \u043a\u0440\u0430\u0442\u043a\u043e\u0435 \u0440\u0435\u0437\u044e\u043c\u0435 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 SDRAM.     \u041a\u0430\u0436\u0434\u044b\u0435 64 \u043c\u0441 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u0440\u044f\u0434 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438. \u041a\u0430\u043a\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438, \u0440\u0435\u0448\u0430\u0435\u0442 \u0441\u0430\u043c\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430, \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0435\u0439 \u0434\u0430\u0442\u044c (\u043f\u043b\u044e\u0441-\u043c\u0438\u043d\u0443\u0441 \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0437\u0436\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430). \u0422\u0430\u043a \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0440\u043e\u043a\u0430, \u0442\u043e \u043d\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438, \u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043e\u0436\u0434\u0430\u0442\u044c.    \u0414\u0430\u043b\u044c\u0448\u0435 \u0434\u043b\u044f \u0447\u0442\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u043e\u043a\u0438 (\u043f\u0430\u043c\u044f\u0442\u044c \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u0430 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432), \u043d\u0430 \u0448\u0438\u043d\u0435 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0430\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u0438. \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440) \u0447\u0442\u0435\u043d\u0438\u044f \u0441\u0442\u043e\u043b\u0431\u0446\u0430, \u043d\u0430 \u0448\u0438\u043d\u0435 \u0430\u0434\u0440\u0435\u0441 \u0441\u0442\u043e\u043b\u0431\u0446\u0430 \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0447\u0442\u0435\u043d\u0438\u044f. \u0414\u0430\u043b\u0435\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0432 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0437\u0430\u0440\u044f\u0434\u0430 (\u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043c. \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0443). \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438 \u0432\u044b\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0443\u0437\u044b (\u0441\u043c. \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e).    \u0412 \u0441\u043e\u0441\u0442\u0430\u0432\u0435 \u043c\u0430\u043a\u0435\u0442\u0430 \u0438\u043c\u0435\u0435\u043c \u0447\u0435\u0442\u044b\u0440\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044f, \u0447\u0435\u0442\u044b\u0440\u0435 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u0430, \u0434\u0432\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 (\u0441\u0431\u0440\u043e\u0441 \u0438 \u0441\u0442\u0430\u0440\u0442) \u0438 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043f\u0430\u043c\u044f\u0442\u0438 8\u041c\u0411 HY57V641620FTP-H (4-\u0440\u0435 \u0431\u0430\u043d\u043a\u0430 \u043f\u043e \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u0443 16-\u0442\u0438 \u0431\u0438\u0442\u043d\u044b\u0445 \u0441\u043b\u043e\u0432). \u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0430\u043a\u0435\u0442\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439. \u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043a\u043d\u043e\u043f\u043a\u0438 \u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439 (\u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0451\u0445 \u0442.\u043a. \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u043c), \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u0434\u0440\u0435\u0441 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0434\u0430\u043d\u043d\u044b\u0435. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0438 \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u0430). \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0447\u0442\u0435\u043d\u0438\u0435 \u043f\u043e \u044d\u0442\u043e\u043c\u0443 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b. \u0412\u0441\u0451 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e.\u0421\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.\u041f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0438.\u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 SDRAM.   \u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u043a \u0432\u0430\u0436\u043d\u044b\u043c \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044f\u043c. \u0412\u043e \u043f\u0435\u0440\u0432\u044b\u0445, \u0442\u0430\u043a \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0435, \u0442\u043e \u0434\u043b\u0438\u043d\u043d\u0430 \u0434\u043e\u0440\u043e\u0436\u0435\u043a \u043d\u0430 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0435, \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0443 (\u0442.\u043a. \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0442 \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u043d\u043e\u0439 \u0438\u043d\u0434\u0443\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c\u044e).    \u041f\u043e\u044f\u0441\u043d\u044f\u044e, \u043c\u044b \u0432\u044b\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043f\u043e \u0444\u0440\u043e\u043d\u0442\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u0438\u043c\u043f\u0443\u043b\u044c\u0441\u0430 \u0438 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u043c, \u0447\u0442\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043d\u0430 \u0432\u0445\u043e\u0434\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u0430\u043a, \u0447\u0442\u043e \u0431\u044b \u0431\u044b\u0442\u044c \u0443\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c, \u0447\u0442\u043e \u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0444\u0440\u043e\u043d\u0442\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0443\u0436\u0435 \u0432\u0441\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438\u0441\u044c \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0442\u0440\u044e\u043a. \u0422\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0441\u0438\u043d\u0445\u0440\u043e\u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c \u0441\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u043c \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 90 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432 (\u044d\u0442\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439). \u042d\u0442\u043e\u0442 \u0441\u0434\u0432\u0438\u0433 \u043f\u043e\u0434\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u0432 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u0441\u0445\u0435\u043c\u0430\u0445). \u0423 \u043c\u0435\u043d\u044f \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u0441\u0434\u0432\u0438\u0433\u0430 \u0444\u0430\u0437 \u043e\u0442 25 \u0434\u043e 35 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432 (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e 30).    \u0412\u043e \u0432\u0442\u043e\u0440\u044b\u0445 \u043d\u0430 \u041f\u041b\u0418\u0421 Altera \u0435\u0441\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043f\u0440\u044f\u043c\u043e \u0432\u043e\u0437\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0436\u043a\u0438. \u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0432\u044b\u0432\u043e\u0434\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u201cFast Input Register On\u201d \u0438 \u201cFast Output Enable Register On\u201d.    \u0412 \u0442\u0440\u0435\u0442\u044c\u0438\u0445 \u0432\u0441\u0435 \u0432\u044b\u0432\u043e\u0434\u044b \u043d\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0443 \u043f\u0430\u043c\u044f\u0442\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c 3.3-V LVTTL. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043d\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043d\u043e\u0436\u043a\u0438 \u041f\u041b\u0418\u0421 \u043f\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438 \u0432 \u0442\u0440\u0435\u0442\u044c\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0442\u0430\u043a \u0438 \u0435\u0441\u0442\u044c, \u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043d\u0435 \u043f\u043e\u043c\u0435\u0448\u0430\u0435\u0442). \u0414\u0430\u043b\u0435\u0435 \u043a\u043e\u0434 \u043d\u0430 verilog. \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u043c\u0431\u0443\u0440\u043d\u044b\u0439 \u0438 \u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0439, \u044f \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0447\u0442\u043e \u044f \u0441\u0430\u043c \u043d\u043e\u0432\u0438\u0447\u043e\u043a.`timescale 1ns \/ 1ps\/* !!! \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f SDRAM (\u0441\u0434\u0432\u0438\u0433 +30 \u0433\u0440\u0430\u0434.) \u0417\u0410\u0420\u0410\u0411\u041e\u0422\u0410\u041b\u041e!!! *\/\/*    \u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 KEY4 \u0444\u0438\u043a\u0441\u0438\u0440\u0443\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439 CKEY[1..3],   \u0432\u044b\u0434\u0430\u0451\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 {9&#8217;d0, CKEY3, CKEY2, CKEY1},   \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 {13&#8217;d0, CKEY3, CKEY2, CKEY1}. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e \u0442\u043e\u043c\u0443 \u0436\u0435 \u0430\u0434\u0440\u0435\u0441\u0443 \u0438   \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043c\u043b\u0430\u0434\u0448\u0438\u0435 \u0442\u0440\u0438 \u0431\u0438\u0442\u0430 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b.    \u041c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 HY57V641620FTP-H*\/module TestSDRAM((* chip_pin = &#171;76&#187;  *) output SD_A00, \/\/ \u0410\u0434\u0440\u0435\u0441\u0441\u043d\u0430\u044f \u0448\u0438\u043d\u0430(* chip_pin = &#171;77&#187;  *) output SD_A01,(* chip_pin = &#171;80&#187;  *) output SD_A02,(* chip_pin = &#171;83&#187;  *) output SD_A03,(* chip_pin = &#171;68&#187;  *) output SD_A04,(* chip_pin = &#171;67&#187;  *) output SD_A05,(* chip_pin = &#171;66&#187;  *) output SD_A06,(* chip_pin = &#171;65&#187;  *) output SD_A07,(* chip_pin = &#171;64&#187;  *) output SD_A08,(* chip_pin = &#171;60&#187;  *) output SD_A09,(* chip_pin = &#171;75&#187;  *) output SD_A10,(* chip_pin = &#171;59&#187;  *) output SD_A11,(* chip_pin = &#171;73&#187;  *) output SD_BS0, \/\/ \u0412\u044b\u0431\u043e\u0440 \u0431\u0430\u043d\u043a\u0430(* chip_pin = &#171;74&#187;  *) output SD_BS1,(* chip_pin = &#171;42&#187;  *) output SD_LDQM, \/\/ \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430(* chip_pin = &#171;55&#187;  *) output SD_UDQM, \/\/ \u041c\u0430\u0441\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0438\u0448\u0435\u0433\u043e \u0431\u0430\u0439\u0442\u0430(* chip_pin = &#171;87&#187;  *) output LED1,(* chip_pin = &#171;86&#187;  *) output LED2,(* chip_pin = &#171;85&#187;  *) output LED3,(* chip_pin = &#171;84&#187;  *) output LED4,(* chip_pin = &#171;58&#187;  *) output SD_CKE,  \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\/* \u0422\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u0441\u0434\u0432\u0438\u043d\u0443\u0442\u044b\u0439 \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 90 \u0433\u0440\u0434. \u0434\u043b\u044f \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a\u0438\u0437-\u0437\u0430 \u0434\u043b\u0438\u043d\u043d\u044b \u0434\u043e\u0440\u043e\u0436\u0435\u043a \u043d\u0430 \u043f\u043b\u043f\u0442\u0435. *\/(* chip_pin = &#171;43&#187;  *) output SD_CLK,  (* chip_pin = &#171;72&#187;  *) output SD_CS,   \/\/ \u0412\u044b\u0431\u043e\u0440 \u0447\u0438\u043f\u0430(* chip_pin = &#171;71&#187;  *) output SD_RAS,  \/\/ \u0421\u0442\u0440\u043e\u0431 \u0441\u0442\u0440\u043e\u043a\u0438(* chip_pin = &#171;70&#187;  *) output SD_CAS,  \/\/ \u0421\u0442\u0440\u043e\u0431 \u043a\u043e\u043b\u043e\u043d\u043a\u0438(* chip_pin = &#171;69&#187;  *) output SD_WE,   \/\/ \u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438(* chip_pin = &#171;23&#187;  *) input clk,   \/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 50\u041c\u0413\u0446(* chip_pin = &#171;25&#187;  *) input rst_n, \/\/ \u0441\u0431\u0440\u043e\u0441(* chip_pin = &#171;88&#187;  *) input CKEY1, \/\/ \u0417\u0430\u0434\u0430\u0451\u043c \u0447\u0438\u0441\u043b\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u041e\u0417\u0423 16-bit(* chip_pin = &#171;89&#187;  *) input CKEY2, \/\/ {13&#8217;d0, CKEY3, CKEY2, CKEY1}(* chip_pin = &#171;90&#187;  *) input CKEY3,\/* \u043d\u0430\u0436\u0430\u0442\u0438\u0435 &#8212; \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u041e\u0417\u0423,\u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0447\u0442\u0435\u043d\u0438\u0435 \u0438 \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u044b *\/(* chip_pin = &#171;91&#187;  *) input KEY4_n,(* chip_pin = &#171;28&#187; *) inout SD_D00, \/\/ \u0428\u0438\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0445(* chip_pin = &#171;30&#187; *) inout SD_D01,(* chip_pin = &#171;31&#187; *) inout SD_D02,(* chip_pin = &#171;32&#187; *) inout SD_D03,(* chip_pin = &#171;33&#187; *) inout SD_D04,(* chip_pin = &#171;34&#187; *) inout SD_D05,(* chip_pin = &#171;38&#187; *) inout SD_D06,(* chip_pin = &#171;39&#187; *) inout SD_D07,(* chip_pin = &#171;54&#187; *) inout SD_D08,(* chip_pin = &#171;53&#187; *) inout SD_D09,(* chip_pin = &#171;52&#187; *) inout SD_D10,(* chip_pin = &#171;51&#187; *) inout SD_D11,(* chip_pin = &#171;50&#187; *) inout SD_D12,(* chip_pin = &#171;49&#187; *) inout SD_D13,(* chip_pin = &#171;46&#187; *) inout SD_D14,(* chip_pin = &#171;44&#187; *) inout SD_D15);\/\/ \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 top   localparam ST_TOP_IDLE        = 2&#8217;d0,              ST_TOP_WRITE_MEM   = 2&#8217;d1,  ST_TOP_READ_MEM    = 2&#8217;d2,  ST_TOP_OUT_LED     = 2&#8217;d3;\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;wire clk_sys;    \/\/ 50 MHz (0 deg)    wire clk_sdram;  \/\/ 50 MHz (30 deg)wire pll_locked; \/\/ 0 &#8212; PLL \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e, 1 &#8212; \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043ewire Button_Reset;\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0441\u0431\u0440\u043e\u0441wire reset;\/\/ \u042d\u0442\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u0431\u0440\u043e\u0441. \u041a\u0440\u043e\u043c\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u0432\u043b\u0438\u044f\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 PLL.wire start;\/\/ \u041a\u043d\u043e\u043f\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0437\u0430\u043f\u0438\u0441\u0438\/\u0447\u0442\u0435\u043d\u0438\u044fwire SD_Ready;\/\/ \u0413\u043e\u0442\u043e\u0432\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044bwire [11:0] addr_from_cntrl;reg cmd_write, cmd_read;reg [1:0] top_state;reg [2:0] rLed;\/* \u042d\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 SDRAM,  \u0442.\u0435. \u0437\u0434\u0435\u0441\u044c \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443  \u0445\u043e\u0442\u0438\u043c \u0447\u0438\u0442\u0430\u0442\u044c \u043b\u0438\u0431\u043e \u043f\u0438\u0441\u0430\u0442\u044c. \u0410 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440,  \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u044d\u0442\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u043d\u043e\u0433\u0438. *\/reg [11:0] addr_mem;\/* \u0417\u0434\u0435\u0441\u044c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0447\u0442\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439,\u0438\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0448\u0438\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (\u0437\u0430\u043f\u0438\u0441\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c) *\/reg [15:0] data_to_ram;reg  [15:0] dq_out_ioe;reg  [15:0] dq_oe_ioe;reg  [15:0] dq_in_ioe;\/\/ &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;\/\/ \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043d\u0430 \u043f\u0435\u0440\u0438\u0444\u0435\u0440\u0438\u044e (\u0432\u043d\u0443\u0442\u0440\u0438 IOE)always @(posedge clk_sys) begin  dq_out_ioe  &lt;= data_to_ram;  dq_oe_ioe   &lt;= {16{cmd_write}};  \/\/ \u0424\u0438\u043a\u0441\u0430\u0446\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u043f\u0430\u043c\u044f\u0442\u0438  dq_in_ioe[0]  &lt;= SD_D00;  dq_in_ioe[1]  &lt;= SD_D01;dq_in_ioe[2]  &lt;= SD_D02;  dq_in_ioe[3]  &lt;= SD_D03;dq_in_ioe[4]  &lt;= SD_D04;  dq_in_ioe[5]  &lt;= SD_D05;dq_in_ioe[6]  &lt;= SD_D06;  dq_in_ioe[7]  &lt;= SD_D07;dq_in_ioe[8]  &lt;= SD_D08;  dq_in_ioe[9]  &lt;= SD_D09;dq_in_ioe[10] &lt;= SD_D10;  dq_in_ioe[11] &lt;= SD_D11;dq_in_ioe[12] &lt;= SD_D12;  dq_in_ioe[13] &lt;= SD_D13;dq_in_ioe[14] &lt;= SD_D14;  dq_in_ioe[15] &lt;= SD_D15;end\/\/ \u041f\u043e\u0431\u0438\u0442\u043e\u0432\u043e\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Tri-state \u0431\u0443\u0444\u0435\u0440\u043e\u0432 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u043d\u0430 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0438\u043d\u044b inoutassign SD_D00 = dq_oe_ioe[0]  ? dq_out_ioe[0]  : 1&#8217;bZ;assign SD_D01 = dq_oe_ioe[1]  ? dq_out_ioe[1]  : 1&#8217;bZ;assign SD_D02 = dq_oe_ioe[2]  ? dq_out_ioe[2]  : 1&#8217;bZ;assign SD_D03 = dq_oe_ioe[3]  ? dq_out_ioe[3]  : 1&#8217;bZ;assign SD_D04 = dq_oe_ioe[4]  ? dq_out_ioe[4]  : 1&#8217;bZ;assign SD_D05 = dq_oe_ioe[5]  ? dq_out_ioe[5]  : 1&#8217;bZ;assign SD_D06 = dq_oe_ioe[6]  ? dq_out_ioe[6]  : 1&#8217;bZ;assign SD_D07 = dq_oe_ioe[7]  ? dq_out_ioe[7]  : 1&#8217;bZ;assign SD_D08 = dq_oe_ioe[8]  ? dq_out_ioe[8]  : 1&#8217;bZ;assign SD_D09 = dq_oe_ioe[9]  ? dq_out_ioe[9]  : 1&#8217;bZ;assign SD_D10 = dq_oe_ioe[10] ? dq_out_ioe[10] : 1&#8217;bZ;assign SD_D11 = dq_oe_ioe[11] ? dq_out_ioe[11] : 1&#8217;bZ;assign SD_D12 = dq_oe_ioe[12] ? dq_out_ioe[12] : 1&#8217;bZ;assign SD_D13 = dq_oe_ioe[13] ? dq_out_ioe[13] : 1&#8217;bZ;assign SD_D14 = dq_oe_ioe[14] ? dq_out_ioe[14] : 1&#8217;bZ;assign SD_D15 = dq_oe_ioe[15] ? dq_out_ioe[15] : 1&#8217;bZ;\/* \u0412\u044b\u0432\u043e\u0434 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0433\u043e addr \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u043d\u043e\u0436\u043a\u0438  \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 addr \u043c\u0435\u043d\u044f\u0435\u0442 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 SDRAM*\/assign {SD_A11, SD_A10, SD_A09, SD_A08,  SD_A07, SD_A06, SD_A05, SD_A04,  SD_A03, SD_A02, SD_A01, SD_A00} = addr_from_cntrl;\/*&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-   \u0418\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0434\u0432\u0430:-\u043f\u0435\u0440\u0432\u044b\u0439 \u043a\u043e\u043f\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e,-\u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u043c\u0435\u0449\u0451\u043d\u043d\u044b\u0439 \u043f\u043e \u0444\u0430\u0437\u0435 \u043d\u0430 -90 \u0433\u0440\u0430\u0434\u0443\u0441\u043e\u0432. \u042d\u0442\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0434\u043b\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c\u044b \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0430 \u0432\u044b\u0441\u043e\u043a\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u0435.\u0422\u0430\u043a \u043a\u0430\u043a \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0441\u0435 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u043d\u0430 \u043f\u043b\u0430\u0442\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435,\u0447\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0430\u043c \u0438 \u043d\u0435\u0441\u043e\u0433\u043b\u0430\u0441\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0435. *\/PLL_SDRAM_OFF PLL1(.inclk0(clk),\/\/ \u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u0439 \u0441\u0438\u0433\u043d\u0430\u043b.c0(clk_sys),\/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445, \u043a\u0440\u043e\u043c\u0435 SDRAM.c1(clk_sdram),\/\/ \u0442\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f SDRAM (\u0441\u0434\u0432\u0438\u0433 +30 \u0433\u0440\u0430\u0434.).locked(pll_locked));\/\/ 0- \u0441\u0438\u0433\u043d\u0430\u043b \u043d\u0435 \u0441\u0442\u0430\u0431\u0438\u043b\u0435\u043d\/\/&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-\/* \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0432 \u0432\u0438\u0434\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430. \u041d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a. *\/Controller_SDRAM Controller_50MHz(.sdram_cmd_out({SD_CS, SD_RAS, SD_CAS,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-485360","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/485360","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=485360"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/485360\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=485360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=485360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=485360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}