А так просто написать: if data_0 = '1' then out_0 <= 'Z' else out_0 <= '0'; if data_1 = '1' then out_1 <= 'Z' else out_1 <= '0'; и так далее Добавлено: Fri Jul 04, 2025 11:16 pm |
Electricman писал(а): Такой вопрос - как во втором максплюсе переводить отдельные выходы в открытый сток? Все разом я перевести могу, но мне это не надо, все разом то. Как там с Open Collector в MAX не знаю, но вообще, во первых, есть буферы разные у разных чипов и их надо прописывать в коде. Они, в общем, определяют, какие ресурсы на чипе возле пина надо использовать. Типа: IBUFDS #( .DQS_BIAS("FALSE") ) jesd_a_rx_sysref_IBUFDS ( .O ( jesd_a_rx_sysref_i ), .I ( jesd_a_rx_sysref_p ), .IB ( jesd_a_rx_sysref_n )); Ещё есть Constrains со всякими IO стандартами для портов в специальном файлике. Типа: set_property IOSTANDARD LVCMOS18 [get_ports sclk3] Ещё это настраивается через GUI, потом в итоге попадает в файлик. Вот куда то в эту сторону надо копать. Вообще действительно, как Доктор Зло писал, конструкция типа assign data = data_r ? 1'bz : 1'b0 Вроде как автоматически преобразуется в примерно то что надо. А вот какой там точно коллектор будет я хз. Возможно надо ещё констрейном уточнить. Добавлено: Sat Jul 05, 2025 2:03 am |
Pin assignment editor или что-то такое. Но я могу ошибаться, т.к. сто лет назад это было, может путаю чего. Добавлено: Sat Jul 05, 2025 9:31 am |
N1X писал(а): Pin assignment editor Не нашёл там такого. Есть что-то такого, но где там галочка открытого стока или где там вставить opndrn - хз. Добавлено: Sat Jul 05, 2025 2:01 pm
|
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |