信息与通信专题数字系统设计进阶设计.pptx
《信息与通信专题数字系统设计进阶设计.pptx》由会员分享,可在线阅读,更多相关《信息与通信专题数字系统设计进阶设计.pptx(80页珍藏版)》请在咨信网上搜索。
1、一、一、常用组合逻辑电路模块常用组合逻辑电路模块 任一时刻的输出仅仅取决于当时的任一时刻的输出仅仅取决于当时的输入,与电路原来的状态无关,这输入,与电路原来的状态无关,这样的数字电路叫做组合逻辑电路。样的数字电路叫做组合逻辑电路。一、一、常用组合逻辑电路模块常用组合逻辑电路模块(1)编码器)编码器(2)译码器)译码器(3)比较器)比较器(4)数据选择器)数据选择器(5)三态输出电路)三态输出电路(6)算术逻辑单元)算术逻辑单元ALU设计设计(1)编码器)编码器A6A7A5A4A3A2A1A0Y2Y1Y083编码器编码器ENA7 A6 A5 A4 A3 A2 A1 A0Y2 Y1 Y000000
2、00100000000010001000001000100000100001100010000100001000001010100000011010000000111(2)译码器)译码器38译码器译码器A6A7A5A4A3A2A1A0Y2Y1Y0ENa.38译码器译码器例如设计例如设计:四位二进制四位二进制-BCD码,然后将码,然后将BCD码码-七段显示器码。七段显示器码。(1)当输入为)当输入为09的数时,其十位数为的数时,其十位数为0,个位数,个位数=输入。输入。当输入为当输入为1015的数时,其十位数为的数时,其十位数为1,个位数,个位数=输入输入-10。(2)然后将十位和个位的)然后将
3、十位和个位的BCD码转换为七段显示器码。码转换为七段显示器码。(2)译码器)译码器b.码制转换码制转换(3)比较器)比较器 AGTBBLTBAEQBAB如果如果 ab,输出为:输出为:agtb=1,altb=0,aeqb=0;如果如果 ab,输出为:输出为:altb=1,agtb=0,aeqb=0;如果如果 a=b,输出为:输出为:aeqb=1,agtb=0,altb=0。(4)数据选择器)数据选择器 ABCDZS0S1(5)三态输出电路)三态输出电路 library ieee;use ieee.std_logic_1164.all;entity triout is generic(bussi
4、ze:integer:=8);port (data_in:in std_logic_vector(bussize-1 downto 0);en:in std_logic;data_out:out std_logic_vector(bussize-1 downto 0);end triout;architecture behave of triout is begin data_outZ);end behave;-注意此处的注意此处的“Z”要大写;要大写;AENB(6)算术逻辑单元()算术逻辑单元(ALU)电路设计)电路设计 算术电路单元算术电路单元 逻辑电路单元逻辑电路单元21数据数据选择器选
5、择器输输出出CinABS0S1S2(1)算术电路单元的设计)算术电路单元的设计(2)逻辑电路单元的设计)逻辑电路单元的设计(3)21数据选择器数据选择器的设计的设计ALU运算功能运算功能功能选择功能选择输出输出F执行操作执行操作S2S1S0000F=A+B+Cin加法加法A+B+Cin01F=A-B-Cin减法减法A-B-Cin10F=A+Cin传递传递A+Cin11F=A-Cin传递传递A-Cin100F=ABAND01F=ABOR10F=A+BXOR11F=NOT ANOT算术电路单元算术电路单元 逻辑电路单元逻辑电路单元21数据数据选择器选择器输输出出CinABS0S1S2Library
6、 ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;Entity malu is generic(n:integer:=8);Port(s:in std_logic_vector(2 downto 0);-运算功能选择信号运算功能选择信号 Cin:in std_logic;-初始进位初始进位 A,B:in std_logic_vector(n-1 downto 0);-两个运算输入信号两个运算输入信号 F:out std_logic_vector(n-1 downto 0);-运算结果输出信号运算结果输出信号 Co
7、ut:out std_logic);-运算进位输出信号运算进位输出信号End malu;Architecture arith of malu is Signal F1:std_logic_vector(n downto 0);-保存算术运算结果保存算术运算结果 Signal F2:std_logic_vector(n-1 downto 0);-保存逻辑运算结果保存逻辑运算结果BeginB1:Blockbegin process(s(1 downto 0)begin case S(1 downto 0)is when 00=F1 F1 F1 F1 F2 F2F2F2=not A;-Not end
8、 case;end process;end block B2;B3:blockBegin F=F1(n-1 downto 0)when s(2)=0 else F2;Cout1000-111LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY ffd ISPORT(cp,d:IN STD_LOGIC;q:OUT STD_LOGIC);END ffd;ARCHITECTURE a OF ffd ISBEGIN process(cp)begin if cpevent and cp=1 then q1Not Qn-1 LIBRARY ieee;USE iee
9、e.std_logic_1164.ALL;ENTITY fft ISPORT(cp:IN STD_LOGIC;q:OUT STD_LOGIC);END fft;ARCHITECTURE a OF fft IS signal qn:std_logic;BEGIN process(cp)begin if cpevent and cp=1 then qn=not qn;end if;end process;q=qn;END a;D QCP QRS型触发器型触发器SRQ00Qn-101010111不定不定 LIBRARY ieee;USE ieee.std_logic_1164.ALL;ENTITY
10、ffrs ISPORT(s,r:IN STD_LOGIC;q,nq:OUT STD_LOGIC);END ffrs;ARCHITECTURE a OF ffrs IS signal qn,nqn:std_logic;BEGIN qn=r nor nqn;nqn=s nor qn;q=qn;nq0);elsif(clkEvent and clk=1)then q(3):=q(2);q(2):=q(1);q(1):=q(0);q(0):=din;end if;qout=q;end process;End behave;D QClk QDinClkD QClk QQ0D QClk QQ1D QClk
11、 QQ2Q3思考:还有没有第二种语言表示方法进行移位?思考:还有没有第二种语言表示方法进行移位?延迟电路设计延迟电路设计D QCPDinCPD QCPD QCPQ1Q2Q3LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;Entity Delay ISPORT(Din,clk:IN STD_LOGIC;Q1,Q2,Q3:OUT STD_LOGIC);END Delay;ARCHITECTURE a OF Delay IS Signal N1,N2,N3:STD_LOGIC;BEGIN Process
12、(Din,clk)begin if clkevent and clk=1 then N3=N2;N2=N1;N1=Din;end if;end process;Q3=N3;Q2=N2;Q1=N1;END a;微分电路设计微分电路设计D QCPDinCPD QCPQ1Q2OP1OP2微分电路应用微分电路应用-计数器电路中计数器电路中 该微分电路接上计数器就构成了一个同步计数器。这种计数器多了一个该微分电路接上计数器就构成了一个同步计数器。这种计数器多了一个“同步控制信号同步控制信号EC”,计数器是否计数就由它来,计数器是否计数就由它来控制控制。如果将触发计数器计数的信号如果将触发计数器计数的信号
13、Din直接接计数器控制管脚直接接计数器控制管脚EC,本来只希望计,本来只希望计数一次,可能因为输入信号数一次,可能因为输入信号Din过长,超过一个时钟脉冲周期,导致计数器发生过长,超过一个时钟脉冲周期,导致计数器发生误动作,多计数。误动作,多计数。因此,可在因此,可在计数器前接一微分电路计数器前接一微分电路,先将输入信号,先将输入信号Din微分成微分成仅有一个时钟仅有一个时钟脉冲周期宽的信号脉冲周期宽的信号,再提供给计数器,可提高计数器的准确性。,再提供给计数器,可提高计数器的准确性。思考:为什么思考:为什么EC可以使能计数?为什么可以使能计数?为什么Diff信号接到信号接到EC脚而不是脚而不
14、是CP脚?脚?D QCPDinCPD QCPQ1Q2DiffEC Q CP计数器计数器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY Diff is PORT(Din,Clk :IN STD_LOGIC;OP1,OP2:OUT STD_LOGIC);END Diff;ARCHITECTURE a OF Diff IS SIGNAL Q1,Q2 :STD_LOGIC;BEGINPROCESS(Clk)BEGIN If Clkevent AND Clk=1 THEN Q2=Q1;Q1=D
15、in;End if;END PROCESS;OP1=Q1 AND NOT Q2;OP2=NOT Q1 AND Q2;END a;键盘消抖电路键盘消抖电路对于机械按键,虽然只是按下一次然后放掉,对于机械按键,虽然只是按下一次然后放掉,结果在按键信号稳定前后会出现一些不该存结果在按键信号稳定前后会出现一些不该存在的噪声,如图所示。如果将这样的信号直在的噪声,如图所示。如果将这样的信号直接输入给计数器,结果将可能发生计数超过接输入给计数器,结果将可能发生计数超过一次以上的错误。一次以上的错误。设计原理:设计原理:(1)一般人的按键速度至多是)一般人的按键速度至多是10次次/秒,即一次按键秒,即一次按
16、键时间是时间是100ms,所以按下的时间可估算为,所以按下的时间可估算为50ms。假如。假如采样信号(采样信号(Sample)周期为)周期为8ms,则可采样到,则可采样到6次。次。(2)对于不稳定的噪声在)对于不稳定的噪声在4ms以下,则至多可采样到以下,则至多可采样到一次。一次。(3)对于如图电路,)对于如图电路,RS的组态仅有三种。的组态仅有三种。D QCPKeySamD QCPQ1Q2OPS QR键盘消抖电路键盘消抖电路Q1Q2SROP000100100不变不变1000不变不变11101D QCPKeySamD QCPQ1Q2OPS QR结论:结论:对按键信号对按键信号只有采样到两次只有
17、采样到两次1才会输出才会输出1,两次,两次0才会输出才会输出0。否则。否则保持原状态不变。保持原状态不变。(4)如果按键信号用于计数器计数,那么消抖以)如果按键信号用于计数器计数,那么消抖以后可能宽度过长,而导致超过计数后可能宽度过长,而导致超过计数1次以上的错误次以上的错误发生,所以最好后面再接一个微分电路。发生,所以最好后面再接一个微分电路。D QCPKeySamD QCPQ1Q2DlyoutS QRD QCPDinclkD QCPD1D2DiffoutEC Q CP计数器计数器LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_lo
18、gic_unsigned.ALL;ENTITY Debunce isPORT(Clk :IN STD_LOGIC;Key :IN STD_LOGIC;DLY_OUT :OUT STD_LOGIC;DIF_OUT:OUT STD_LOGIC);END Debunce;ARCHITECTURE a OF Debunce ISSIGNAL SAMPLE,DLY,NDLY,DIFF:STD_LOGIC;BEGIND QCPKeyClkD QCPQ1Q2DlyoutS QRD QCPDinclkD QCPD1D2Diffout分频器分频器Free_Counter:Block Signal Q :STD_
19、LOGIC_VECTOR(3 Downto 0);Signal tmp:STD_LOGIC;BeginPROCESS(Clk)BeginIF ClkEvent AND Clk=1 thentmp=Q(2);Q=Q+1;END IF;END PROCESS;SAMPLE=Q(2)AND NOT tmp;-about 8 ms END Block;D QCPKeyClkD QCPQ1分频器分频器Q2Debunce:BlockSIGNAL Q0,Q1,S,R:STD_LOGIC;BeginProcess(Clk)BeginIF ClkEVENT AND Clk=1 THENIF SAMPLE=1 T
20、HENQ1=Q0;Q0=KEY;S=Q0 AND Q1;R=NOT Q0 AND NOT Q1;END IF;END IF;End Process;DLY=R NOR NDLY;NDLY=S NOR DLY;DLY_OUT=DLY;End Block Debunce;Differential:BlockSignal D1,D2:STD_LOGIC;BEGINProcess(Clk)BeginIF ClkEVENT AND Clk=1 THEND2=D1;D1=DLY;END IF;End Process;DIFF=D1 AND NOT D2;END Block Differential;DIF
21、_OUT=DIFF;END a;(3)计数器设计)计数器设计LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count IS Generic(n:integer:=3);PORT(clk:in STD_LOGIC;q:out STD_LOGIC_vector(n-1 downto 0);END count;ARCHITECTURE a OF count IS signal tmp:STD_LOGIC_vector(n-1 downto 0);BEGIN process(clk)beg
22、in if clkevent and clk=1 then tmp=tmp+1;end if;end process;q=tmp;END a;n位二进制加法计数器位二进制加法计数器24进进制计制计数器数器ENQAQBCLKLIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.std_logic_unsigned.ALL;ENTITY count24 ISPORT(en,Reset,clk:in STD_LOGIC;qa:out STD_LOGIC_VECTOR(3 DOWNTO 0);-个位数计数个位数计数 qb:out STD_LOGIC_VEC
23、TOR(1 DOWNTO 0);-十位数计数十位数计数END count24;ARCHITECTURE a1 OF count24 ISBEGINprocess(clk)variable tma:STD_LOGIC_VECTOR(3 DOWNTO 0);variable tmb:STD_LOGIC_VECTOR(1 DOWNTO 0);ResetbeginIf Reset=0 then tma:=0000;tmb:=00;else if clkevent and clk=1 then if en=1 then if tma=1001 then tma:=0000;tmb:=tmb+1;-如果个
24、位数为如果个位数为9,个位数清零,十位数加一,个位数清零,十位数加一 elsif tmb=10 and tma=0011 then tma:=0000;tmb:=00;-如果十位数为如果十位数为2,个位数为,个位数为3,个位数十位数均清零,个位数十位数均清零 else tma:=tma+1;-以上条件均不满足,则个位数加一以上条件均不满足,则个位数加一 end if;end if;end if;end if;qa=tma;qb=tmb;将结果输出将结果输出end process;END a1;LIBRARY ieee;USE ieee.std_logic_1164.ALL;USE ieee.s
25、td_logic_unsigned.ALL;ENTITY count60 ISPORT(en,Reset,clk:in STD_LOGIC;qa:out STD_LOGIC_VECTOR(3 DOWNTO 0);-个位数计数个位数计数 qb:out STD_LOGIC_VECTOR(2 DOWNTO 0);-十位数计数十位数计数 rco:OUT STD_LOGIC);-计数进位计数进位END count60;ARCHITECTURE a OF count60 ISBEGINprocess(clk)variable tma:STD_LOGIC_VECTOR(3 DOWNTO 0);variabl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息 通信 专题 数字 系统 设计 进阶
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。