-
Постов
2 235 -
Зарегистрирован
-
Посещение
Весь контент vadimuzzz
-
Хвосты JTAG
vadimuzzz ответил Мур тема в Работаем с ПЛИС, области применения, выбор
Триальных корок нет в проекте (по Opencore Plus в логах можно отловить)? -
Инкрементальная компиляция, Logic Lock
-
Тоже самое, показывает развернутыми крайние стратиксы, других катов нет. Код страницы глянул, тоже одни стратиксы. Хм, через тор показывет о_О Спасибо за наводку
-
я все глаза проглядел, не знаю как тщательнее в лисе: https://pic4a.ru/iVM_/ в хромом: https://pic4a.ru/iVM_/
-
У меня по этой ссылке никаких циклонов, только стратиксы.
-
Посмотрите в сообщениях квартуса при компиляции, не выбросил ли он эти цепи из сигналтапа. Еще можно прицепить сигналтап к входным портам выходных ddr-регистров, к этим точно можно подключаться
-
а чем смотрите?
-
Насколько я помню, в этом чипе (88E1111) нужны дополнительные телодвижения при инициализации в режиме RGMII. Поищите в этой теме: https://electronix.ru/forum/index.php?showtopic=37680
-
Я бы сказал, что дело не в экспортированном интерфейсе, а в особенности 2-портовой памяти. Конкретно режима "read-during-write". Меня в частности смущает, что по сути у вас транзакция записи бесконечная. Если хочется сделать однократную запись, то дергать надо именно cselect и write, а clock д.б. постоянным. Вообще это можно и без ниоса в моделсиме проверить (2-портовую память).
-
Именно "как с переменной", строго говоря, нет. Т.к. размещением переменных в памяти занимается линкер, а тут у вас адрес фиксируется в момент генерации в QSys. Но если имеется в виду "завести в коде указатель на подходящий тип, нацелить его руками на соотв. адрес, а затем читать данные по указателю, используя в том числе оператор [] или поля структур", то таки да.
-
а если "подсказать" синтезатору, типа так: module enum_fsm (input clk, reset, input int data[3:0], output int o); enum int unsigned { S0 = 0, S1 = 2, S2 = 4, S3 = 8 } state, next_state; always_comb begin : next_state_logic next_state = S0; case(state) S0: next_state = S1; S1: next_state = S2; S2: next_state = S3; S3: next_state = S3; endcase end always_comb begin case(state) S0: o = data[3]; S1: o = data[2]; S2: o = data[1]; S3: o = data[0]; endcase end always_ff@(posedge clk or negedge reset) begin if(~reset) state <= S0; else state <= next_state; end endmodule
-
это сдвиговый регистр, длина 4. значение (state == 2'h1 & ReadSelected) присваивается младшему разряду, потом сдвигается вправо. выход снимается со старшего разряда.
-
там нет ничего жуткого - обычный MM-slave для доступа к управляющим регистрам
-
а это подключили: #include <time.h>
-
сначала прелоадер загружается, а потом бинарник программы
-
да, real логичнее. мне не понятно, почему он автоматически тип не привел (или привел, но получил в результате 0), параметр ведь тот же int по сути.
-
тоже вариант, но в оригинале константы пострашнее, букав будет сильно много :) тот, что я в итоге нашел, лаконичнее
-
Имеется модуль с примерно таким содержимым: module real_test #(parameter src_dw = 8, coeff_dw = 16) ( input clk, input reset, input signed [src_dw - 1: 0] d_in, output reg signed [src_dw + coeff_dw - 1: 0] d_out ); localparam f2 = int' (0.123*(2**(coeff_dw - 2))); //localparam f2 = int' (0.123*(2**14)); always @(posedge clk) begin if (reset) begin d_out = '0; end else begin d_out = d_in*f2; end end endmodule Если константу f2 объявить, как в закомментированном куске, то модуль нормально синтезируется (квартус). Если же собирать в текущем виде (а константу хотелось бы менять для разных инстансов), то f2 квартус превращает в 0 и выбрасывает всю связанную логику. Как бы это победить? победил: localparam f2 = int' (0.123*(int'(2**(coeff_dw - 2))));
-
Quartus на Linux
vadimuzzz ответил mezarecord тема в Среды разработки - обсуждаем САПРы
Нет там никаких проблем. Если есть сложности с запуском на конкретном дистрибутиве, берите бесплатную версию и на ней тренируйтесь. Там вполне внятно пишется, если чего в системе не хватает. Что касается защиты, то она не проблема с мохнатых времен и до последней версии, но для данного раздела это оффтоп -
Прочитанное содержимое не сходится с записанным. Это м.б. из-за кривых констрейнов на I/O.
-
а если использовать TMT + EOP?
-
и как вы туда 1 Гбит/с собираетесь затолкать?
-
именно МГц, не Мбит/с?
-
Да, это все идет не дальше контрольных регистров и памяти. А из отладчика программа в SDRAM грузится?