电子工程师技术服务社区
- 社区首页
- 下载
- hello_funcmod_simulation.zip
资料描述
笔者在上一个章节除了演示仿真模型③的用法以外,笔者也简单举例反馈输出的产生过程。这个章节,我们会继续未完的故事,并且好好认识一下,环境布局(仿真环境的结构性),指向信号,还有仿真模型之间是如何合作无间,以致满足虚拟硬件不断提高的功能要求。
图4.6.1 exp17的仿真模型③。
图4.6.2 exp17等价的仿真模型③。
前情提要,我们需要创建一座仿真环境用作测试哈罗功能模块与硬件c之间的沟通,结果如图4.6.1所示。不过,笔者不建议创建完成的虚拟硬件,为此笔者选择等价的替代方法,如图4.6.2所示,笔者仅在激励内容模拟硬件c的部分功能而已。此外,硬件c的第一次功能要求如下:
(一)接收数据 8’haa,反馈数据 8’hbb;
(二)接收数据 8’hcc,反馈数据 8’hdd;
(三)接收数据 8’hee,反馈数据 8’hff;
由于第一次的功能要求过于简单,所以指向信号sq_i没有出场的机会。结果当天晚上,sq_i跑来向笔者哭诉说它是多么期待当天的演出。无奈之下,笔者必须不断提高硬件c的功能要求,以致满足指向信号 sq_i的心愿为止。硬件c第二次的功能要求如下:
(一)第一次接收数据 8’haa, 反馈数据 8’hbb;
(二)第二次接收数据 8’haa,反馈数据 8’hdd;
(三)第三次接收数据 8’haa,反馈数据 8’hff;
因此如此,我们需要重新修改一下 exp17的内容,打开exp18:
上面代码是根据硬件c第二次功能要求修改的结果,如代码 hello_funcmod 所示,步骤0,步骤2与步骤4,wrdata的输出结果全为 8’haa。
同样,根据硬件c的第二次功能要求,激励文本的虚拟输出也作出相关的修改。首先让我们好好思考一下,硬件c的第二次功能要求都是根据接收结果8’haa作出反应,然而比较麻烦的是,数据8’haa有分为第一次,第二次还有第三次。为此,相似 epx17当中的 case ... endcase 用法实在不妥,因此我们必须采取其它手段。
如代码第68~80行所示,笔者应用仿顺序操作的用法模板,然后再根据步骤将反馈数据rddata按次序作出3次输出。先是步骤0检测 wrdata信号是否 8’haa?是就反馈数据 8’