Никогда не поздно! Спасибо за развернутый ответ.
Вообще до сих пор пока слабовато представляю себе взаимодействие с GPU - то как она взаимодействует с CPU, ее особенности применения и принципиальные моменты по архитектуре. Больше интересует даже именно теоретический вопрос, круто бы вообще иметь последовательность какую-то как в Харрисах
Книга Харрисов схемотехника и архитектура компьютера как хороший старт: желательно найти в последнем издании и с последними исправлениями.
Можно так же какую-либо из книг понга (Pong Chu), он недавно написал как раз свежую по microblaze, но если будете использовать Altera, то и старые подойдут: кроме переименования пары инструментов все осталось прежним. А в книге почти нет ошибок и хорошо описаны основы к HDL-языкам и инфа по soft-ядру
Михаил, а Вы забавно играете, раз пишите два разных
Начнем с того, что в VHDL как и в Verilog можно написать
clk, enable, reset : in std_logic;
Далее, есть тип данных std_logic_vector, поэтому свой sr_length создавать необязательно
В VHDL 2008 уже также добавили возможность писать вместо if(reset='1') просто if(reset)
и операция конкатенации тоже присутствует.
Также, насколько мне известно, а также насколько написано в templates у Quartus'а if-else описывается с бОльшим количеством begin-end:
always @ (posedge clk or posedge reset)
begin
if (reset == 1'b1)
begin
sr <= {N{1'b0}};
end
else if (enable == 1'b1)
begin
sr[N-1:1] <= sr[N-2:0];
sr[0] <= sr_in;
end
end
в итоге при поисках ошибки в коде, например, endы друг от друга не отличить (в VHDL есть end loop, end if, end case итд)
В итоге "писанины" не так уж и больше, а вот строгая типизация многим просто больше нравится, но это дело вкуса, похоже.
Михаил, Насчет писанины спорный аргумент: одни только begin end в Verilog увеличивают количество когда, плюс строгая типизация упрощает понимание кода.
Что касается SV - да, сейчас все говорят, что это лучший вариант по сравнению с Verilog
И, наконец, статья-аргумент от не последнего в этом деле коллектива: insights.sigasi.com/opinion/jan/vhdls-crown-jewel.html
Григорий Хримян, по микроконтроллерам я не спец, больше в ПЛИС. Вы ищете возможности изготовления готового устройства? Как Вы видите его реализацию? Звучит просто интересно.
Григорий Хримян, почему же, данный метод вполне себе работает в real-time, он просто вычисляет матрицу смешения и затем отделяет источники друг от друга. В постобработке я предложил просто понаблюдать.
Григорий Хримян, сначала попробуйте просто в постобработке - в книге Хайкина, например, есть код для Matlab, где он смешивает три сигнала, а затем их разделяет с помощью максимизации взаимной информации. Если Вы пользователь Python, в библиотеках scikit-learn так же есть примеры применения этого алгоритма.
Спасибо за комментарий!
VGA освоен, интерфейсы покурить не проблема, интересно именно попробовать реализовать на ПЛИС простенькую связку CPU и GPU для простых задач работы с графикой, а главное - понимать что и как работает. И вот для этого как раз интересно какую литературу стоит поднять.
alex vak: 1) я рад, что вас заинтересовал данный симулятор, на мой взгляд он очень наглядный и широкий по своим возможностям
2) во вкладке Options вы можете изменить timestep на любую удобную вам величину, например я с ходу смог поставить шаг 1нс
3) элементом Simulation speed вы по сути просто изменяете скорость прибавки timestep'а к текущему значению времени. Само время здесь имеет скорее информационную составляющую - то есть если вы будете моделировать фильтр, то вы сможете посмотреть на него в slow motion, в то время как сам фильтр будет работать не относительно реального времени.
alex vak: Current (англ - ток) - как вы видите на симуляции по цепи бегают желтые точки. это условное изображение перетекания самого тока в цепи. Скорость тока (Current speed) означает насколько приближено к заданной частоте перемещается ток - у вас в примере частота 41Гц, если вы выставите на максимум - то заметите что точки бегают очень быстро.
Simulation speed - скорость симуляции. Данный параметр позволяет "замедлять" время и растягивать милисекунды на минуты, например, что бы плавно рассмотреть процессы.
Данные параметры не влияют на симуляцию, а лишь на ее визуализацию. В качестве ориентира внизу есть таймер, по которому можно ориентироваться о скорости.
в любом случае ориентироваться можно на графики
Спасибо большое за описание! не знаю когда, но я бы хотел это попробовать реализовать)
На самом деле на этот вопрос тогда меня вдохновила такая статья: andybrown.me.uk/2014/06/01/ase