У меня возникли проблемы с пониманием концепции временных сигналов в Simulink (Xilink Library).
Я объясню на примере,
Предположим, у вас есть последовательный битовый поток, и вы хотите взять сумму нечетного и четного битов,
Итак, вы, вероятно, написали бы Matlab Code примерно так:
Data_Bits=[1 2 3 0 4 5 1 2 0 9];
Sum_Bits=[];
for i=1:length(Data_Bits)/2
Sum_Bits=[Sum_Bits Data_Bits(2*i-1)+Data_Bits(2*i)]
end
Предположим, на мгновение мы игнорируем все случаи оптимизации и углов, за исключением случаев, когда этот код может не работать.
Предполагая, что мы должны реализовать это на аппаратном уровне, Data_Bits
поступает последовательно,
так что вы в основном ждете 2 такта, чтобы получить 2 входных бита, добавить их и сгенерировать вывод.
Так что на каждые 2 такта у вас есть выход.
Так можно ли управлять синхронизирующим сигналом в Xilinx, чтобы у нас был правильный вывод.
Так что я не хочу иметь промежуточный результат на выходе.
Как мы можем этого достичь? Я подумываю об использовании какого-нибудь входного разрешения с свободно работающими часами (счетчиком).
Но как нам это сделать при проектировании действительно сложной системы?
У меня нет такого большого опыта в разработке аппаратного обеспечения. Поэтому, если мой вопрос опасно граничит с ПРОСТЫМ и глупым, я прошу прощения за мой интеллект.
Спасибо за чтение
Киран