新手想请问做串口通信的时候,可以怎么用Modelsim仿真测试?
如题,写testbench 么 ?好心人发个例子看看 谢谢了 软件调试就是用testbench了 testbench懂写一点 就是在写这种数据传输类型就不知道咋下手了 我也很想知道,学习中! 按照固定波特率对应的时间间隔,改变txd电平
论坛上有几个很好的 uart模块啊,你看看就明白了
=-----------------
如果是非综合的,纯做验证的,更加简单,直接指定延时值,再按data逐次改变电平
========
如果你不明白上面所说的,那你最好多练几天verilog语法小模块 给它一个常量试试。。。 我刚做了个,仿真时我是利用串口数据的格式,通过延时进行赋值,比较结果的。这也只能验证功能的正确与否,下面是我的利用FPGA模拟串口的例子。
数据格式,两位高电平起始位(无线光通信上的应用),八位数据位,一位校验位(可选),一位高电平的停止位,无数据时为低电平。text bench 如下:
注意仿真时钟与发送速率的关系哦,我的系统时钟是50M,发送速率是1M。initial
还请批评指正~~~~
begin
rst_n = 0;
#10;
rst_n = 1;
end
initial
begin
repeat(10000)
begin
re = 0;
#200;
re = 1;
#20 ;
re = 1;
#20 ;
// the data
re = 1;
#20 ;
re = 0;
#20 ;
re = 1;
#20 ;
re = 0;
#20 ;
re = 1;
#20 ;
re = 0;
#20 ;
re = 1;
#20 ;
re = 1;
#20 ;
//======
re = 0;
#20 ;
re = 1;
#20 ;
end
$stop; //重复发送上述数据串10000次后停止仿真
end
initial
sys_clk = 0;
always
#1 sys_clk = ~sys_clk;
页:
[1]