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