vt313 0 10 февраля, 2020 Опубликовано 10 февраля, 2020 · Жалоба В 31.01.2020 в 18:34, MaratZuev сказал: "Причесал" исходный код насколько возможно согласно воззрениям большинства: always_ff @(posedge clk_cmp or posedge RST_cmp) if (RST_cmp) count_echo_cmp <= 2'h0; else if (end_frame_cmp) if (TSR_cmp) count_echo_cmp <= 2'h0; else if (count_echo_cmp <= 2'd2) count_echo_cmp <= count_echo_cmp + 2'd1; else count_echo_cmp <= count_echo_cmp; И RTL-Viewer показал то, что требовалось: Но вот вопрос: если у меня не код, а два чёрных ящика: как мне понять, эквивалентны ли они или нет? Я бы написал так wire ce = end_frame_cmp & (TSR_cmp | count_echo_cmp < 3'd2); always_ff @(posedge clk_cmp or posedge RST_cmp) if (RST_cmp) count_echo_cmp <= 2'h0; else if (ce) if (TSR_cmp) count_echo_cmp <= 2'h0; else count_echo_cmp <= count_echo_cmp + 2'd1; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaratZuev 0 10 февраля, 2020 Опубликовано 10 февраля, 2020 · Жалоба 1 hour ago, vt313 said: Я бы написал так wire ce = end_frame_cmp & (TSR_cmp | count_echo_cmp < 3'd2); always_ff @(posedge clk_cmp or posedge RST_cmp) if (RST_cmp) count_echo_cmp <= 2'h0; else if (ce) if (TSR_cmp) count_echo_cmp <= 2'h0; else count_echo_cmp <= count_echo_cmp + 2'd1; 1 Используйте блоки кода - как видите, цитирование плывёт 2 count_echo_cmp < 3'd2 - здесь, наверное, не 3 как размерность, а 2? 3 Где закрывающий else для if (ce)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vt313 0 10 февраля, 2020 Опубликовано 10 февраля, 2020 · Жалоба 10 минут назад, MaratZuev сказал: 1 Используйте блоки кода - как видите, цитирование плывёт 2 count_echo_cmp < 3'd2 - здесь, наверное, не 3 как размерность, а 2? 3 Где закрывающий else для if (ce)? Да, конечно count_echo_cmp < 3, не убрал. Так не нужен else. Это разрешение записи. Нужно описать как разрешение записи. Не стоит полагаться на синтезатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaratZuev 0 10 февраля, 2020 Опубликовано 10 февраля, 2020 · Жалоба 3 hours ago, vt313 said: Нужно описать как разрешение записи. Последние четыре предложения звучат непоследовательно: "Не нужен. Является. Нужно. Не стоит." Как, всё-таки, правильно? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vt313 0 11 февраля, 2020 Опубликовано 11 февраля, 2020 · Жалоба 12 часов назад, MaratZuev сказал: Последние четыре предложения звучат непоследовательно: "Не нужен. Является. Нужно. Не стоит." Как, всё-таки, правильно? Да по всякому правильно. Я написал свой вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться