原创 【博客大赛】【原创】INOUT TESTBENCH

2012-5-22 14:58 4651 4 6 分类: FPGA/CPLD

在做USB与上位机通信时,碰到一些时序问题,调试了近两周时间,最后将整个USB控制程序仿真发现了一些问题。INOUT端口总线的释放问题:也就是要确保INOUT端口的输入输出状态,保证时序的稳定性。

下面代码请结合附件源程序查看。

INOUT1完成测试的是INOUT端口的输入状态到输出状态转变;INOUT2完成测试的是INOUT端口的输入输出状态的连续转变。

测试文件里的RELEASE需要特别注意!不是输入状态到输出状态只需要让标志信号变化就可以了的,这里需要将总线释放。当然这里指的是测试仿真过程中,硬件里面具体变化还有待考证,这里给出目前所做一部分工作给需要的同学,希望能够相互学习讨论,谢谢!

 

----------------------------------------------------------------------------------------------------

 

TEST1 MODULE部分代码:
initial begin
// Initialize Inputs
clk = 0;
din = 0;
i = 0;
// Wait 100 ns for global reset to finish
#210;
release dinout;
#25
force dinout = 8'd20;
#35
release dinout;
#40
release dinout;
//#200 for (i=0;;i=i+1)
//#20 force dinout = dinout - 1;
//#200
//release dinout;
//#300 ;
//force dinout = 8'bz;
//#110 z= 0;
 
// Add stimulus here
end
always #10 clk = !clk;
always #20 din = din + 1;
inout1.jpg
 
TEST2 MODULE部分代码:
initial begin
// Initialize Inputs
clk = 1;
din = 8'd1;
// Wait 100 ns for global reset to finish
 
force dinout = 8'd100;
#40
release dinout;
#40 force dinout = 8'd99;
#40 release dinout;        
// Add stimulus here
 
end
always #10 clk = !clk;
always #80 din = din + 1;
inout2.jpg
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户270837 2014-5-14 23:29

后来,stm32上也遇到类似问题,实测改变ADC时钟频率后就OK了

用户1494336 2013-7-4 13:38

hao kankan

用户403664 2012-6-18 15:05

参与博客大赛的时间太晚啦,如果早点发布,应该会有更多关注!
相关推荐阅读
用户371346 2012-05-15 10:36
研究生有涯,而研究无涯
最近有感而发。 技术、科研、学术,作为一名在校研究生,近两年的研究生生活让我渐渐发觉,氛围的不同,地域的不同,导致得竟是研究的性质差异。我们在犯病,一种先辈的病,好夸大,不实际。没有基础的技术...
用户371346 2012-05-15 09:31
评论:@特权's Blog——永远忠于年轻时的梦想! 博客中提到的“【博客大赛】FPGA工程师:持守梦想or屈于现实”
我们需要有目标,更需要有方向,有光才感觉有温暖希望,谢谢ilove314特权大哥,很早发现了你的博客及小组,不是经常逛(上网也是得时间的),不过邮箱里的EDN订阅每天有看,于自己感兴趣且相关的东西似乎...
EE直播间
更多
我要评论
2
4
关闭 站长推荐上一条 /3 下一条