请求大佬帮忙用 verilog实现

hannah_wangh 2017-11-27 03:26:02
第七届(2017年)大学生集成电路设计·应用创新大赛设计赛
杯赛题目

集创北方企业杯
1. 杯赛题目:数据转换系统设计
2. 设计要求:
1) 系统说明

如上图,数据(包含有效数据和无效数据)通过数据线DIN采用串行方式不间断的输入,需要根据MODE的设定,对接收到的有效数据重新排列,分别输出到DOUT_A/DOUT_B/DOUT_C上,同时产生输出的同步时钟(CLK_OUT)和有效指示信号(VALID)。
2) 信号说明http://www.nuicdc.org/custom154342.html http://www.nuicdc.org/custom154342.html
i. RSTN
系统的resetn信号,为1’b0,reset操作;为1’b1,正常工作
ii. CLK_30MHZ & DIN
输入数据及对应的同步时钟,该信号采用了如下的串行规则:
A、 每一组数据包含720个有效数据(8bit)和至少20个无效数据;
B、 在每一组的第一个有效数据前,输出连续10个1’b1,记作“特殊数据”

C、 对8bit有效数据进行串行输出(MSB first,LSB last),在每一个有效数据后面附加输出1个1’b0和1个1’b1。
D、 对无效数据,连续输出10个1’b0;
如下为一组数据的传输示意图:

iii. CLK_48MHZ
用该时钟根据MODE[1:0]产生所需要的时钟。
iv. MODE[1:0]
控制输出模式,见DOUT_A、DOUT_B、DOUT_C的定义
v. CLK_OUT & VALID & DOUT_A & DOUT_B & DOUT_C
该组信号为输出,根据MODE[1:0]的设置,将接收到的有效数据,重新排序后进行输出,输出延迟无要求,但要求接收有效数据的时间与输出有效数据的时间基本一致,且每一组输出的有效数据连续、不间断。
VALID为1’b1,表示DOUT_A & DOUT_B & DOUT_C上输出有效数据。否则,为无效数据。
DOUT_A & DOUT_B & DOUT_C为接收到有效数据的串行输出(MSB first,LSB last)。当为无效数据时(VALID=1’b0),DOUT输出为0。

MODE[1:0]==2’b00:
DOUT_A按顺序输出上一组有效数据 DATA1,DATA3, ...... ,DATA717, DATA719;
DOUT_B按顺序输出上一组有效数据 DATA2,DATA4, ...... ,DATA718, DATA720;
DOUT_C固定输出 1’b0.

MODE[1:0]==2’b01:
DOUT_A按顺序输出上一组有效数据 DATA719,DATA717, ...... ,DATA3,DATA1;
DOUT_B按顺序输出上一组有效数据 DATA720,DATA718, ...... ,DATA4,DATA2;
DOUT_C固定输出 1’b0.

MODE[1:0]==2’b10:
DOUT_A按顺序输出上一组有效数据 DATA1,DATA4, ...... ,DATA715, DATA718;
DOUT_B按顺序输出上一组有效数据 DATA2,DATA5, ...... ,DATA716, DATA719;
DOUT_C按顺序输出上一组有效数据 DATA3,DATA6, ...... ,DATA717, DATA720;

MODE[1:0]==2’b11:
DOUT_A按顺序输出上一组有效数据 DATA718,DATA715, ...... ,DATA4,DATA1;
DOUT_B按顺序输出上一组有效数据 DATA719,DATA716, ...... ,DATA5,DATA2;
DOUT_C按顺序输出上一组有效数据 DATA720,DATA717, ...... ,DATA6,DATA3;

以下为MODE[1:0]==2’b00时的示意图:
DATA1=8’b1110_0001; … … ; DATA719 = 8’b1110_0000;
DATA2=8’h1010_0010; … … ; DATA720 = 8’b0000_0110;

3) 设计目标:低功耗设计优先;
3. 使用工艺和平台

推荐使用openHEC FPGA设计平台(大赛统一安排);

4. 提交内容:
1) 详细的设计文档,包含但不限于以下内容:
A、 数据接收设计说明;
B、 数据接收与数据发送的切换过程;
C、 时钟关系分析及产生;
D、 都采用了哪些低功耗方法;(从架构和RTL实现两方面来说明)
2) Verilog code,Synthesis & STA script & Reports;
3) 包含MODE[1:0]=2’b00, 2’b01, 2’b10, 2’b11的仿真波形。
(建议输入有效数据采用递增的方式进行验证)

...全文
110 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧