- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2017年电子设计大赛比赛题目及评分标准
附件 2
比赛题目及评分标准
【题目一】Xilinx 哈夫曼编码
1. 设计要求
要求对一段数据序列进行哈夫曼编码,使得平均码长最短,输出各元素编码和编码后的数据序列。
(1)组成序列的元素是[0-9]这 10 个数字,每个数字其对应的 4 位二进制数表示。比如 5 对应 0101,9 对应 1001。
(2)输入数据序列的长度为 256。
(3)先输出每个元素的编码,然后输出数据序列对应的哈夫曼编码序列。
2. 电路接口
RTL 级代码顶层模块名统一为 HuffmanCoding,可参考电路接口与时序如下:(可以根据自身设计需求,对电路接口进行修改)
module HuffmanCoding(
input wire clk,
input wire rst_n,
input wire [3:0] data_in,
input wire start,
output wire output_data,
output wire output_start,
output wire output_done
);
1
clk
rst_n
start
data_in 0th 1th 254th255th
output_start
output_data
output_done
Total Cycles
(1)复位之后,当 start 信号高有效后开始连续输入 256 个数据序列,data_in 数据宽度为 4,输入需要 256 个时钟周期。
(2)经过运算后,output_start 信号高有效后,开始输出结果 output_data。output_data 信号数据宽度是 1,因此输出是二进制序列。最后 output_done
高有效说明整个编码过程结束。
(3)output_data 数据包含 2 个部分。先输出[0-9]这 10 个数字的哈夫曼编码(具体的输出格式可以自行设定),然后输出数据序列哈夫曼编码后的序列。
评分标准:
1. TestBench
建议先用 C/C++或者 Matlab 等高级语言实现上述哈夫曼编码设计需求,并以此为基准,作为电路仿真的 TestBench。
2. 电路功能
电路功能的完成情况,包括是否满足设计要求、源代码、仿真程序和文档说明等。要求代码书写规范,可读性强。严禁抄袭,如果需要使用第
三方 IP 或者借鉴其他人的部分源码,请注明出处。
3. 性能
2
评价设计的三个性能指标如下:
(1)TotalCycles,即 start 信号与 output_done 之间的时钟周期数。TotalCycles 越小。电路性能越高。
(2)资源占用率。电路设计完成后,统一使用 Xilinx Vivado 工具,目标器件为
文档评论(0)