CN1655487B - 高速异步时分交换电路 - Google Patents
高速异步时分交换电路 Download PDFInfo
- Publication number
- CN1655487B CN1655487B CN 200510041723 CN200510041723A CN1655487B CN 1655487 B CN1655487 B CN 1655487B CN 200510041723 CN200510041723 CN 200510041723 CN 200510041723 A CN200510041723 A CN 200510041723A CN 1655487 B CN1655487 B CN 1655487B
- Authority
- CN
- China
- Prior art keywords
- data
- signal
- fifo
- addr
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Communication Control (AREA)
- Time-Division Multiplex Systems (AREA)
Abstract
高速异步时分交换电路主要适应于SDH系统中集成电路芯片内部交换网络结构设计范围,属于SDH宽带通信技术领域。本发明通过对存储器读写访问的特殊结构处理将时分交换电路中的异步数据fifo缓冲器和交换数据存储器两块功能独立的存储器合并为一块且能够完成两块存储器的功能,从而简化电路设计复杂度,减小芯片使用面积,降低系统电路功耗和提高系统工作的可靠性。该发明可用于解决多路高速SDH时分交换电路结构设计。
Description
技术领域
本发明涉及到SDH系统用交叉连接设备中交换网络的高速异步时分交换电路,主要适应于SDH系统中集成电路芯片内部交换网络结构设计范围。属于SDH宽带通信技术领域。
背景技术
SDH作为一种全新的网络传输体制,自从20世纪80年代出现以来,SDH网络以其灵活性和方便性等各个方面的优越性,迅速成为通信网络的骨干网络。随着超大规模集成电路和SDH技术的不断发展,SDH系统正朝着大容量、高速率、高集成度方向发展,SDH系统的集成化发展为集成电路芯片设计提出了更高要求。
SDH数字交叉连接设备(SDXC)是一种重要的SDH网络设备。它完成不同高速信号支路信号间的交换,可提供按G.707构成的VC之间端口的透明连接和再连接。SDH数字交叉连接设备的核心是交叉连接芯片。
SDH系统中,可有高阶交叉和低阶交叉,通常是以字节为基本单位进行的,在此我们主要讨论2.5G/s的SDH接口信号的高阶交叉电路。对于接口为2.5G/s的SDH串行信号,其串并转换后SDH帧字节方式的速率是311.04Mbyte/s,该速率属于高速率信号。在集成电路设计中为了降低工作速率,可以采用16位并行字方式速率,即155.520Mword/s速率。
SDH数字交叉连接目前多采用电路交换技术,现代的数字交换网络的组成方式分为空间分割方式和时间分割方式,利用这两种技术可构成时分交换、空分交换和组合交换等多种电路交换形式。
传统的时分交换电路通常是由一块数据存储器和一块控制存储器(cmem)构成。在时钟信号控制下,输入数据按顺序写入数据存储器,控制存储器的存储数据按顺序被读出。控制存储器的输出作为数据存储器的读地址来选择数据存储器的输出。通过改变控制存储器内的存储数据,从而达到对数据存储器内部时隙数据的控制读出,由此完成时分数据交换功能。
对于异步时分交换电路,除需要上述电路结构外,还需增加一个数据fifo缓存器,首先完成数据的同步桥接,然后才能进行时分交换操作。通常fifo缓存器用存储器来实现,所以在一个异步时分交换电路中,存在有三块不同的存储器。
对于高速大容量的交换网络,需要使用多路的异步时分交换电路,所以存在大量的存储器块数目,因而造成电路设计复杂,芯片面积增大,功耗增高等问题。为了解决如此问题,所以需要研究如何减少使用存储器块数目。
发明内容
本发明的目的是提供一种高速异步时分交换电路。
本发明的基本功能是对按字方式输入的2.5G/s的SDH帧字节数据(高8位是奇时隙字节数据,低8位是偶时隙字节数据,构成1个字),依照数据输出格式要求,电路完成对输入的每个时隙数据的重新排列(即时隙交换),并将重新排列后的数据输出。数据输出格式要求可以通过接口进行修改。
本发明技术解决方案:高速异步时分交换电路包括组合存储器(fifo_dmem)、fifo写地址产生(fifo_addr)、控制存储器读地址产生(cmem_addr)、交换控制电路(ctrl_cmem)和时隙交换数据输出(ts_out),组合存储器(fifo_dmem)选用一个输入端口和两个独立输出端口的通用存储器;输入端口的输入数据帧头指示信号(frhd_pulse)和输入数据同步时钟信号(clk_wrfifo)连接到fifo写地址产生(fifo_addr)的输入端;输入端口的输入数据同步时钟信号(clk_wrfifo)、输入数据(data_in)和fifo写地址产生(fifo_addr)的输出信号(wr1_addr)分别连接到组合存储器(fifo_dmem)的输入端口的时钟信号、数据线和地址线;输入端口的输出数据同步时钟信号(clk_core)和fifo读帧头指示信号(frrd_ind)连接到控制存储器读地址产生(cmem_addr)的输入端;输入端口的控制存储器片选信号(cmem_cs),控制存储器写操作信号(cpu_wr),控制存储写地址信号(cpu_addr),控制存储器写数据信号(d_from_cpu),输出数据同步时钟信号(clk_core),fifo读帧头指示信号(frrd_ind)和控制存储器读地址产生(cmem_addr)的输出信号(ts_cnt_cm)分别连接到交换控制电路(ctrl_cmem)的输入端;输入端口的输出数据同步时钟信号(clk_core)和交换控制电路(ctrl_cmem)的输出信号(rd1_addr)分别连接到组合存储器(fifo_dmem)的一个输出端口的时钟信号和地址线;输入端口的输出数据同步时钟信号(clk_core)和交换控制电路(ctrl_cmem)的输出信号(rd2_addr)分别连接到组合存储器(fifo_dmem)的另一个输出端口的时钟信号和地址线;组合存储器(fifo_dmem)的两个输出数据(rd1_data和rd2_data)和交换控制电路(ctrl_cmem)的输出信号(odd_sel和even_sel)分别连接到时隙交换数据输出(ts_out)的输入端;时隙交换数据输出(ts_out)的输出数据(data_out)连接到输出端口;输入端口信号(rstb)是电路的共用输入信号。
本发明通过对存储器读写访问的特殊结构处理将时分交换电路中的异步数据fifo缓冲器和交换数据存储器两块功能独立的存储器合并为一块且能够完成两块存储器的功能,从而简化电路设计复杂度,减小芯片使用面积,降低系统电路功耗和提高系统工作的可靠性。
附图说明
附图是高速异步时分交换电路结构框图。
具体实施方式
传统的硬件电路设计通常采用电路图方式来详细描述电路的设计结构。用电路图方式描述硬件电路的结构是硬件设计的第二代设计工具,随着科学技术的迅猛发展,硬件描述语言(HDL)已经成为第三代硬件设计工具。所以该电路采用verilog硬件描述语言加以实施。
1.电路端口说明
表1:电路端口信号说明
端口信号名称 | 端口方向 | 信号描述 |
rstb | IN | 电路复位信号,低电平有效。 |
clk_core | IN | 输出数据同步时钟信号。 |
cmem_cs | IN | 控制存储器片选信号,低电平有 效。 |
cpu_wr | IN | CPU写操作信号,低电平有效。 |
cpu_addr[2:0] | IN | CPU地址信号。 |
d_from_cpu[7:0] | IN | CPU写操作数据。 |
clk_wrfifo | IN | 输入数据同步时钟信号。 |
frhd_pulse | IN | 输入数据帧头指示信号,高电平 有效。 |
data_in[15:0] | IN | 16位并行输入数据。 |
frrd_ind | IN | fifo读帧头指示信号,高电平有 效。 |
data_out[15:0] | OUT | 16位并行输出数据。 |
2.电路的verilog硬件描述语言
//---------------------verilog HDL--------------------//
module timeslots_switch(rstb,clk_core,
cmem_cs,cpu_wr,cpu_addr,d_from_cpu,
clk_wrfifo,frhd_pulse,data_in,
frrd_ind,
data_out);
input rstb,clk_core;
input cmem_cs,cpu_wr;
input [2:0]cpu_addr;
input [7:0]d_from_cpu;
input clk_wrfifo,frhd_pulse;
input [15:0]data_in;
input frrd_ind;
output [15:0]data_out;
//--------------fifo写地址产生(fifo_addr)------------//
reg [7:0]wr1_addr;
always@(negedge rstb or posedge clk_wrfifo)
begin
if(~rstb) wr1_addr<=8′d000;
else if(frhd_pulse) wr1_addr<=8′d001;
else wr1_addr<=wr1_addr+1′b1;
end
//---------------cmem读地址产生(cmem_addr)-------------//
reg [2:0]ts_cnt_cm;
always@(posedge clk_core or negedge rstb)
begin
if(~rstb) ts_cnt_cm<=3′h0;
else if(frrd_ind) ts_cnt_cm<=3′h0;
else ts_cnt_cm<=(ts_cnt_cm+1′b1);
end
//--------------交换控制电路(ctrl_cmem)--------------//
reg [7:0]cmem_block[7:0];
reg [4:0]ffdmem_rd_field;
reg even_sel,odd_sel;
wire [3:0]d_cm2dm_addr1,d_cm2dm_addr2;
wire [7:0]rd1_addr,rd2_addr;
always@(posedge cpu_wr)
begin
if(~cmem_cs)
cmem_block[cpu_addr]<=d_from_cpu;
end
assign{d_cm2dm_addr1,d_cm2dm_addr2}=cmem_block[ts_cnt_cm];
always @(negedge rstb or posedge clk_core)
begin
if(~rstb) odd_sel<=1′b0;
else odd_sel<=d_cm2dm_addr1[0];
end
always @(negedge rstb or posedge clk_core)
begin
if(~rstb) even_sel<=1′b0;
else even_sel<=d_cm2dm_addr2[0];
end
always@(posedge clk_core or negedge rstb)
begin
if (~rstb)
ffdmem_rd_field<=5′h0;
else if(frrd_ind)
ffdmem_rd_field<=5′h0;
else if(ts_cnt_cm==3′h7)
ffdmem_rd_field<=(ffdmem_rd_field+1′b1);
end
assign rd1_addr={ffdmem_rd_field,d_cm2dm_addr 1[3:1]};
assign rd2_addr={ffdmem_rd_field,d_cm2dm_addr2[3:1]};
//----------------组合存储器(fifo_dmem)-----------------//
wire wr1_en,rd1_en,rd2_en;
wire [15:0]wr1_data,rd1_data,rd2_data;
assign wr1_en=1′b0;
assign rd1_en=1′b0;
assign rd2_en=1′b0;
assign wr1_data=data_in;
fifo_dmem muxmem_block(clk_wrfifo,wr1_en,wr1_addr,wr1_data,
clk_core,rd1_en,rd1_addr,rd1_data,
clk_core,rd2_en,rd2_addr,rd2_data);
//---------------时隙交换数据输出(ts_out)----------------//
wire [7:0]d_even_out,d_odd_out;
assign d_odd_out=(odd_sel)?rd1_data[15:8]:rd1_data[7:0];
assign d_even_out=(even_sel)?rd2_data[15:8]:rd2_data[7:0];
assign data_out={d_odd_out,d_even_out};
//---------------------fifo溢出处理---------------------//
//
//
endmodule
//-------------------组合存储器模型---------------------//
module fifo_dmem(wr1_clk,wr1_en,wr1_addr,wr1_data,
rd1_clk,rd1_en,rd1_addr,rd1_data,
rd2_clk,rd2_en,rd2_addr,rd2_data);
input wr1_clk,rd1_clk,rd2_clk;
input wr1_en,rd1_en,rd2_en;
input [7:0]wr1_addr,rd1_addr,rd2_addr;
input [15:0]wr1_data;
output [15:0]rd1_data,rd2_data;
reg [15:0]ram_block [255:0];
reg [15:0]rd1_data,rd2_data;
always@(posedge wr1_clk)
begin
if(~wr1_en)
ram_block[wr1_addr]<=wr1_data;
end
always@(posedge rd1_clk)
begin
if(~rd1_en)
rd1_data<=ram_block[rd1_addr];
end
always@(posedge rd2_clk)
begin
if(~rd2_en)
rd2_data<=ram_block[rd2_addr];
end
endmodule
//-------------------组合存储器模型--------------------//
//---------------------verilog HDL----------------------//
3.电路工作原理说明
由输入帧头指示信号frhd_pulse指明当前输入数据的帧头位置,由fifo写地址产生(fifo_addr)产生输入数据data_in写入组合存储器的地址信号wr1_addr。
由fifo读帧头指示信号frrd_ind指明当前读出fifo帧头数据的位置,由cmem读地址产生(cmem_addr)产生控制存储器的读地址信号ts_cnt_cm连接到交换控制电路(ctrl_cmem)。
交换控制电路(ctrl_cmem)内部包含有一个双端口(单入和单出)的控制存储器,由输入端口的控制存储器片选信号cmem_cs,控制存储器写操作信号cpu_wr,控制存储写地址信号cpu_addr,控制存储器写数据信号d_from_cpu实现对该控制存储器的数据写入操作;由读地址信号ts_cnt_cm实现对该控制存储器的数据读出操作,其输出数据作为fifo数据交换地址。由fifo读帧头指示信号frrd_ind生成fifo数据交换域地址。fifo数据交换域地址和fifo数据交换地址两者构成组合存储器的读地址rd1_addr和rd2_addr。
组合存储器由一个输入端口和两个输出端口的相应控制信号实现对数据的写输入和读输出操作。
时隙交换数据输出(ts_out)的odd_sel和even_sel信号分别控制对输入数据rd1_data和rd2_data选择输出操作。
4.电路应用效果
本发明实际应用在“宽带电路交换核心芯片(DXC160)”项目的电路设计中。此项目通过采用本发明电路代替原来的时分交换电路,使得现在设计电路比原来的设计电路共计减少了64个存储器块数目,明显简化了电路设计复杂度,减小了芯片面积,降低了系统电路功耗和提高了系统工作的可靠性,取得了很好的效果。在40G的SDH交叉设备上进行的实际应用测试,结果表明该设计电路的功能完全正确,各项功能及性能指标均符合要求。该发明可用于解决多路高速SDH时分交换电路结构设计。
Claims (1)
1.高速异步时分交换电路,其特征在于:包括组合存储器fifo_dmem、fifo写地址产生fifo_addr、控制存储器读地址产生cmem_addr、交换控制电路ctrl_cmem和时隙交换数据输出ts_out,组合存储器fifo_dmem选用一个输入端口和两个独立输出端口的通用存储器;输入端口的输入数据帧头指示信号frhd_pulse和输入数据同步时钟信号clk_wrfifo连接到fifo写地址产生fifo_addr的输入端;输入端口的输入数据同步时钟信号clk_wrfifo、输入数据data_in和fifo写地址产生fifo_addr的输出信号wr1_addr分别连接到组合存储器fifo_dmem的输入端口的时钟信号、数据线和地址线;输入端口的输出数据同步时钟信号clk_core和fifo读帧头指示信号frrd_ind连接到控制存储器读地址产生cmem_addr的输入端;输入端口的控制存储器片选信号cmem_cs,控制存储器写操作信号cpu_wr,控制存储写地址信号cpu_addr,控制存储器写数据信号d_from_cpu,输出数据同步时钟信号clk_core,fifo读帧头指示信号frrd_ind和控制存储器读地址产生cmem_addr的输出信号ts_cnt_cm分别连接到交换控制电路ctrl_cmem的输入端;输入端口的输出数据同步时钟信号clk_core和交换控制电路ctrl_cmem的输出信号rd1_addr分别连接到组合存储器fifo_dmem的一个输出端口的时钟信号和地址线;输入端口的输出数据同步时钟信号clk_core和交换控制电路ctrl_cmem的输出信号rd2_addr分别连接到组合存储器fifo_dmem的另一个输出端口的时钟信号和地址线;组合存储器fifo_dmem的两个输出数据rd1_data和rd2_data和交换控制电路ctrl_cmem的输出信号odd_sel和even_sel分别连接到时隙交换数据输出ts_out的输入端;时隙交换数据输出ts_out的odd_sel和even_sel信号分别控制对输入数据rd1_data和rd2_data选择输出操作,时隙交换数据输出ts_out的输出数据data_out连接到输出端口;输入端口信号rstb是电路的共用输入信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510041723 CN1655487B (zh) | 2005-02-25 | 2005-02-25 | 高速异步时分交换电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200510041723 CN1655487B (zh) | 2005-02-25 | 2005-02-25 | 高速异步时分交换电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1655487A CN1655487A (zh) | 2005-08-17 |
CN1655487B true CN1655487B (zh) | 2010-09-08 |
Family
ID=34894447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200510041723 Expired - Fee Related CN1655487B (zh) | 2005-02-25 | 2005-02-25 | 高速异步时分交换电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1655487B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207471B (zh) * | 2007-12-12 | 2011-09-21 | 上海华为技术有限公司 | 对时隙进行交换的方法与装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1042286A (zh) * | 1988-10-25 | 1990-05-16 | Gec-普列斯长途电讯有限公司 | 时分交换装置 |
CN2484699Y (zh) * | 2001-06-27 | 2002-04-03 | 中国科学院沈阳计算技术研究所 | 采用异步传输模式技术的局域网工作组交换机 |
-
2005
- 2005-02-25 CN CN 200510041723 patent/CN1655487B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1042286A (zh) * | 1988-10-25 | 1990-05-16 | Gec-普列斯长途电讯有限公司 | 时分交换装置 |
CN2484699Y (zh) * | 2001-06-27 | 2002-04-03 | 中国科学院沈阳计算技术研究所 | 采用异步传输模式技术的局域网工作组交换机 |
Also Published As
Publication number | Publication date |
---|---|
CN1655487A (zh) | 2005-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101236774B (zh) | 单端口存储器实现多端口存储功能的装置和方法 | |
CN111832240A (zh) | Fifo数据传输方法及fifo存储装置 | |
CN105677609A (zh) | 一种SoC系统的总线结构 | |
WO2024139198A1 (zh) | 一种内存模组及一种电子设备 | |
CN102004626B (zh) | 双口存储器 | |
CN111611180A (zh) | 一种支持多协议的动态共享缓冲区 | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
CN1655487B (zh) | 高速异步时分交换电路 | |
CN104598404B (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN111338983B (zh) | 一种高速数据缓存结构及方法 | |
CN102789424A (zh) | 基于fpga的外扩ddr2的读写方法及基于fpga的外扩ddr2颗粒存储器 | |
CN105955901A (zh) | 一种增强型大容量高速数据交换的设计方法 | |
CN113254373B (zh) | 支持同时读写的类双口存储器实现方法、类存储器及芯片结构 | |
CN113806277B (zh) | 基于srio协议的fpga与dsp的数据传输系统 | |
KR100343831B1 (ko) | 반도체메모리 | |
CN201859658U (zh) | 嵌入式sdram存储模块 | |
CN107293318B (zh) | 一种可配位宽的嵌入式存储器 | |
CN107426118A (zh) | 一种基于mdc/mdio接口的千兆以太网交换电路访问装置 | |
CN209765494U (zh) | 一种异步fifo装置 | |
JP5499131B2 (ja) | デュアルポートメモリおよびその方法 | |
CN1655535A (zh) | Sdh帧头检测及数据重排电路 | |
CN102306142B (zh) | 一种fft倒序操作存储器数据调度方法及电路 | |
CN116414732A (zh) | 基于ddr3的高速大容量双通道双缓冲存储系统 | |
CN113740851A (zh) | 一种分时复用单ddr的sar成像数据处理系统 | |
CN105808474A (zh) | 现场可编程器件fpga的block ram级联结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100908 Termination date: 20110225 |