《FPGA设计实例》PPT课件.ppt
《《FPGA设计实例》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《FPGA设计实例》PPT课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、FPGA设计基础设计实例 BCD码到余3码的转换电路 nBCD码和余3码之间有如下关系:nBCD码加3即为余3码。n余3码是一个自补码,即对于任意一个余3码a,存在另外一个a,使得a+a=9。n电路设计要求:n 假设码流以串行流的形式进入转换电路,并以串行流的方式进行发送,BCD码的低位先进入本转换电路,余-3码的低位先发送 序列BCD余3码000000011100010100200100101300110110401000111501011000601101001701111010810001011910011100BCD到余3码 转换表并串转换电路 _使用有限状态机/*SIN_POUT_S
2、HIFT*/moduleSIN_POUT_SHIFT(RSTB,IN,CLK,Q);inputRSTB,CLK,IN;output 3:0 Q;reg3:0 Q;always(posedge CLK or negedge RSTB )Q=(!RSTB)?0:Q,IN;endmodule常见的串并/并串转换/*PIN_SOUT_SHIFT*/modulePIN_SOUT_SHIFT(LOAD,IN,CLK,Q);inputLOAD,CLK;input3:0 IN;output 3:0 Q;reg3:0 Q;always(posedge CLK or posedge LOAD )if(LOAD)Q
3、=IN;elseQ=Q 1;endmodulen把4位的并行数据转换为符合以下协议的串行数据流,数据流用scl和sda两条线传输,sclk为输入的时钟信号,data3:0为输入数据,d_en为数据输入的使能信号。设计要求:通信协议:scl为不断输出的时钟信号,如果scl为高电平时,sda由高变低,串行数据流开始。如果scl为高电平时,sda由低变高,串行数据结束。sda信号的串行数据位必须在scl为低电平时变化,若变为高则为1,否则为零。nmodule ptos(d_en,data,scl,sclk,sda,rst);ninput d_en,rst;nwire d_en;ninput 3:0
4、data;ninput sclk;nwire sclk;noutput scl;noutput sda;nwire sda;nreg scl,link_sda,sdabuf;nreg3:0 databuf;nreg7:0 state;nassign sda=link_sda?sdabuf:1bz;nparameter ready=8b00000001,nstart=8b00000010,nbit1=8b00000100,nbit2=8b00001000,nbit3=8b00010000,nbit4=8b00100000,nbit5=8b01000000,nstop=8b10000000;nal
5、ways(posedge sclk or negedge rst)nbeginnif(!rst)nscl=1;nelsenscl=scl;nendnnalways(posedge d_en)nbeginndatabuf=data;nend n/FSMnalways (negedge sclk or negedge rst)nif(!rst)nbeginnlink_sda=0;nstate=ready;nsdabuf=1;nendnelse nbeginncase(state)nready:if(d_en)nbeginnlink_sda=1;nstate=start;nendnelsenbegi
6、nnlink_sda=0;nstate=ready;nendnstart:if(scl&d_en)nbeginnsdabuf=0;nstate=bit1;nendnelsenstate=start;nbit1:if(!scl)nbeginnsdabuf=databuf3;nstate=bit2;nendn elsen state=bit1;nbit2:if(!scl)nbeginnsdabuf=databuf2;nstate=bit3;nendnelse n state=bit2;nbit3:if(!scl)nbeginn sdabuf=databuf1;n state=bit4;nendne
7、lsenstate=bit3;nbit4:if(!scl)nbeginn sdabuf=databuf0;n state=bit5;nendnelse nstate=bit4;nbit5:if(!scl)nbeginn sdabuf=0;n state=stop;nendnelse nstate=bit5;nstop:if(scl)nbeginn sdabuf=1;n state=ready;n endnelsenstate=stop;ndefault:nbeginn link_sda=0;n sdabuf=1;n state=ready;nendnn endcasen endnendmodu
8、le伪随机序列产生器设计 伪随机序列的应用非常广泛,可以用作误码率测量,通信系统性能的测量,信号的加密,数据序列的扰码,扩展频谱等许多方面。一般来说,伪随机序列的电路为一个反馈移位寄存器,它可分为线性反馈移位寄存器(简称LFSR计数器)和非线性反馈移位寄存器,由线性反馈移位寄存器产生出的周期最长的二进制数字序列称为最大长度线性反馈移位寄存器序列,通常简称为M序列。M序列产生器n由于M序列有很好的信息相关性和伪随机性能,电路实现比较简单,所以在信号的加密,数据序列的扰码,扩频等方面有着广泛的应用。n一个2n1的M序列,可以用n级的移位寄存器产生。实现方式主要有两类,一类是“多对一”方式,另一类是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGA设计实例 FPGA 设计 实例 PPT 课件
限制150内