我在理解 Simulink(Xilink 库)中的时序信号概念时遇到了一些麻烦。
我会用一个例子来解释,
假设你有一个串行比特流,你想取奇数位和偶数位的总和,
所以你可能会写这样的 Matlab 代码:
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 中管理时序信号,以便我们获得有效的输出。
所以我不想在输出中有一个中间结果。
我们怎样才能做到这一点?我正在考虑使用某种带有自由运行时钟(计数器)的启用输入。
但是我们在设计一个非常复杂的系统时如何管理呢?
我在硬件设计方面没有太多经验。因此,如果我的问题危险地接近于简单和愚蠢,我为我的智慧感到抱歉。
谢谢阅读
基兰