Программирую плату Xilinx BASYS 3, Artix 7. Он имеет 7-сегментный дисплей с 4 анодными портами. Когда я игнорирую их в коде, они находятся на низком уровне, что приводит к включению 7-сегментного сигнала. Есть ли способ, например, привязать их высоко в файле constrain.xdg? Всегда иметь анодные выходы не идеально, даже когда я программирую VGA.
module top(
input wire clk,
...
output wire [3:0] an
);
...
assign an = 4'b1111; // <- I want this done automatically outside of my VGA program / top module
...
endmodule
Xilinx FPGA IOB имеет возможность добавления слабого подтягивающего резистора, используя свойство в файле ограничений. Четыре из них должны отключить сегменты дисплея.
Вот ссылка на описание того, как работает подтягивание.
ПОДТЯНЕНИЕ
Базовое описание выглядит так:
Синтаксис файла ограничений приведен чуть ниже по странице:
Вот схема платы с зелеными выводами интерфейса дисплея.
Объединим это как свойства:
set_property PULLUP TRUE [get_ports an[0]]
set_property PULLUP TRUE [get_ports an[1]]
set_property PULLUP TRUE [get_ports an[2]]
set_property PULLUP TRUE [get_ports an[3]]
Я рекомендую добавить их в конец вашего файла ограничений и построить. Посмотрите файл журнала после завершения сборки и посмотрите, как инструмент отреагировал на добавление новых свойств.
Вместо этого вам может потребоваться использовать свойство pulltype; его очень похожий синтаксис описан на той же странице, что и pullup.
Это у вас отключило 7-сегментный дисплей?