最新同步复接器分接器的FPGA设计与实现Word格式文档下载.docx
《最新同步复接器分接器的FPGA设计与实现Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《最新同步复接器分接器的FPGA设计与实现Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
1111"
count_4<
="
0000"
;
else
=count_4+1;
endif;
endif;
endprocess;
d<
=count_4(0);
c<
=count_4
(1);
b<
=count_4
(2);
a<
=count_4(3);
endrtl;
上述程序在Max+plusII时序仿真波形如图3所示。
图3分频器的时序仿真波形
图3中,a表示16分频输出,b表示8分频输出,c表示4分频输出,d表示2分频输出。
由图中可以看出,实际仿真波形图与理论预期一致。
2.内码控制器
内码控制器,实际也是一个分频器,一个输出端口输出三位并行信号作为内码产生器的地址控制端,另一输出端作为时序产生器的控制端。
内码控制器对内码产生器的控制功能表如表3.1所示。
表3.1内码控制器对内码产生器的控制功能表
内码控制器的3路输出信号(A2A1A0)
内码产生器输出信号位(Y0-Y7中选1)
A2
A1
A0
Y
Y0
1
Y1
Y2
Y3
Y4
Y5
Y6
Y7
表3.1中的A2、A1、A0分别表示内码控制器内的二进制分频器的8、4、2分频信号。
内码产生器应循环并依次输出从“000”、“001”、一直到“111”。
这样,内码发生器每个时钟节拍,输出一位码,通过输出电路送到合路信道上,最终形成一路串行码流。
3.时序产生器
时序产生器可产生脉宽为8个时钟周期的四路时序信号。
具体实现是:
将内码控制器的二分频端通过一个32分频器,其16分频和32分频输出端作为2/4译码器的控制端,2/4译码器的四个输出端,在经过反相器后,便得出本设计所要求的四路时序。
译码器的建模流程图如图4所示。
图4译码器的VHDL建模流程图
译码器的VHDL描述程序如下:
entityyimaqiis
(f2,f1:
y3,y2,y1,y0:
outstd_logic);
end;
architecturertlofyimaqiis
signalindata:
std_logic_vector(1downto0);
signaly:
indata<
=f2&
f1;
process(indata)
caseindatais
when"
00"
=>
y<
1110"
01"
1101"
10"
1011"
11"
0111"
whenothers=>
endcase;
y3<
=y(3);
y2<
=y
(2);
y1<
=y
(1);
y0<
=y(0);
endarchitecturertl;
其时序仿真波形如图5所示。
图52/4译码器的时序仿真波形图
图5中,f2表示分频器的32分频输出端,f1表示16分频输出端,y0为第1路译码输出,y1为第二路译码输出,y2为第3路译码输出,y3为第4路译码输出。
时序发生器的仿真波形及相位关系图如图6所示。
图6时序发生器的仿真波形及相位关系图
图6为译码器输出经过一个反向器处理后得出的仿真结果,图中S0、S1、S2、S3分别为四路的时序输出,由图中可以看出四路时序刚好组成一个完整的时序,仿真结果与理论预期一致。
4.内码产生器
四个内码产生器可生产四路独立的八位数码,并在内码控制器的控制下输出相应的数码,例如:
C、B、A为三个地址控制端,Y7,Y6,Y5,Y4,Y3,Y2,Y1,Y0为八位码的输出,则二者的关系表3.2所示:
表23/8控制关系图
C
B
A
输出
一个内码产生器的VHDL描述程序如下:
entityneimacs0is
(in0_8,in0_7,in0_6,in0_5,in0_4,in0_3,in0_2,in0_1,k3,k2,k1,sx0:
out0:
outstd_logic);
endentityneimacs0;
architecturenm0ofneimacs0is
componentmux8_0
port
(d7,d6,d5,d4,d3,d2,d1,d0,d,c,b:
y:
endcomponent;
componenttri_gate0
port(din0,en:
dout0:
outstd_logic);
signall0:
std_logic;
u1:
mux8_0
portmap
(d7=>
in0_8,d6=>
in0_7,d5=>
in0_6,d4=>
in0_5,d3=>
in0_4,d2=>
in0_3,d1=>
in0_2,d0=>
in0_1,d=>
k3,b=>
k2,c=>
k1,y=>
l0);
u2:
tri_gate0portmap(din0=>
l0,en=>
sx0,dout0=>
out0);
endarchitecturenm0;
entitymux8_0is
port(d7,d6,d5,d4,d3,d2,d1,d0:
instd_logic;
d,c,b:
outstd_logic);
endmux8_0;
architecturertlofmux8_0is
signalsel:
std_logic_vector(2downto0);
sel<
=d&
c&
b;
withselselect
y<
=d0when"
000"
d1when"
001"
d2when"
010"
d3when"
011"
d4when"
100"
d5when"
101"
d6when"
110"
d7when"
111"
'
0'
whenothers;
endrtl;
entitytri_gate0is
dout0:
endtri_gate0;
architecturezasoftri_gate0is
dout0<
=din0whenen='
Z'
endzas;
内码产生器的仿真波形如图7所示
图7内码产生器的仿真波形图
图7中k3、k2、k1表示计数器的3位输入控制端,in0_8到in0_1表示8位并行输入码,out0表示一路串行输出码,由图中可以看出实际仿真结果与理论一致。
5.输出电路
在时序产生器产生的四路时序信号的控制下(时序与内码想与),按顺序依次将四路数码接入同一通道,形成了一路串行码,从而完成了四路数据码的复接。
实现的关键是三态与门的利用,就是当时序信号的上升沿到来,并且在高电平持续时间内,相应的八位码以Y0,Y1,Y2,Y3,Y4,Y5,Y6,Y7的顺序依次输出,而在其他情况下,则以高阻的形态出现,当经过一个时序周期(即32个码元)后,就输出一帧串行码,从而实现了四路数据的同步复接。
其中三态门的建模如图8所示。
NY
图8三态门建模流程图
三态门的VHDL描述程序如下:
(din0,en:
三态门的时序仿真波形如图9所示。
图9三态门的时序仿真波形图
图9中en表示使能信号,din0表示输入信号,dout0表示输出信号,由图中可以看出实际仿真结果与理论一致。
6.四路同步复接器系统的时序仿真
当第一路分路码为“11001111”,第二路分路码为“00111100”,第三路分路码为“11110000”第四路分路码为“00001111”时,四路同步复接器的系统模块的时序仿真如图10所示。
图10四路同步复接器系统的时序仿真图
图10中的s0、s1、s2、s3分别表示不同相位的四路时序信号,每路时序信号的高电平持续时间刚好包含了8个(clk)时钟周期,且在信号时序控制过程中,时序信号的高电平有效。
在图11的波形示例中,第1、2、3、4路分路码在时间上分别对应第1、2、3、4路时序信号的高电平持续时间,从图中可以看出一帧复用信号的序列为“11001111001111001111000000001111”。
其时序仿真可以说明,该复接器示例的建模与程序设计是正确的。
二.分接器的设计
1.帧同步信号移位和时序信号恢复模块
该模块表示帧同步信号移位和时序信号恢复电路。
电路图如图11所示:
图11帧同步信号移位和时序信号恢复电路原理图
帧同步信号移位和时序信号恢复模块的时序波形仿真图如图12所示:
图12帧同步信号移位和时序信号恢复电路时序波形仿真图
第1路时序信号恢复电路和第1个8位移位寄存器如图12所示。
图12中STEPIN表示帧同步信号输入;
CLKIN表示时钟信号输入;
DATAIN表示合路信号输入;
DATAOUT表示串行合路信号输出;
DATAOUT1表示帧同步信号移8位后的输出;
DATAOUT2表示同步信号移16位后的输出;
QOUT1表示第1路时序信号输出。
移存器74164的QH表示移8位后的输出,QA表示移一位的输出。
第1路时序信号的恢复原理是:
帧同步信号经过第1个移位寄存器后,从QA端和QH端分别输出延迟1位和延迟8位的帧同步信号,然后用QA端的帧同不脉冲的下降沿对D触发器置“1”,而用QH端的帧同步脉冲作为D触发的时钟。
又因为帧同步脉冲的宽度为一个码元的宽度(即1个时钟周期),那么由上述的两个延迟帧同步信号控制一个D触发器,则可输出一路时序信号。
依次类推,第2路时序信号是由延迟9位和延迟16位的帧同步信号分别经过反相器后,再分别加到一个D触发器的置1端和时钟输入端,从该D触发器的Q端输出。
第3路时序信号是由延迟17位和延迟24位的帧同步信号分别经过反相器后,再分别加到一个D触发器的置1端和时钟输入端,从该D触发器的Q端输出。
第4路时序信号是由延迟25位和延迟32位的帧同步信号分别经过反相器后,再分别加到一个D触发器的置1端和时钟输入端,从该D触发器的Q端输出。
在这个模块里的主要芯片是74164,其内部结构如图13所示:
图13芯片74164原理图
74164芯片有4个输入端和8个输出端,A、B输入端作为第1个D触发器的电平输入端,CLK作为D触发器的时钟,QA是经过1个时钟延迟的的AB相与的输出,QB是经过2个时钟延迟的的AB相与的输出,依次类推,QH是经过8个时钟延迟的AN相与的输出。
2.串/并变换模块
把串行合路信号变换成并行信号的电路原理图如图14所示:
图14串/并变换模块原理图
图14中器件74374位8位D触发器;
端子CLKIN表示外时钟输入;
DATAIN接来图13中的DATAOUT(串行合路)信号;
BN的接法根据具体情况而定,当与图13中延迟8位的帧同步信号“DATAOUT1”时,则并行输出为1路支路信号;
当与图13中延迟16位的帧同步信号“DATAOUT2”时,则并行输出为2路支路信号;
当与图13中延迟24位的帧同步信号“DATAOUT3”时,则并行输出为3路支路信号;
当与图13中延迟32位的帧同步信号“DATAOUT4”时,则并行输出为4路支路信号。
该串/并变换器具有串并变换状态和状态保持两个功能。
串/并变换模块的时序波形仿真图如图15所示:
DATAIN一直输入“1”,OUT8~OUT1全部输出“1”。
符合串/并变换模块功能。
图15串/并变换模块的时序波形仿真图
在这个模块里的主要芯片是74374,其内部结构如图16所示:
在串/并的模块里的第1个74374的功能是将串行合路信号接入D8端,经过一个D触发器的时钟延迟后,在用Q8作为输入信号接到D7端,同样经过一个D触发器的时钟延迟后,在用Q7作为输入信号接到D6端;
这样经过8个D触发器的始终延迟后,原本串行合路的第1位信号就从Q1输出,而原本串信号的第8位信号则从Q8输出。
串行合路信号变换成并行信号后,在经过第2个74374锁存输出后,这样8位并行信号就成为同步信号。
图16芯片74374原理图
3.分路器模块
分路器模块由四个子模块构成,如图17所示。
每个子模块对应一路支路信号分路电路。
图17分路器模块原理图
图17中的BCEN表示并/串变换器的并行数据输入与串行移位控制信号,接帧同步信号;
DATAIN接串行复用信号;
CLKIN接时钟信号;
CBEN1至CBEN4分别接四路不同延迟的时序信号;
FENOUT1表示第1路串行支路信号输出;
FENOUT2表示第2路串行支路信号输出;
FENOUT3表示第3路串行支路信号输出;
FENOUT4表示第4路串行支路信号输出。
分路器模块的时序波形仿真图如图18所示:
由图中可知,在CBEN1~CBEN4分别有时钟输入的情况下,FENOUT1~FENOUT4分别输出各自的信号。
图18分路器模块的时序波形仿真图
图19中的每个子模块分为三个部分,即串/并变换器、分频器和并/串变换器。
每个子模块的由串/并变换器、分频器和并/串变换器组成,如图20所示。
串/并变换器的功能是,将接收到的串行复用信号按复用信号的时钟,进行串并变换,并进行状态锁存。
图20分路器子模块原理图
并/串变换器的具体电路如图21所示。
并/串变换器时钟速率是复用信号对应的时钟速率的四分之一(用分频器74161实现),以保证将复用器帧结构中的一个时隙扩展为一帧的宽度。
由图16可知,该串/并变换器还包括状态锁存功能,因此并/串变换器可利用串/并变换器中的状态锁存,以低速时钟对并/串变换器的移位寄存器进行数据的低速移位。
该并/串变换器包括两个工作过程,首先完成并行数据的写入功能,在BCEN=“0”期间进行;
然后完成数据串行移位功能,在BCEN=“1”期间进行。
并/串变换器在BCEN=“0”时,数据从串/并输入到并/串变换器中,由D触发器实现数据锁存功能,将送过来的数据一一对应的D触发器上;
在BCEN=“1”时且CLK时钟有效的情况下,OUTPUT依次输出D8~D1,D1经过8个D触发器的延迟,所以在最后一位输出。
图21并/串变换器的原理图
并/串变换器的时序仿真图如图22所示:
图中并路信号输入“10101010”,串路信号输出“1,0,1,0,1,0,1,0”符合并/串变换器的功能。
图22并/串变换器的时序仿真图
4.顶层模块
在帧同步信号移位和时序信号恢复模块,串/并变换模块,分路器模块三大模块都通过仿真后,就可以构建起顶层模块。
顶层模块的原理图如图23所示:
图23顶层模块的原理图
5.四路同步分接器系统的时序仿真
图24为四路同步分接器的时序仿真波形。
图中,STEPIN为帧同步信号输入;
DATAIN为串路复用信号输入;
CLKIN为时钟输入;
DATAOUT是串行复用信号输出;
FENOUT1是第1路支路信号输出;
FENOUT2是第2路支路信号输出;
FENOUT3是第3路支路信号输出;
FENOUT4是第4路支路信号输出。
图中的串行复用信号为“11110010111100001100110010101010”(一帧),第1路支路信号在一帧内为“11110010”;
第2路支路信号在一帧内为“11110000”;
第3路支路信号在一帧内为“11001100”;
第4路支路信号在一帧内为“10101010”;
从而实现了正确分接。
图24四路同步分接器的时序仿真波形
学位论文原创性声明
本人郑重声明:
所呈交的学位论文,是本人在导师的指导下进行的研究工作所取得的成果。
尽我所知,除文中已经特别注明引用的内容和致谢的地方外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式注明并表示感谢。
本人完全意识到本声明的法律结果由本人承担。
学位论文作者(本人签名):
年月日
学位论文出版授权书
本人及导师完全同意《中国博士学位论文全文数据库出版章程》、《中国优秀硕士学位论文全文数据库出版章程》(以下简称“章程”),愿意将本人的学位论文提交“中国学术期刊(光盘版)电子杂志社”在《中国博士学位论文全文数据库》、《中国优秀硕士学位论文全文数据库》中全文发表和以电子、网络形式公开出版,并同意编入CNKI《中国知识资源总库》,在《中国博硕士学位论文评价数据库》中使用和在互联网上传播,同意按“章程”规定享受相关权益。
论文密级:
□公开□保密(___年__月至__年__月)(保密的学位论文在解密后应遵守此协议)
作者签名:
_______导师签名:
_______
_______年_____月_____日_______年_____月_____日
独创声明
所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。
尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。
本声明的法律后果由本人承担。
作者签名:
二〇一〇年九月二十日
毕业设计(论文)使用授权声明
本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。
本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);
同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。
(保密论文在解密后遵守此规定)
致谢
时间飞逝,大学的学习生活很快就要过去,在这四年的学习生活中,收获了很多,而这些成绩的取得是和一直关心帮助我的人分不开的。
首先非常感谢学校开设这个课题,为本人日后从事计算机方面的工作提供了经验,奠定了基础。
本次毕业设计大概持续了半年,现在终于到结尾了。
本次毕业设计是对我大学四年学习下来最好的检验。
经过这次毕业设计,我的能力有了很大的提高,比如操作能力、分析问题的能力、合作精神、严谨的工作作风等方方面面都有很大的进步。
这期间凝聚了很多人的心血,在此我表示由衷的感谢。
没有他们的帮助,我将无法顺利完成这次设计。
首先,我要特别感谢我的知道郭谦功老师对我的悉心指导,在我的论文书写及设计过程中给了我大量的帮助和指导,为我理清了设计思路和操作方法,并对我所做的课题提出了有效的改进方案。
郭谦功老师渊博的知识、严谨的作风和诲人不倦的态度给我留下了深刻的印象。
从他身上,我学到了许多能受益终生的东西。
再次对周巍老师表示衷心的感谢。
其次,我要感谢大学四年中所有的任课老师和辅导员在学习期间对我的严格要求,感谢他们对我学习上和生活上的帮助,使我了解了许多专业知识和为人的道理,能够在今后的生活道路上有继续奋斗的力量。
另外,我还要感谢大学四年和我一起走过的同学朋友对我的关心与支持,与他们一起学习、生活,让我在大学期间生活的很充实,给我留下了很多难忘的回忆。
最后,我要感谢我的父母对我的关系和理解,如果没有他们在我的学习生涯中的无私奉献和默默支持,我将无法顺利完成今天的学业。
四年的大学生活就快走入尾声,我们的校园生活就要划上句号,心中是无尽的