17.08.2013 Views

第43 期 - Xilinx

第43 期 - Xilinx

第43 期 - Xilinx

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

多客户培训课程中广为使用。不管激励<br />

信号的来源是什么,用户必须将信息转<br />

换为 UUT 能够理解的格式。可能需要<br />

某种“格式化器”来完成这项工作。由<br />

于 KGBM 只需要为行为建模,不需要<br />

为 UUT 的实际流程建模,故可以直接<br />

使用输入激励。比如,如果 UUT 需要<br />

处理包含在以太网包中的数据,则格式<br />

化器必须从激励信号源中采集该数据,<br />

创 建 一 个 包 , 然 后 将 这 个 包 发 送 给<br />

UUT。另一方面,KGBM 不需要任何<br />

信头信息(除非需要根据信头信息进行<br />

决策),而只需要数据本身。这就意味<br />

着用户可以将“原始”激励信息直接馈<br />

送到 KGBM,且使用格式化器为 UUT<br />

封装激励信号。<br />

使用为具体设计编码的 UUT 支持<br />

功能模块提供必要的时钟、复位和其它<br />

保持 UUT 运行所需的控制信号,以便<br />

其处理输入的数据。由于 KGBM 是不<br />

可综合的,因此所有的时序信号和复位<br />

信号均可保存在模型中,或与 UUT 共<br />

享。<br />

UUT<br />

UUT 的已知<br />

正确行为模型<br />

反格式化器<br />

(如需)<br />

数据<br />

反格式化器<br />

(如需)<br />

数据<br />

FIFO<br />

异步时序 FIFO<br />

UUT 会受自己的时钟速度和架构<br />

时延的约束,但 KGBM 不会。由于<br />

KGBM 是作为一个行为模型来构建<br />

的,所以重要的是功能而非时序(但<br />

任何其它器件使用的输出除外,比如<br />

RS-232、以太网等)。因 KGBM 将<br />

先于 UUT 生成输出,故需要采取某种<br />

机制来调整 UUT 和 KGBM 的输出,<br />

新的可用<br />

数据<br />

读取请求<br />

以 便 它 们 同 时 馈 给 到 波 形 比 较 器 模<br />

块。异步 FIFO 非常胜任这类工作。<br />

在 UUT 馈给输出(在时间上迟于<br />

KGBM 的输出)时,波形比较器模块<br />

将从缓存 KGBM 数据的 FIFO 中读取<br />

下一条数据。通过这种方式,UUT 和<br />

KGBM 之间的相对性能差异变得无<br />

关,因此无论 UUT 运行的是源级代码<br />

仿真、网表仿真还是布局布线后设计<br />

仿真均无大碍。UUT 的性能可自动得<br />

到补偿,用户在改变 UUT 仿真的类型<br />

时无需修改测试平台。<br />

波形比较器<br />

控制台脚本<br />

磁盘文件<br />

图 5 - 波形比较器的详细结构和伪代码<br />

与激励信号一样,用户可能需要<br />

专 家 讲 堂<br />

补偿输出的格式。WaveGen 样例可将<br />

RS-232 流格式作为主要的输出。<br />

KGBM 则能够输出“字符”格式。这<br />

就意味着需要在波形比较器内部构建<br />

某种类型的 UART 接收器或等效的<br />

“反格式化器”(图 5)。<br />

根据 UUT 和 KGBM 馈给的信<br />

息,波形比较器可检查两者的信息是<br />

否相符。如果相符,则将数据标注为<br />

如果(新数据可用)则 {<br />

向 FIFO 发出读取请求<br />

将来自 UUT 的数据与来自 FIFO 的数据进行比较<br />

如果相符 {<br />

向控制台输出报告成功信息<br />

向磁盘文件报告成功信息(测试名称或数据)<br />

} 否则 {<br />

向控制台输出报告出错信息<br />

向磁盘文件转存出错信息(时间、UUT 数据、KGBM 数据等)<br />

}<br />

}<br />

“成功”,写出为仿真器控制台输出<br />

或者磁盘文件。如果 UUT 和 KGBM<br />

的输出不相符,则比较器会显示适当<br />

的 出 错 消 息 , 提 醒 用 户 注 意 这 种 差<br />

异。如同使用正确数据一样,用户可<br />

以 立 即 在 控 制 台 上 观 察 到 这 种 不 相<br />

符,也可将其存储为 ASCII 磁盘文<br />

件,供后续分析使用。不管是通过控<br />

制台还是通过 ASCII 文件,文本输出<br />

的优势在于可能进行数据过滤。一般<br />

来说,用户只关心仿真是否成功。如<br />

果仿真不成功,文本文件有助于对仿<br />

真 中 何 时 出 现 不 相 符 的 情 况 进 行 锁<br />

定,便于用户从波形图采集更加深入<br />

的信息。一般来说,应向控制台发送<br />

2012 年第 1 季度 49

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!