- UID
- 74543
- 性别
- 男
|
我看了一些书上的例子,它们都是只有一个CLK,而且一个CLK内输入信号,同时输出结果,最后理想输出数据和程序仿真输出数据的比较处理都挺简单的。
而我现在的被测程序有好几个时钟,且数据的输入输出速率也不同,我有点搞不清楚,思路有点乱,现将此被测程序表述如下,
请各位帮我看看是否可行,或者帮我提点建议,谢谢先了^_^!!!
------------------------------------
被测程序的功能:
一路1M的输入数据转换为三路64K的数据;同时,反方向三路64K的数据合并成一路1M的数据。
输入:
1、时钟:一个2M的时钟信号(CLK2M)和一个8K的帧同步时钟(FSC:用于1M数据的帧同步)
2、数据:一个速率为1M的数据 和 三个速率为64K的数据
输出:
1、时钟:一个192K、一个64K、一个4K(用于64K数据的帧同步)
2、数据:三个64K、一个1M的数据
而且数据从输入到输出都有二帧的延时。
我现在的testbench的思路是:
1、测试向量:1M和64K的输入数据分别由两个不同的数组定义;
2、两个输入时钟就在testbench程序中采用两个并行的语句产生;
3、在2M的时钟(CLK)和8K的帧同步时钟(FSC)控制下,将测试向量中的输入数据(速率为1M)传送给被测程序,相当于没两个CLK传送一次;
4、利用被测程序的输出时钟64K和4K控制下,将测试向量中的输入数据(速率为64K)传送给被测程序;
这样可行吗?
我现在的问题:
1、测试向量中的理想输出数据该如何写?能否也采用另外一个数组来定义?因为速率不同,无法与输入的数据向量定义在同一个数组中;
2、最后的比较判断问题?能否采用另一个并行的进程,经过两帧的延时,然后将测试表格中的输出数据与调用被测程序后的输出结果进行比较? |
|