1401
查看仿真。
通信的过程中,不可能一直用肉眼去看,就可以用这种方式。
用计分板来评估。
如果有错误,它一定会报告出来。
如果改一下呢,改decoder。
谢谢分享......................
1402
查看仿真结果。
它全线报红,报错。
就是你有错误,计分板就直接给你报出来。
如果你是正确的,就不必要每一个节拍都自己看。
好,这个呢就是曼彻斯特编码。
这段代码我发给大家。
1403
我们下午工作量有点大,我们会写一个完整的串行收发器。
我们这个收发器既能收,也能发。
它发的时候,上游逻辑是64位的输入。
向64位的FIFO里面写数据请求。
只要不满,就可以写。
接下来我们给它做一个加密体系。
1404
我们用64位的秘钥,对它加密。
解码用同样的秘钥解密,用相同的秘钥。
加密以后,仍然是64位。
我们加一个奇偶校验位。
我们组织帧格式。
帧头是5A。
5A有可能会出现在body,我们定期地检测。
一个帧头,然后64位的信息位。
然后加上1个比特的奇偶校验位。
我们建议做偶校验。
偶校验简单一点。
1405
奇偶校验位之后,加上帧头,73位并行的。
把它转成串,有一个串化器。
然后再执行编码。
曼彻斯特编码。
1406
编码以后再解码器。
到解码器这一端,还要做帧头检测。
它的帧同步,就是时钟同步。
忽略,全部忽略。
编码解码都用相同的时钟直接做。
我们在验证的时候,我们会把编码器、解码器连起来。
解码器它要检测5A的帧头,得到冰糖葫芦串的边缘。
得到了帧头标志以后,你就可以把信息位取出来,信息位加上奇偶校验位。
是一个串转并的过程。
转成65位的,头去掉。
1407
然后检测奇偶校验位。
可以加个噪,还要做汉明码,还要做扩频,这个通信的编码比较多的。
检查完了仅仅是给出一个信号,一个奇偶校验位是否出错的信号,不作任何处理。
因为我们现在没有加噪,奇偶校验位应该不会错。
然后奇偶校验位的输出就剩下64个比特,再解密,用64位的秘钥再异或一次。
输出给接收FIFO。
接收器也只是管理FIFO,看看FIOFO收到多少个字。
1408
这样,我们把收发器完成了之后,做ABV验证的时候,给黑板上配置都一样。
把编码器和解码器连起来。
在发送的FIFO上用随机数,写几个,停几个。
看能不能正确地收到。
如果我们以前是发几个数,发三个数、四个数,看一下对还是错。
ABV呢,它可以用随机的方法,即黑盒测试的方法,比较全面的来检验这里面是否有问题。
而且呢,出了问题也不是用肉眼去看,它是用报告的形式。
1409
这个怎么做?
下午我们讨论一下。
用FSMD,发送器也好,接收器也好,都可以用有限状态机加上数据通道的形式。
准备一个中央控制器,来控制整体的实现,也可以。
我们现在还没有说到握手的方式呢,就用FSMD来做。
做完了ABV的验证之后,我们也可以做更有意思的。
就是我们的发送器,64个比特,ASCII码是8个比特。
我们可以打一段字符,像钓鱼岛是中国的。
