Цитата(Golikov A. @ Sep 10 2015, 16:26)

в CPLD асинхронный сброс возможен?
Код
always @ (posedge SCKIN or posedge CSIN)
if (CSIN == 1' b1)
count <= 5'b00000;
else
count <= count + 1'b1;
Спасибо. Почти заработало.
Точнее не очень почти.
И снова прошу вашей помощи.
Как видно на картинке сверху к MISO подключены сразу три устройства(будем рассматривать CPLD и АЦП), причем изначально CPLD работает когда начальная установка MISO в нуле, а АЦП наоборот, когда начальная установка MISO в единице, причем АЦП все время держит MISO в единице.
Первая мысль - использовать 3-state буфер на выходе CPLD, чтоб в момент выбора MISO опускался и CPLD могла разговаривать по MISO, все остальное время выход в 3-state, а значит в единице, АЦП следит за этим.
Внутри CPLD стоит на стреме регистр с заданными данными (которые к тому же подключены к выходам CPLD - это важно), и как только спадает CS и выбирается CPLD, то данные бегут по MISO. Когда все закончилось, то MISO возвращается в единицу и с ним работает АЦП.
Проверяю я это все дело через нашу прогу. И вроде все работает и данные передаются, и на пинах нужная комбинация с регистра прет.
Но есть косяк:
Если работать через уже включенную прогу, то все норм. Но когда только-только подать питание на плату, то нужные данные в регистре отсутствуют. Смотрел на осциле.
Заливаешь прогу, все есть. Перезагружаешь, ничего нет. Причем все остальное выполняется, и буфер работает, и регистры читаются, но только нули.
В коде единице, у меня нули. Перезаливаю, все норм, перезагружаю - болты.