Цитата(bogaev_roman @ Mar 2 2016, 09:10)

У Вас слаки отрицательные и Вы считаете, что все работает в штатном режиме? А если температура поменяется и это алгоритм для полета баллистической ракеты

. Все-таки советую доразобраться с ограничениями, в приведенной ссылке на странице 5 именно Ваш случай - System-Synchronus Input.
Так они ж одинаково отрицательные, мне главное чтобы данные выровненные были , а клок я могу из АЦП двигать с шагом 45 град.
Но в общем опять не работает оно, рано обрадовался.
Писать по примеру я не могу, так как квартус тоже как бы хочет писать в cds и в итоге фигня получается. Выдал мне 150 ошибок по каким-то внутренним несоответствиям, причем сам написал мне строки в файле а потом по ним же и слаки выдал. Короче снес я cds и разницы не заметил.
Проблема сейчас такова, решил включить паттерны на АЦП, чтобы убедиться что все хорошо, а оно не хорошо.
Согласно паттерну, АЦП выдает поочередно 1111_1111_1111_000 и 0000_0000_0000_0000
Крутил фазу клока из АЦП от 0 до 275 град, зафиксировал следующие данные
1010_1010_1010_0000
1111_1111_1111_0000
Но самое главное, что данные не чередуются, всегда FFF0 или AAA0, что-то с DDR неправильно у меня.
Код
adc_ddr_reg ddr_reg1 (adc1_data, clock, adc1_data_buffer_h, adc1_data_buffer_l);
assign reg_adc1_data[0] = adc1_data_buffer_l[0];
assign reg_adc1_data[2] = adc1_data_buffer_l[1];
assign reg_adc1_data[4] = adc1_data_buffer_l[2];
assign reg_adc1_data[6] = adc1_data_buffer_l[3];
assign reg_adc1_data[8] = adc1_data_buffer_l[4];
assign reg_adc1_data[10] = adc1_data_buffer_l[5];
assign reg_adc1_data[12] = adc1_data_buffer_l[6];
assign reg_adc1_data[14] = adc1_data_buffer_l[7];
//
assign reg_adc1_data[1] = adc1_data_buffer_h[0];
assign reg_adc1_data[3] = adc1_data_buffer_h[1];
assign reg_adc1_data[5] = adc1_data_buffer_h[2];
assign reg_adc1_data[7] = adc1_data_buffer_h[3];
assign reg_adc1_data[9] = adc1_data_buffer_h[4];
assign reg_adc1_data[11] = adc1_data_buffer_h[5];
assign reg_adc1_data[13] = adc1_data_buffer_h[6];
assign reg_adc1_data[15] = adc1_data_buffer_h[7];
Данные для обработки захватываю из регистров со сдвигом 45 град относительно клока АЦП, но это похоже ни к чему.
На выходе АЦП на шине меандр 61.44 МГц, а значит при клоке 128.88 можно в зависимости от фазы получить следующие данные:
AAA0, 5550, FFF0, 0000 (АЦП 14 бит)
но эти данные должны чередоваться
Сообщение отредактировал rolin - Mar 4 2016, 23:20