lcytms
发表于 2018-3-26 21:44:56
0944
顶层是ham_encoder。
输入叫edata,汉明(7,4)码,就是4个比特加载。
3:0,输入。
这边输入以后给一个写请求,或者是一个使能,做一个he_en。
当它为真的时候,就把这个3:0编码出来。
产生汉明(7,4)码。
我们这个编码呢,就不是按照绿皮书了,就直接按照汉明的原著了。
他的论文上就是这么写的。
输出hc_out,宽度是多少?
6:0。
lcytms
发表于 2018-3-26 21:46:59
0945
闭节点。
我们再做一个汉明的decoder。
Ham_decoder,解码器。
输入hc_in,6:0。
输出ddata,3:0。
我们仍然改成是写请求和读请求,更简单一些。
lcytms
发表于 2018-3-29 08:53:07
0946
给出读请求,就把输入的7位的汉明码,6:0,译成信息位的3:0。
写请求,就把信息位的3:0,编码成汉明(7,4)码。
我们形成一个层次。
这是做一个汉明的编解码器,hamming_coder。
lcytms
发表于 2018-3-29 08:53:57
0947
下面呢,我们就来做这段代码。
新建工程文件夹hamming_coder。
打开Quartus。
lcytms
发表于 2018-3-29 08:55:53
0948
新工程向导。
选一款器件。
新建hamming_coder.v文件。
lcytms
发表于 2018-3-30 09:27:13
0949
编写hamming_coder.v代码。
开始建模。
是闭节点,当然有时钟、复位。
这一段呢,它的验证,我会写ABV。
lcytms
发表于 2018-3-30 09:28:03
0950
编写hamming_coder.v代码。
lcytms
发表于 2018-3-30 09:28:47
0951
编写hamming_coder.v代码。
6:0,汉明码。
大鹏
发表于 2018-3-30 09:28:50
很详细,很值得去学习,谢谢楼主分享,也谢谢李老
lcytms
发表于 2018-4-1 20:59:05
0952
编写hamming_coder.v代码。
Ctrl+S、Ctrl+K。
然后我们就按照黑板上的框架,用攀岩法来写。
我先写编码器。
新建hamming_encoder.v文件。
页:
1
2
3
4
[5]
6
7
8
9
10
11
12
13
14