- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
毕业论文
同步复接器/分接器的FPGA设计与实现
一. 复接器的设计
本设计采用了将复接器通过软件来实现,尽可能用软件来实现更多的硬件电路[18~19]。在FPGA设计中采用了分层设计,顶层为整个系统的原理框图(见图1),框图中包含了构成同步数字复接器的主要模块,然后按各模块的功能分别进行设计[20]。
输出电路时钟分频器内码控制器内码产生器
输出电路
时钟
分频器
内码控制器
内码产生器
内码产生器
内码产生器
内码产生器
内码产生器
内码产生器
内码产生器
时序发生器
时序发生器
图1 四路同步复接器的VHDL建模框图
图1的四路同步复接器框图由分频器、内码控制器、时序产生器、内码产生器、输出电路等模块组成[21~22]。分频器模块的作用是用来产生一个256KHZ的时钟信号,内码控制器模块的作用是通过三个地址控制端来控制内码发生器的码字依次输出,时序发生器模块的作用是产生四路时序来控制四路信号的输出,内码产生器模块的作用是将八路并行输入码通过串行输出,输出电路模块的作用是用一个三态门来控制四路信号分时输出,从而实现复接功能。复接器的VHDL设计根据所划分的几大模块分别用VHDL语言去描述,最后用元件调用语句和例化语句将它们连接起来。
1. 分频器
分频器实际是一个计数器,在本设计中,其作用是将由晶体震荡电路产生的4096KHZ的方波信号进行分频,其16分频(即256KHZ时钟)输出端作为内码控制器的控制输入端。其建模流程图如图2所示。
时钟CLK输入
时钟CLK输入
开始计数
开始计数
=15
=15
计数器清零计数器计数
计数器清零
计数器计数
图2 16分频计数器流程图
分频器的VHDL描述程序如下:
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity count16 is
port
(clk: in std_logic;
d,c,b,a: out std_logic);
end count16;
architecture rtl of count16 is
signal count_4:std_logic_vector(3 downto 0);
begin
process(clk)
begin
if(clkevent and clk=1) then
if(count_4=1111) then
count_4=0000;
else
count_4=count_4+1;
end if;
end if;
end process;
d=count_4(0);
c=count_4(1);
b=count_4(2);
a=count_4(3);
end rtl;
上述程序在Max+plus II时序仿真波形如图3所示。
图3 分频器的时序仿真波形
图3中,a表示16分频输出,b表示8分频输出,c表示4分频输出,d表示2分频输出。由图中可以看出,实际仿真波形图与理论预期一致。
2. 内码控制器
内码控制器,实际也是一个分频器,一个输出端口输出三位并行信号作为内码产生器的地址控制端,另一输出端作为时序产生器的控制端。内码控制器对内码产生器的控制功能表如表3.1所示。
表3.1 内码控制器对内码产生器的控制功能表
内码控制器的3路输出信号(A2A1A
内码产生器输出信号位(Y0-Y7中选1)
A2
A1
A0
Y
0
0
0
Y0
0
0
1
Y1
0
1
0
Y2
0
1
1
Y3
1
0
0
Y4
1
0
1
Y5
1
1
0
Y6
1
1
1
Y7
表3.1中的A2、A1、A0分别表示内码控制器内的二进制分频器的8、4、2分频信号。内码产生器应循环并依次输出从“000”、“001”、一直到“111”。这样,内码发生器每个时钟节拍,输出一位码,通过输出电路送到合路信道上,最终形成一路串行码流。
3. 时序产生器
时序产生器可产生脉宽为8个时钟周期的四路时序信号。具体实现是:将内码控制器的二分频端通过一个32分频器,其16分频和32分频输出端作为2/4译码器的控制端,2/4译码器的四个输出端,在经过反相器后,便得出本设计所要求的四路时序。译码器的建模流程图如图4所示。
分频器的两位输出F2F1
分频器的两位输出F2F1
F2F1=11F2F1=10F2F1=00F2F1=01
F2F1=11
F2F1=10
F2F1=00
F2F1=01
输出=0111输出=1011输出=1110
输出=0111
输出=1011
输出=1110
输出=1101
图4 译
文档评论(0)