Смотрю осцилом на лапах, и чипскопом сигналы - что осцил что чипскоп говорят одно и то же - времянка на запись и чтение согласно спецификации - вот это меня и ставит в тупик, на матери винт проверял - в биосе видится, значит IDENTIFY DEVICE проходит всё таки...
Самое подозрительное - это мусор на лапах данных при записи (хотя отчётливо видно из assign-ов, что на них должны быть стабильные данные).
Счас немного модифицировал дизайн для проверки (опустился на самый низ - примитивы прост опроверить)
Код
assign ch1_dd_pad_o = 16'hAAAA;
assign ch1_dd_pad_i = ch1_dd_pad;
assign ch1_dd_pad = (ch1_dd_padoe_o)? ch1_dd_pad_o : 16'bz;
assign LED1_n = ch1_dd_pad_i[0];
assign LED2_n = ch1_dd_pad_i[1];
assign LED3_n = ch1_dd_pad_i[2];
ch1_dd_padoe_o - беру с кнопки на ПП.
Проверил в технолоджи-мапе как он конструирует это всё (работаю с Xilinx) - через IOBUF - как и должен. На вход IO этому IOBUF заводится шина dd_pad, сигналы на которую выводятся с pad_o через OBUFT. То есть вообсче не к чему придраться вроде бы со стороны плиски (всё как заказывал).
В немодифицированном дизайне конструкция чесная, через IOBUF - как и должна быть, но откуда тогда берётся мусор на линии данных когда я пишу в шину, получается ата-девайс начинает гадить, но с какого это....