当前位置:首页 > 数字集成电路课程设计报告 - 通讯集成电路
西安邮电大学
集成电路设计
课程设计报告
题 目: E1数据存储和读取
院 系: 电子工程学院 专业班级: 学 号: 姓 名: 导师姓名: 报告日期:
1. 设计概述
E1数据存储和读取
1.1 设计任务
本设计用电路实现把输入的E1数据码流0到31数据顺序写入双口RAM中,以字节的形式输入,时钟频率为256KHz,并以0到31循环写,然后把数据分为4组,即:
0 4 8 12 16 20 24 28 1 5 9 13 17 21 25 29 2 6 10 14 18 22 26 30 3 7 11 15 19 23 27 31
每组以64KHz频率按31到0的顺序均匀循环连续输出。
1.2 设计目的
本设计主要实现E1数据的存储和读取,实现通信系统中数据的转换和传输。这里我们只涉及到一路的E1数据流。
1.3 使用软件及环境设备
本设计主要在windows环境下实现详细设计,在lniux环境下实现仿真,综合和STA。使用的软件如下
1)Modelsim6.1 实现Verilog HDL语言的设计和仿真。 2)Synopsys公司的软件有:
NC-Verilog 实现功能仿真和时序仿真; DC实现逻辑综合; PT实现静态时序分析。
2. 设计方案
本设计要求完成E1数据的存储和读取。根据要求,我们绘出顶层框图。
图17 顶层框图
引脚 clk rst E1 Data_out[7:0] 系统复位信号 功能 系统时钟设定为(4096MHz) 输入数据,一位二进制位 E1数据输出,八位二进制位 表9 top引脚定义
3. 设计定义
根据设计需求,本设计共分为:
时钟模块(div):用来提供整个系统中的各种时钟信号; 数据转换模块(data_change):将串行数据转换为8位的并行数据,便于存储了转发; 双口RAM模块(ram_double):用来存储数据流中的数据,双口RAM便于存储和读取,此处我们设计的RAM的读写使用的是一个时钟,即同步的RAM;
读地址模块(rd_add):用来提供读取数据的地址,从RAM中读出要输出的数据; 写地址模块(wr_add):用来产生存储到RAM的地址; 数据选择模块(choice):用来产生分组信息,将相应的数据按要求存放到相应的FIFO中;
FIFO模块:将数据存储按要求分为四组,FIFO用来存储这四组数据; 比较输出模块(compare):将FIFO中的数据按照要求顺序输出。 共八个模块。
模块结构关系如下图所示:
rstE1Data_changerstWr_enwr_addRd_enWr_enQ[7:0]Data_out[7:0]Ram_doublewr_add[5:0]Rd_add[5:0]rstclkflagQ[7:0]Fifo2FullQ[7:0]Data_in2[7:0]compareData_in3[7:0]Data_in1[7:0]Data_in0[7:0]Q[7:0]Fullfifo0Q[7:0]Data_out[7:0]Data3[7:0]Data2[7:0]Data1[7:0]choiceData0[7:0] clkflagFull[3:0]RstClkdivclk_2048clk_256clk_512Rd_addRd_enQ[7:0]fifo3FullQ[7:0]fifo1Full
3.1分频模块(div)
功能描述:本模块完成系统时钟(4096MHz)的分频,分别产生2048MHz,512MHz,256MHz的时钟。
电路设计框图:
Clk_512A[2:0]out[2:0]3'b1B[2:0]Add03'b0dataA[2:0]out[2:0]dataB[2:0]Mux21DsetQDQclr3'd7B[2:0]out[2:0]A[2:0]EqualDsetQQclrClk_256ENADsetDclkQDQclrClk_2048rst 图1 分频模块框图
引脚定义: div模块 引脚 clk rst clk_2048 clk_512 clk_256 时序图
功能 主时钟 复位信号 二分频时钟 八分频时钟 16分频时钟 表1 分频模块引脚定义
I/O I I O O O
图2 分频模块时序图
3.2数据转换模块(data_change)
功能描述:本模块实现把一位的二进制数转换成八位的二进制数。当sign信号有效时,读出数据。
电路设计框图:
clkData_out[7:0]rstData_changesigndata
图3 数据转换模块框图
引脚定义:
共分享92篇相关文档