【手撕代码】HDB3编解码
HDB3编解码任务来源于2023年3月4日“FPGA技术讨论群”的一次活动《101群第一次FPGA编码交流研讨会》,要求设计HDB3编解码,本篇文章作者【roy2022】,经作者授权后转发,以下所有文件版权归作者所有。
输出物包括:
HDB3的编码规则、编码及解码模块接口定义见《101群第一次FPGA编码交流研讨会》(在最后的代码链接中)。
此次需求提供的十分明确,给出了编码规则及示例,明确了编解码端口要求;仿真模块根据设计进行适配。
对HDB3编码规则解读如下:

由于预建立了仿真工程test_top,仿真文件tbw_test_top处理较为简单,设置RST和READY即可。在ISE14.7环境下使用ISim完成了仿真验证。
在Vivado2018.3环境下(仿真Vivado Simulator)也进行了仿真验证。

资源使用情况(Target Device: xc7k325t-2ffg900,ISE14.7):
Module Name | Slices | Slice Reg | LUTs | BUFG | 说明 |
|---|---|---|---|---|---|
test_top | 1/36 | 0/47 | 1/79 | 1/1 | 测试top文件 |
Inst_test_2bit | 3/3 | 8/8 | 8/8 | 0/0 | 测试激励文件1 |
Inst_tt_hdb3_decoder | 4/4 | 8/8 | 3/3 | 0/0 | 解码模块 |
Inst_tt_hdb3_encoder | 28/28 | 31/31 | 67/67 | 0/0 | 编码模块 |
❝https://github.com/suisuisi/FPGATechnologyGroup/tree/main/HDB3 ❞