{"id":306083,"date":"2020-06-29T09:00:29","date_gmt":"2020-06-29T09:00:29","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=306083"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=306083","title":{"rendered":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Quartus \u0438 ModelSim"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/508698\/\">\u041c\u0435\u043d\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430, \u0430 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b -HDL. \u0423 \u043c\u0435\u043d\u044f \u0434\u0430\u0432\u043d\u043e \u043b\u0435\u0436\u0430\u043b\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043d\u0438\u0433\u0430 \u0414\u044d\u0432\u0438\u0434\u0430 \u041c. \u0425\u044d\u0440\u0440\u0438\u0441 \u0438 \u0421\u0430\u0440\u044b \u041b. \u0425\u044d\u0440\u0440\u0438\u0441 \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u00bb, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438, \u044f \u0434\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0434\u043e \u044d\u0442\u043e\u0439 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0430 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0432 Quartus Prime. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u043c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433 \u0441\u0430\u0439\u0442 <a href=\"https:\/\/marsohod.org\/\">marsohod.org<\/a>, \u043d\u043e \u0432\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0441\u0445\u0435\u043c\u044b \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 Quartus \u0438 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u044d\u0442\u0438\u0445 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0435\u0442 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ModelSim. \u0427\u0442\u043e\u0431\u044b \u043a\u0430\u043a-\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Quartus \u0438 ModelSim, \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u0437 \u043a\u043d\u0438\u0433\u0438 \u0414\u044d\u0432\u0438\u0434\u0430 \u041c. \u0425\u044d\u0440\u0440\u0438\u0441 \u0438 \u0421\u0430\u0440\u044b \u041b. \u0425\u044d\u0440\u0440\u0438\u0441 \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u00bb, \u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0437\u0430\u0434\u0430\u0447\u0443 3.26 \u043f\u0440\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0433\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u043e\u0434\u044b. \u041d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Quartus, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e. \u0412\u0441\u0435\u043c \u043a\u043e\u043c\u0443 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mp\/5p\/eg\/mp5pegcs3e2ccj35pgsi6sj_asa.png\" alt=\"image\"\/><br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h1>\u041f\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0437\u0430\u0434\u0430\u0447\u0438<\/h1>\n<p>  \u0412\u0430\u0441 \u0443\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438 \u0441\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0441 \u043f\u0440\u043e\u0445\u043b\u0430\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u043f\u0438\u0442\u043a\u0430\u043c\u0438 \u0434\u043b\u044f \u043e\u0444\u0438\u0441\u0430. \u0420\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u043d\u0430\u043f\u0438\u0442\u043a\u0438 \u0447\u0430\u0441\u0442\u0438\u0447\u043d\u043e \u043f\u043e\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0444\u0441\u043e\u044e\u0437, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u043d\u0438 \u0441\u0442\u043e\u044f\u0442 \u0432\u0441\u0435\u0433\u043e \u043f\u043e 5 \u0440\u0443\u0431\u043b\u0435\u0439. \u0410\u0432\u0442\u043e\u043c\u0430\u0442 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u043e\u043d\u0435\u0442\u044b \u0432 1, 2 \u0438 5 \u0440\u0443\u0431\u043b\u0435\u0439. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u043a\u0443\u043f\u0430\u0442\u0435\u043b\u044c \u0432\u043d\u0435\u0441\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u0441\u0443\u043c\u043c\u0443, \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0432\u044b\u0434\u0430\u0441\u0442 \u043d\u0430\u043f\u0438\u0442\u043e\u043a \u0438 \u0441\u0434\u0430\u0441\u0442 \u0441\u0434\u0430\u0447\u0443. \u0421\u043f\u0440\u043e\u0435\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0441 \u043f\u0440\u043e\u0445\u043b\u0430\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043d\u0430\u043f\u0438\u0442\u043a\u0430\u043c\u0438. \u0412\u0445\u043e\u0434\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f 1, 2 \u0438 5 \u0440\u0443\u0431\u043b\u0435\u0439, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e, \u043a\u0430\u043a\u0430\u044f \u0438\u0437 \u044d\u0442\u0438\u0445 \u043c\u043e\u043d\u0435\u0442 \u0432\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430. <\/p>\n<p>  \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u043c, \u0447\u0442\u043e \u043f\u043e \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u043c\u0443 \u0441\u0438\u0433\u043d\u0430\u043b\u0443 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u043c\u043e\u043d\u0435\u0442\u0430. \u0410\u0432\u0442\u043e\u043c\u0430\u0442 \u0438\u043c\u0435\u0435\u0442 \u0432\u044b\u0445\u043e\u0434\u044b: \u043d\u0430\u043b\u0438\u0442\u044c \u0433\u0430\u0437\u0438\u0440\u043e\u0432\u043a\u0443, \u0432\u0435\u0440\u043d\u0443\u0442\u044c 1 \u0440\u0443\u0431\u043b\u044c, \u0432\u0435\u0440\u043d\u0443\u0442\u044c 2 \u0440\u0443\u0431\u043b\u044f, \u0432\u0435\u0440\u043d\u0443\u0442\u044c 2 \u043f\u043e 2 \u0440\u0443\u0431\u043b\u044f. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0435 \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f 5 \u0440\u0443\u0431\u043b\u0435\u0439 (\u0438\u043b\u0438 \u0431\u043e\u043b\u044c\u0448\u0435), \u043e\u043d \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0438\u0433\u043d\u0430\u043b \u00ab\u041d\u0410\u041b\u0418\u0422\u042c \u0413\u0410\u0417\u0418\u0420\u041e\u0412\u041a\u0423\u00bb, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b, \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0441\u0434\u0430\u0447\u0438. \u0417\u0430\u0442\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0433\u043e\u0442\u043e\u0432 \u043e\u043f\u044f\u0442\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0442\u044c \u043c\u043e\u043d\u0435\u0442\u044b.<\/p>\n<h1>\u0422\u0435\u043e\u0440\u0438\u044f<\/h1>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u044b \u0438\u043b\u0438 finite state machine (FSM) \u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u043a \u043a\u043b\u0430\u0441\u0441\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0445\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0435 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u0445\u0435\u043c \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0438. \u0418\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u044b (\u043f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u0440\u0430\u0445). \u0422\u0430\u043a\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c \u0438 \u0432\u0435\u0440\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043e\u0441\u0442\u044c \u0441\u0445\u0435\u043c\u044b \u0438 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0439 \u0437\u0430\u0434\u0435\u0440\u0436\u0435\u043a \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u0441\u0445\u0435\u043c\u044b. \u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0445\u0435\u043c \u0433\u043b\u0430\u0441\u044f\u0442, \u0447\u0442\u043e \u0441\u0445\u0435\u043c\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439, \u0435\u0441\u043b\u0438 \u0435\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c:<\/p>\n<ul>\n<li>\u041a\u0430\u0436\u0434\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0445\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c, \u043b\u0438\u0431\u043e \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u043e\u0439.<\/li>\n<li>\u041a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u0438\u043d \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0441\u0445\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c.<\/li>\n<li>\u0412\u0441\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0442\u0430\u043a\u0442\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0442\u0430\u043a\u0442\u043e\u0432\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c.<\/li>\n<li>\u0412 \u043a\u0430\u0436\u0434\u043e\u043c \u0446\u0438\u043a\u043b\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u0443\u0442\u0438 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043e\u0434\u0438\u043d \u0440\u0435\u0433\u0438\u0441\u0442\u0440.<\/li>\n<\/ul>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043e\u043d \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445. \u041f\u0440\u0438 \u043f\u043e\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0438 \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u043f\u0440\u0438\u0447\u0435\u043c \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0438 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f. \u0412 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0431\u044b\u0442\u044c \u0432\u043e\u0432\u0441\u0435, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u044b. \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u043e\u0432: \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u041c\u0443\u0440\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u041c\u0438\u043b\u043b\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0437\u0430\u0432\u0438\u0441\u044f\u0442 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432. \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043b\u044e\u0431\u043e\u0439 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \u041c\u0443\u0440\u0430, \u0442\u0430\u043a \u0438 \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \u041c\u0438\u043b\u043b\u0438, \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u041c\u0443\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0438 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u0441\u0442\u0430\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0434\u0438\u043d \u0442\u0430\u043a\u0442 \u043e\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u041c\u0438\u043b\u043b\u0438. \u0414\u043b\u044f \u0441\u0445\u0435\u043c\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u0433\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u043e\u0434\u044b \u044f \u0431\u0443\u0434\u0443 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u041c\u0438\u043b\u043b\u0438. \u0420\u0430\u0441\u043f\u0438\u0448\u0435\u043c \u0441\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:  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td>S<sub>0<\/sub><\/td>\n<td>\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 0 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>S<sub>1<\/sub><\/td>\n<td>\u041d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u0430\u044f \u0441\u0443\u043c\u043c\u0430 1 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>S<sub>2<\/sub><\/td>\n<td>\u041d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043e 2 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>S<sub>3<\/sub><\/td>\n<td>\u041d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043e 3 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>S<sub>4<\/sub><\/td>\n<td>\u041d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043e 4 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u0433\u043d\u0430\u043b\u0430, \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0434\u0432\u0443\u0445\u0431\u0438\u0442\u043d\u0430\u044f \u0448\u0438\u043d\u0430, \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u0430 \u043c\u043e\u043d\u0435\u0442\u044b:  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u0423\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th>\n<th>\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td>I<sub>1<\/sub><\/td>\n<td>01<\/td>\n<td>1 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>I<sub>2<\/sub><\/td>\n<td>10<\/td>\n<td>2 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<tr>\n<td>I<sub>5<\/sub><\/td>\n<td>11<\/td>\n<td>5 \u0440\u0443\u0431.<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  \u041d\u0430\u0440\u0438\u0441\u0443\u0435\u043c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043d\u0430\u0448\u0435\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 (\u043d\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u041c\u0438\u043b\u043b\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043d\u0430 \u0441\u0442\u0440\u0435\u043b\u043a\u0430\u0445 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f, \u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u0431\u0443\u0434\u0443, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0437\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0430\u0442\u044c \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0443, \u0432\u0441\u0435 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043d\u0438\u0436\u0435):<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/0y\/tc\/46\/0ytc46buspembqlzribub7p1l4g.png\" alt=\"image\"\/><\/p>\n<p>  \u0420\u0430\u0441\u043f\u0438\u0448\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432:  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th colspan=\"2\"> \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f<\/th>\n<th>\u0412\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b<\/th>\n<th colspan=\"4\">\u0412\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b<\/th>\n<\/tr>\n<tr>\n<th>\u0422\u0435\u043a\u0443\u0449\u0435\u0435 S<\/th>\n<th>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 S&#8217;<\/th>\n<th>insert<\/th>\n<th>\u041d\u0430\u043b\u0438\u0442\u044c \u0432\u043e\u0434\u044b pour_water<\/th>\n<th>C\u0434\u0430\u0447\u0430 1 \u0440\u0443\u0431. change1<\/th>\n<th>\u0421\u0434\u0430\u0447\u0430 2 \u0440\u0443\u0431. change2<\/th>\n<th>\u0421\u0434\u0430\u0447\u0430 2 \u043f\u043e 2 \u0440\u0443\u0431. change22<\/th>\n<\/tr>\n<tr>\n<td>S<sub>0<\/sub><\/td>\n<td>S<sub>1<\/sub><\/td>\n<td>I<sub>1<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>0<\/sub><\/td>\n<td>S<sub>2<\/sub><\/td>\n<td>I<sub>2<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>0<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>5<\/sub><\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>1<\/sub><\/td>\n<td>S<sub>2<\/sub><\/td>\n<td>I<sub>1<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>1<\/sub><\/td>\n<td>S<sub>3<\/sub><\/td>\n<td>I<sub>2<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>1<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>5<\/sub><\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>2<\/sub><\/td>\n<td>S<sub>3<\/sub><\/td>\n<td>I<sub>1<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>2<\/sub><\/td>\n<td>S<sub>4<\/sub><\/td>\n<td>I<sub>2<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>2<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>5<\/sub><\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>3<\/sub><\/td>\n<td>S<sub>4<\/sub><\/td>\n<td>I<sub>1<\/sub><\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>3<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>2<\/sub><\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>3<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>5<\/sub><\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>4<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>1<\/sub><\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>4<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>2<\/sub><\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<\/tr>\n<tr>\n<td>S<sub>4<\/sub><\/td>\n<td>S<sub>0<\/sub><\/td>\n<td>I<sub>5<\/sub><\/td>\n<td>1<\/td>\n<td>0<\/td>\n<td>0<\/td>\n<td>1<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <\/p>\n<h1>\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430<\/h1>\n<p>  <\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Quartus Prime<\/h2>\n<p>  Quartus \u0438\u043c\u0435\u0435\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0443\u044e Lite Edition, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u043c\u0435\u0435\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0435\u0439, \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e \u043d\u0435 \u0431\u043e\u043b\u0435\u0435 10000 \u0441\u0442\u0440\u043e\u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0421\u043a\u0430\u0447\u0430\u0442\u044c \u0435\u0451, \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438, \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/fpgasoftware.intel.com\/?edition=lite\">\u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435<\/a>, \u043d\u0430 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0441\u0432\u0435\u0436\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u0431\u044b\u043b\u0430 19.1, \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0435\u0439 \u044f \u043f\u0438\u0441\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u044e. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c Lite Edition, \u0432\u0435\u0440\u0441\u0438\u044f 19.1, \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 Windows (\u043d\u0430\u0434\u043e \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044f Quartus \u0434\u043b\u044f Linux \u0438 \u043e\u043d\u0430 \u043e\u0442\u043b\u0438\u0447\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u044e\u0442 \u0441 ModelSim, \u043a\u043e\u0442\u043e\u0440\u0430\u044f 32 \u0431\u0438\u0442\u043d\u0430\u044f \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0442\u0430\u0440\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0448\u0440\u0438\u0444\u0442\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430 \u043f\u0435\u0440\u0432\u044b\u0445 \u043f\u043e\u0440\u0430\u0445 \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Windows \u0432\u0435\u0440\u0441\u0438\u044e), \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0432\u043a\u043b\u0430\u0434\u043a\u0443 Combined Files. \u0420\u0430\u0437\u043c\u0435\u0440 \u0430\u0440\u0445\u0438\u0432\u0430 \u0434\u043b\u044f \u0441\u043a\u0430\u0447\u043a\u0438 \u0432\u0435\u0441\u044c\u043c\u0430 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u2014 5.6 Gb, \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0439\u0442\u0435 \u044d\u0442\u043e. \u0420\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0441\u043a\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u0430\u0440\u0445\u0438\u0432 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c <em>setup.bat<\/em>. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<h2>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/h2>\n<p>  \u0414\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432\u044b\u0431\u0435\u0440\u0435\u043c <em>File -&gt; New Project Wizard&#8230;<\/em>. \u041f\u0435\u0440\u0432\u043e\u0435 \u043e\u043a\u043d\u043e Wizard&#8217;\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435, \u0436\u043c\u0435\u043c <em>Next<\/em>, \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u043e\u043a\u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u043e\u0435\u043a\u0442, \u0435\u0433\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 <em>\u00absoda_machine\u00bb<\/em> \u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442 \u0434\u0438\u0437\u0430\u0439\u043d\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f <em>\u00absoda_machine\u00bb<\/em>, \u043a\u0430\u043a \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/a8\/of\/ax\/a8ofaxht-hp-nf4qgwe7zzo3cfw.png\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043e\u043a\u043d\u0435 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <em>\u00abEmpty project\u00bb<\/em>. \u041e\u043a\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 <em>\u00abAdd files\u00bb<\/em>, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c. \u041e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 <em>\u00abFamily, Devices &#038; Board Settings\u00bb<\/em>, \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e\u0435, \u043d\u043e \u0442\u0430\u043a \u043a\u0430\u043a, \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u0443\u0447\u0435\u0431\u043d\u044b\u0439 \u0438 \u0434\u043e \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0435\u043c\u0443 \u0434\u0430\u043b\u0435\u043a\u043e, \u0437\u0434\u0435\u0441\u044c \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043a\u0430\u043a \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ht\/pu\/xn\/htpuxnwvoulywf0ats8jjcux62y.png\" alt=\"image\"\/><\/p>\n<p>  \u041e\u043a\u043d\u043e \u0432\u044b\u0431\u043e\u0440\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0434\u0440\u0443\u0433\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 <em>\u00abEDA Tool Settings\u00bb<\/em>, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0434\u043b\u044f \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <em>\u00abModelSim-Altera\u00bb<\/em> \u0438 \u0444\u043e\u0440\u043c\u0430\u0442 <em>\u00abSystem Verilog HDL\u00bb<\/em> \u043a\u0430\u043a \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/yq\/ws\/9_\/yqws9_jcodaemvmbmpuuxhuhfzs.png\" alt=\"image\"\/><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u043e\u043a\u043d\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435 <em>\u00abSummary\u00bb<\/em>, \u0436\u043c\u0435\u043c <em>Finish<\/em>.<\/p>\n<h2>\u041d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430<\/h2>\n<p>  \u0423 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u0430 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u044d\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0443\u043b\u044c <em>soda_machine<\/em> \u0438 \u0435\u0433\u043e test bench, \u043e\u0431\u0430 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u0430 \u0431\u0443\u0434\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0438\u043f \u0434\u0430\u043d\u043d\u044b\u0445 <em>insert_type<\/em>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043a\u0430\u043a \u043c\u044b \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u043c \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044b \u043c\u043e\u043d\u0435\u0442 \u0438 \u0435\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b. \u041d\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 Quartus \u0438 ModelSim. Quartus \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u0437\u0430 \u043e\u0434\u0438\u043d \u043f\u0440\u043e\u0445\u043e\u0434, \u0430 ModelSim \u043a\u0430\u0436\u0434\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b \u043f\u0440\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 Quartus&#8217;\u043e\u043c \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 <em>insert_type<\/em>, \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0442\u0435\u0445\u043d\u0438\u043a\u0443 \u0438\u0437 C\/C++ include guard, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0438\u0432\u0430\u0445 \u043c\u0430\u043a\u0440\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b ModelSim \u0431\u044b\u043b \u0443\u0432\u0435\u0440\u0435\u043d \u0447\u0442\u043e \u0442\u0438\u043f <em>insert_type<\/em>, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0439 \u0432 \u043c\u043e\u0434\u0443\u043b\u0435 <em>soda_machine<\/em> \u0438 \u0432 test bench&#8217;\u0435, \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435, \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b \u0435\u0433\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043a\u0435\u0442\u0430 <em>soda_machine_types<\/em>. \u0421 \u0443\u0447\u0435\u0442\u043e\u043c \u044d\u0442\u0438\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0444\u0430\u0439\u043b <em>soda_machine_types.sv<\/em> \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">soda_machine_types.sv<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">`ifndef soda_machine_types_sv_quard  package soda_machine_types;  \ttypedef enum logic [1:0] {I1=2'b01, I2=2'b10, I5=2'b11} insert_type; \t endpackage  `define soda_machine_types_sv_quard `endif <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043c\u043e\u0434\u0443\u043b\u044c <em>soda_machine<\/em>, \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <em>soda_machine.sv<\/em>:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">soda_machine.sv<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">`include &quot;soda_machine_types.sv&quot; import soda_machine_types::*;   module soda_machine( \tinput logic clk,          \/\/ Clock  \tinput logic reset,        \/\/ Active high level \tinput insert_type insert, \toutput logic pour_water, \toutput logic change1, \toutput logic change2, \toutput logic change22);  \ttypedef enum logic [2:0] {S0, S1, S2, S3, S4} state_type; \t(* syn_encoding = &quot;default&quot; *) state_type state, nextstate; \t\/\/ \u041b\u043e\u0433\u0438\u043a\u0430 \u0441\u0431\u0440\u043e\u0441\u0430 \u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\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 \talways_ff @(posedge clk, posedge reset) \tif (reset) \t\tstate &lt;= S0; \telse \t\tstate &lt;= nextstate; \t\/\/ \u041b\u043e\u0433\u0438\u043a\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \talways_comb \t\tcase (state) \t\t\tS0: \t\t\t\tcase (insert) \t\t\t\t\tI1: \t\t\t\t\t\tnextstate = S1; \t\t\t\t\tI2: \t\t\t\t\t\tnextstate = S2; \t\t\t\t\tI5: \t\t\t\t\t\tnextstate = S0; \t\t\t\tendcase \t\t\tS1:  \t\t\t\tcase (insert) \t\t\t\t\tI1: \t\t\t\t\t\tnextstate = S2; \t\t\t\t\tI2: \t\t\t\t\t\tnextstate = S3; \t\t\t\t\tI5: \t\t\t\t\t\tnextstate = S0; \t\t\t\tendcase \t\t\tS2: \t\t\t\tcase (insert) \t\t\t\t\tI1: \t\t\t\t\t\tnextstate = S3; \t\t\t\t\tI2:  \t\t\t\t\t\tnextstate = S4; \t\t\t\t\tI5: \t\t\t\t\t\tnextstate = S0; \t\t\t\tendcase \t\t\tS3:  \t\t\t\tif (insert == I1) \t\t\t\t\tnextstate = S4; \t\t\t\telse \t\t\t\t\tnextstate = S0; \t\t\tS4: \t\t\t\tnextstate = S0; \t\tendcase \t\/\/ \u041b\u043e\u0433\u0438\u043a\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \tassign pour_water = (state == S4) | (insert == I5) | (state == S3) & (insert == I2); \t \tassign change1 = (state == S1) & (insert == I5) | (state == S3) & (insert == I5) | (state == S4) & (insert == I2); \t\t\t\t\t\t\t \tassign change2 = (state == S2) & (insert == I5) | (state == S3) & (insert == I5); \t \tassign change22 = (state == S4) & (insert == I5); \t endmodule <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0431\u0443\u0434\u0443\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430, \u044f \u043e\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435 Quartus. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u0431\u044b \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0430\u0442\u0440\u0438\u0431\u0443\u0442 <em>(* syn_encoding = \u00abdefault\u00bb *)<\/em>, \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e <a href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/programmable\/quartushelp\/19.1\/index.htm#hdl\/vlog\/vlog_file_dir_syn_encoding.htm\">\u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f <em>File -&gt; New \u00abSystemVerilog HDL File\u00bb<\/em> \u0438 \u043f\u0440\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0438 \u0434\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0438\u043c\u044f. \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u0438\u0445 \u0434\u0432\u0443\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c <em>Processing -&gt; Start Compilation<\/em>. \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 <em>Tools -&gt; Netlist Viewers -&gt; RTL Viewer<\/em>:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">RTL Viewer<\/b>                         <\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q8\/oh\/_y\/q8oh_ycshcdcxczio_vm7t7qc6a.png\" alt=\"image\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 <em>Tools -&gt; Netlist Viewers -&gt; State Machine Viewer<\/em><\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">State Machine Viewer<\/b>                         <\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ot\/4x\/c7\/ot4xc7mofn_s-ynixgckzximeme.png\" alt=\"image\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u041d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 Encoding \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e Quartus \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043b \u0441\u0445\u0435\u043c\u0443 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u00abone-hot\u00bb, \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 D-\u0442\u0440\u0438\u0433\u0433\u0435\u0440, \u043f\u0440\u0438\u0447\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 S<sub>0<\/sub> \u043a\u043e\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f 0, \u0430 \u043d\u0435 1 \u043a\u0430\u043a \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0439, \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0441\u0445\u0435\u043c\u044b \u0441\u0431\u0440\u043e\u0441\u0430 \u0432 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e RTL Viewer \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443, \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0442. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0441\u0445\u0435\u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <em>Tools -&gt; Netlist Viewrs -&gt; Technology Map Viewer (Post-Fitting)<\/em><\/p>\n<h2>\u0421\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044f<\/h2>\n<p>  \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0445\u0435\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0430 \u043f\u043e \u043f\u0440\u043e\u0434\u0430\u0436\u0435 \u0433\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u043e\u0434\u044b, \u043d\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e, \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0448\u0435\u043c test bench \u0438 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043c \u0435\u0433\u043e \u0432 \u0444\u0430\u0439\u043b\u0435 <em>soda_machine_tb.sv<\/em>:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">soda_machine_tb.sv<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">`include &quot;soda_machine_types.sv&quot; import soda_machine_types::*;  module soda_machine_tb;  \tinsert_type insert; \t \tlogic [5:0] testvectors[10000:0]; \t \tint vectornum, errors; \t \tlogic clk, reset, pour_water, change1, change2, change22; \tlogic pour_water_expected, change1_expected, change2_expected, change22_expected; \t\/\/ \u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \tsoda_machine dut( \t\t.clk(clk), \t\t.reset(reset), \t\t.insert(insert), \t\t.pour_water(pour_water), \t\t.change1(change1), \t\t.change2(change2), \t\t.change22(change22) \t); \t\/\/ \u042d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0442\u0430\u043a\u0442\u043e\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \talways \t\t#5 clk = ~clk; \t\/\/ \u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \tinitial begin \t\t\/\/ \u0427\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c\u0438 \u0432\u0435\u043a\u0442\u043e\u0440\u0430\u043c\u0438 \t\t$readmemb(&quot;..\/..\/soda_machine.tv&quot;, testvectors); \t\tvectornum = 0; \t\terrors = 0; \t\tclk = 1; \t\t\/\/ \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u0431\u0440\u043e\u0441 \u0441\u0445\u0435\u043c\u044b \t\treset = 1; #13; reset = 0; \tend \t\/\/ \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0432\u043e\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \talways @(posedge clk) begin \t\t#1; {insert, pour_water_expected, change1_expected, change2_expected, change22_expected} = testvectors[vectornum]; \tend \t\/\/ \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043b\u0438 \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0435 \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u043d\u0430\u0448\u0438\u043c \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f\u043c \talways @(negedge clk) \t\tif (~reset) begin \t\t\tif ((pour_water !== pour_water_expected) || (change1 !== change1_expected) || (change2 !== change2_expected) || \t\t\t\t(change22 !== change22_expected)) begin \t\t\t\t$error(&quot;%3d test insert=%b\\noutputs pour_water=%b (%b expected), change1=%b (%b expected), change2=%b (%b expected), change22=%b (%b expected)&quot;,  \t\t\t\t\tvectornum + 1, insert, pour_water, pour_water_expected, change1, change1_expected, change2, change2_expected, change22, change22_expected); \t\t\t\terrors = errors + 1; \t\t\tend \t\t\tvectornum = vectornum + 1; \t\t\tif (testvectors[vectornum] === 6'bx) begin \t\t\t\t$display(&quot;Result: %3d tests completed with %3d errors&quot;, vectornum, errors); \t\t\t\t$stop; \t\t\tend \t\tend  endmodule <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0430\u0439\u043b \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0445 \u0432\u0435\u043a\u0442\u043e\u0440\u043e\u0432 <em>soda_machine.tv<\/em>:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">soda_machine.tv<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">01_0_0_0_0 01_0_0_0_0 01_0_0_0_0 01_0_0_0_0 01_1_0_0_0 10_0_0_0_0 10_0_0_0_0 10_1_1_0_0 11_1_0_0_0 10_0_0_0_0 10_0_0_0_0 11_1_0_0_1 10_0_0_0_0 11_1_0_1_0 01_0_0_0_0 01_0_0_0_0 01_0_0_0_0 11_1_1_1_0 <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0435 \u0434\u0432\u0430 \u0431\u0438\u0442\u0430 \u044d\u0442\u043e \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b insert, \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 4 \u0431\u0438\u0442\u0430, \u044d\u0442\u043e \u043d\u0430\u0448\u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0432\u044b\u0445\u043e\u0434\u043d\u044b\u0445 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432: pour_water, change1, change2, change22. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0444\u0430\u0439\u043b\u0430 5 \u0440\u0430\u0437 \u043f\u043e\u0434\u0440\u044f\u0434 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0443\u0431\u043b\u0435\u0432\u0430\u044f \u043c\u043e\u043d\u0435\u0442\u0430, \u043d\u0430 \u043f\u044f\u0442\u043e\u0439 \u043c\u043e\u043d\u0435\u0442\u0435, \u043c\u044b \u043e\u0436\u0438\u0434\u0430\u0435\u043c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430 pour_water, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u044b \u0432\u044b\u0434\u0430\u0447\u0438 \u0441\u0434\u0430\u0447\u0438 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b. \u0424\u0430\u0439\u043b <em>soda_machine.tv<\/em> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 <em>File -&gt; New \u00abText File\u00bb<\/em><\/p>\n<p>  \u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 ModelSim \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0430\u0439\u043b <em>soda_machine_run_simulation.do<\/em> \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">soda_machine_run_simulation.do<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">add wave \/soda_machine_tb\/dut\/clk add wave \/soda_machine_tb\/dut\/reset add wave \/soda_machine_tb\/dut\/insert add wave \/soda_machine_tb\/dut\/state add wave \/soda_machine_tb\/dut\/nextstate add wave \/soda_machine_tb\/dut\/pour_water add wave \/soda_machine_tb\/dut\/change1 add wave \/soda_machine_tb\/dut\/change2 add wave \/soda_machine_tb\/dut\/change22 view structure view signals run -all wave zoom full <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u041e\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u043d\u0430\u0448\u0443 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u0432 \u0432 ModelSim. \u0424\u0430\u0439\u043b <em>soda_machine_run_simulation.do<\/em> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 <em>File -&gt; New \u00abTcl script File\u00bb<\/em><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u043f\u0440\u043e\u0435\u043a\u0442, \u0447\u0442\u043e \u0431\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u043b\u0430\u0441\u044c \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044f. \u0412\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043f\u0443\u043d\u043a\u0442 \u043c\u0435\u043d\u044e <em>Assignments -&gt; Settings<\/em>, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044e <em>EDA Tool Settings -&gt; Simulation<\/em>. \u0412 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 <em>NativeLink settings<\/em> \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <em>Compile test bench:<\/em> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <em>Test Benches&#8230;<\/em> \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 <em>Test Benches<\/em> \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <em>New&#8230;<\/em> \u0412 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 <em>New Test Bench Settings<\/em> \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u0435 <em>Test bench name: soda_machine_tb<\/em> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 \u0432\u044b\u0431\u043e\u0440\u0430 \u0444\u0430\u0439\u043b\u0430 <em>&#8230;<\/em> \u0432 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u043e\u043a\u043d\u0430, \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043d\u0430\u0448 \u0444\u0430\u0439\u043b <em>soda_machine_tb.sv<\/em> \u0438 \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0443 <em>Add<\/em>. \u0414\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043d\u0430 \u0440\u0438\u0441\u0443\u043d\u043a\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/fn\/hj\/yb\/fnhjyb7lk_ts6xc6x2ipcjn2wfk.png\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u043e\u043a\u043d\u0435 <em>New Test Bench Settings<\/em> \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <em>OK<\/em>. \u041e\u043a\u043d\u043e <em>Test Benches<\/em> \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0438\u0434:<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/dd\/1n\/b4\/dd1nb41q2ark0lz8pixynx01eba.png\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u043e\u043a\u043d\u0435 <em>Test Benches<\/em> \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <em>OK<\/em>. \u0412 <em>NativeLink settings<\/em> \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0433\u0430\u043b\u043e\u0447\u043a\u0443 <em>Use script to set up simulation<\/em> \u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u0444\u0430\u0439\u043b <em>soda_machine_run_simulation.do<\/em>. \u041e\u043a\u043d\u043e <em>Settings<\/em><br \/>  \u0434\u043e\u043b\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432\u0438\u0434:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/el\/vn\/-h\/elvn-hwzal2gxyn4dqxazzehvk8.png\" alt=\"image\"\/><\/p>\n<p>  \u0412 \u043e\u043a\u043d\u0435 <em>Settings<\/em> \u043d\u0430\u0436\u0438\u043c\u0430\u0435\u043c <em>OK<\/em>, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u044e \u043f\u0440\u043e\u0435\u043a\u0442\u0430 <em>Processing -&gt; Start Compilation<\/em>, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 <em>Tools -&gt; Run Simulation Tool -&gt; RTL Simulation<\/em>. \u0414\u043e\u043b\u0436\u0435\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f ModelSim \u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 Transcript:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">ModelSim \u0432\u043a\u043b\u0430\u0434\u043a\u0430 Transcript<\/b>                         <\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hy\/5d\/vo\/hy5dvotrurmkuvw7rkmy42udm1k.png\" alt=\"image\"\/>  <\/div>\n<\/p><\/div>\n<p>  \u041a\u0440\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u043c\u043a\u043e\u0439 \u0432\u044b\u0434\u0435\u043b\u0435\u043d \u0432\u044b\u0432\u043e\u0434 \u043d\u0430\u0448\u0435\u0433\u043e test bench&#8217;\u0430 \u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u043e\u0432 \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u0445. \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0432\u043a\u043b\u0430\u0434\u043a\u0438 Wave:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">ModelSim \u0432\u043a\u043b\u0430\u0434\u043a\u0430 Wave<\/b>                         <\/p>\n<div class=\"spoiler_text\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/et\/j7\/or\/etj7or3isapzdf3jco42n9j800c.png\" alt=\"image\"\/>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<h1>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/h1>\n<p>  \u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 <a href=\"https:\/\/github.com\/igoral5\/soda_machine\">github.com\/igoral5\/soda_machine<\/a> \u041a\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u0437\u0430\u0442\u0435\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Quartus <em>File -&gt; Open Project&#8230;<\/em><br \/>  \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0444\u0430\u0439\u043b <em>soda_machine.qpf<\/em>. \u0417\u0430\u0442\u0435\u043c \u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 <em>Processing -&gt; Start Compilation<\/em> \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e <em>Tools -&gt; Run Simulation Tool -&gt; RTL Simulation<\/em>.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/508698\/\"> https:\/\/habr.com\/ru\/post\/508698\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/508698\/\">\u041c\u0435\u043d\u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043b\u0430 \u0446\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430, \u0430 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u044f\u0437\u044b\u043a\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u0443\u0440\u044b -HDL. \u0423 \u043c\u0435\u043d\u044f \u0434\u0430\u0432\u043d\u043e \u043b\u0435\u0436\u0430\u043b\u0430 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0447\u0442\u0435\u043d\u0438\u044f \u043a\u043d\u0438\u0433\u0430 \u0414\u044d\u0432\u0438\u0434\u0430 \u041c. \u0425\u044d\u0440\u0440\u0438\u0441 \u0438 \u0421\u0430\u0440\u044b \u041b. \u0425\u044d\u0440\u0440\u0438\u0441 \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u00bb, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0438\u0441\u044c \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u043d\u0430 \u0441\u0430\u043c\u043e\u0438\u0437\u043e\u043b\u044f\u0446\u0438\u0438, \u044f \u0434\u043e\u0431\u0440\u0430\u043b\u0441\u044f \u0434\u043e \u044d\u0442\u043e\u0439 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u0438\u0433\u0438. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0447\u0442\u0435\u043d\u0438\u044f \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0430 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0432 Quartus Prime. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u043c\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043c\u043e\u0433 \u0441\u0430\u0439\u0442 <a href=\"https:\/\/marsohod.org\/\">marsohod.org<\/a>, \u043d\u043e \u0432\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u0438 \u0441\u0445\u0435\u043c\u044b \u043d\u0430 \u044d\u0442\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 Quartus \u0438 \u0432 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u044d\u0442\u0438\u0445 \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u043d\u0435\u0442 \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ModelSim. \u0427\u0442\u043e\u0431\u044b \u043a\u0430\u043a-\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0435 \u0437\u043d\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Quartus \u0438 ModelSim, \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u0443 \u0441\u0442\u0430\u0442\u044c\u044e. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u0437\u0430\u0434\u0430\u0447\u0443 \u0438\u0437 \u043a\u043d\u0438\u0433\u0438 \u0414\u044d\u0432\u0438\u0434\u0430 \u041c. \u0425\u044d\u0440\u0440\u0438\u0441 \u0438 \u0421\u0430\u0440\u044b \u041b. \u0425\u044d\u0440\u0440\u0438\u0441 \u00ab\u0426\u0438\u0444\u0440\u043e\u0432\u0430\u044f \u0441\u0445\u0435\u043c\u043e\u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u00bb, \u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0437\u0430\u0434\u0430\u0447\u0443 3.26 \u043f\u0440\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0433\u0430\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0432\u043e\u0434\u044b. \u041d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 \u0441\u0442\u0430\u0442\u044c\u0438 \u044f \u043f\u043e\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c Quartus, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0435\u0433\u043e \u0441\u0438\u043c\u0443\u043b\u044f\u0446\u0438\u044e. \u0412\u0441\u0435\u043c \u043a\u043e\u043c\u0443 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0434\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434 \u043a\u0430\u0442.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/mp\/5p\/eg\/mp5pegcs3e2ccj35pgsi6sj_asa.png\" alt=\"image\"\/>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-306083","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/306083","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=306083"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/306083\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=306083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=306083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=306083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}