shexujia 发表于 2011-2-20 14:29:51

新手想请问做串口通信的时候,可以怎么用Modelsim仿真测试?

如题,写testbench 么 ?
   好心人发个例子看看 谢谢了

Jigsaw 发表于 2011-2-20 15:38:36

软件调试就是用testbench了

shexujia 发表于 2011-2-20 16:52:40

testbench懂写一点   就是在写这种数据传输类型就不知道咋下手了

fqforever 发表于 2012-5-2 21:19:54

我也很想知道,学习中!

fishplj2000 发表于 2012-5-2 21:48:53

按照固定波特率对应的时间间隔,改变txd电平
论坛上有几个很好的 uart模块啊,你看看就明白了
=-----------------
如果是非综合的,纯做验证的,更加简单,直接指定延时值,再按data逐次改变电平

========
如果你不明白上面所说的,那你最好多练几天verilog语法小模块

cqq163 发表于 2012-5-7 16:45:52

给它一个常量试试。。。

tianming 发表于 2012-5-7 21:55:56

我刚做了个,仿真时我是利用串口数据的格式,通过延时进行赋值,比较结果的。这也只能验证功能的正确与否,下面是我的利用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]
查看完整版本: 新手想请问做串口通信的时候,可以怎么用Modelsim仿真测试?