acvarif 0 14 августа, 2017 Опубликовано 14 августа, 2017 (изменено) · Жалоба Имеется конструкция с generate gen_korrsign8 : for i in 0 to 14 generate ukorrsign8 : korrsign8 port map ( clk => clk, clr => s_intr_rst, clr_cnt => s_clr_cnt, ctr_data => s_canceler, korr_in => s_korr_in_mt(i), divdat_wr_korr => s_divdat_wr_korr, divdat_rd_korr => s_divdat_rd_korr, divdat_wr_korr64 => s_divdat_wr_korr64, divdat_rd_korr64 => s_divdat_rd_korr64, moddata => s_moddata, cnl_korr => s_cnl_korr, wr_korr => s_wr_korr, rd_korr => s_rd_korr, sin_mod => s_sin_mod, cos_mod => s_cos_mod, div_sum_out => s_accum(i), korr_out => s_sdata(i) ); end generate gen_korrsign8; Необходимо при i = 0 подать на cnl_korr не s_cnl_korr, а not s_cnl_korr Скажите пожалуйста можно-ли это сделать в самой конструкции generate или придется ее разделить на две, где в первой не будет generate и будет cnl_korr => not s_cnl_korr, а вторая будет иметь generate и начинаться с 1 ( i in 1 to 14 generate)? Изменено 14 августа, 2017 пользователем Acvarif Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба gen_korrsign8 : for i in 0 to 14 generate signal cnl_korr : std_logic; begin k0: if i = 0 generate cnl_korr <= not s_cnl_korr; end generate; k1: if i /= 0 generate cnl_korr <= s_cnl_korr; end generate; ukorrsign8 : korrsign8 port map ( cnl_korr => cnl_korr, ); end generate gen_korrsign8; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
acvarif 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Спасибо. Компилится. Должно сработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба k0: if i = 0 generate cnl_korr <= not s_cnl_korr; end generate; k1: if i /= 0 generate cnl_korr <= s_cnl_korr; end generate; А по-моему здесь можно проще: chl_korr <= s_chl_korr when i /= 0 else not s_chl_korr; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба А по-моему здесь можно проще:Можно и так. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться