Данные двоятся каждое значение в файл попадает 2 раза.
При тестировании определил, что некорректно происходит запись, Прогон в Modelsim показывает корректную запись и считывание.
Для проверки в железе переделал проект на запись в данные BRAM его собственного адреса а эффект тот же.
Решил использовать Chipscope.
Код
// Чипскоп
wire [35:0] CONTROL;
chipscope_frame chipscope_frame_control (
.CONTROL0(CONTROL) // INOUT BUS [35:0]
);
chipscope_ila chipscope_frame_ila (
.CONTROL(CONTROL), // INOUT BUS [35:0]
.CLK(clock_100Mhz), // IN
.DATA(D), // IN BUS [9:0]
.TRIG0(frame_wr) // IN BUS [0:0]
);
wire [35:0] CONTROL;
chipscope_frame chipscope_frame_control (
.CONTROL0(CONTROL) // INOUT BUS [35:0]
);
chipscope_ila chipscope_frame_ila (
.CONTROL(CONTROL), // INOUT BUS [35:0]
.CLK(clock_100Mhz), // IN
.DATA(D), // IN BUS [9:0]
.TRIG0(frame_wr) // IN BUS [0:0]
);
D- данные
clock_100Mhz - синхронизация записи
frame_wr - разрешение записи взводимое на 1 такт clock_100Mhz
Условие записи - frame_wr == 1. (рис chipsсope.PNG).
Данные которые захватывает chipsсope похожы на корректные, но почему то постоянно обновля.ются при нажатии на клавишу "T!".
Я вывел frame_wr наружу и проконтролировал осциллографом - сигнал стабильно равен 1. Но обновляет данные при каждом нажатии
на клавишу "T!".
Вот пожалуй и весь вопрос.