lcytms 发表于 2018-4-9 08:44:38

1027
        编写hamming_decoder.v代码。
        最后一个,3’b111。
        这是三组均有错。
        汉明码它有一个特征,就是线性分组码,它能检二纠一。
        它能纠正一个错误,它能检查出两个错误。
        纠正只能是一个比特发生错误,才能纠正。

lcytms 发表于 2018-4-9 08:46:43

1028
        编写hamming_decoder.v代码。
        所以说,现在是三组均有错,三者的交集只有一个数,对应C6。
        把C6取反。
        Ctrl+S、Ctrl+K。
        下面我们写它的验证。
        我们用ABV来做它的验证。

lcytms 发表于 2018-4-9 08:47:42

1029
        编写ABV验证。
        基于断言的验证。
        这次呢,我们加一个噪声源。

lcytms 发表于 2018-4-11 09:11:43

1030
        编写ABV验证。
        电路模型是ham_coder,输出端是有hc_out,输入端是有hc_in。
        我给一个噪声模型。
        让它纠正一个错误。
        我们让它定期地产生一个错误。
        我们为它产生一个激励。
        这种ABV验证代表了现在的一个趋势。

lcytms 发表于 2018-4-11 09:13:07

1031
        编写ABV验证。
        我们以前写testbench,总是把验证模型放在testbench里面,需要激励的地方,用行为声明成reg,用线来观测。
        现在大多数写法都是写成ABV了。
        使用激励器。
        DUT。
        STIM,激励器。
        所有的信号都是它的激励。
        有edata,3:0。
        有写请求。

lcytms 发表于 2018-4-11 09:14:06

1032
        编写ABV验证。
        有读请求。
        这是要激励的信号。
        有时钟。
        复位。
        然后呢,我们绘制一个计分板。
        计分板是一个什么概念呢?
        计分板可以看到它的覆盖率。

lcytms 发表于 2018-4-12 09:00:07

1033
        编写ABV验证。
        100%,满分,这个验证就过了。
        Scoreboard,我们写成SCB。
        还要评估。
        在它里面会有一个软件的模型。
        来评估硬件得到的结果,跟软件的结果是否相同。
        在信道上加噪。
        Ham_coder有一个ddata的输出,我们让它直接输出给计分板。

lcytms 发表于 2018-4-12 09:01:25

1034
        编写ABV验证。
        用计分板来评估。
        接着,凡是给模型的信号,就给计分板一份。
        DUT,这是验证的模型,可综合的。
        这三个是不可综合的,是非综合目的的编码。
        现在呢,我就来写这段ABV的验证。
        以后我们可能会用ABV的验证越来越多。

lcytms 发表于 2018-4-12 09:02:27

1035
        编写ABV验证。
        新建hamming_coder_tb.v文件。
        基于断言的验证,不能写时标。
        时标就在激励器里面,或者计分板里面。
        我先写激励器。

lcytms 发表于 2018-4-13 09:40:21

1036
        编写ABV验证。
        新建hamming_stimulator.v文件。
        激励器,这里要写时标。
页: 1 2 3 4 5 6 7 8 [9] 10 11 12 13 14 15 16 17 18
查看完整版本: 跟李凡老师学FPGA扩频通信D03:串行通信汉明纠错码(20170...