ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:43.83KB ,
资源ID:22239480      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/22239480.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA文档文档格式.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA文档文档格式.docx

1、3、 I/O不够灵活,限制了片内资源的利用率。4、 编程不便,需要专用的编程工具。 CPLD由五个主要部分:逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和I/O控制块。查找表 一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能; 一个N输入的查找表,需要用2的N次幂个SRAM单元; I/O引脚由I/O单元IOE来驱动,IOE位于行列的末端,IOE引脚可以设置为输入输出或双向引脚。 每个I/O单元包括一个双向I/O缓冲器和一个可作为输入/输出的寄存器。 IOE具有多种特性:JTAG编程支持、摆率控制、三态缓冲、漏极开路输出等。 每个IOE的时钟、时钟使能

2、、清除和输出使能控制均由I/O控制信号网络提供,称为周围控制总线,采用高速驱动能使通过器件的偏移最小。 周边控制总线还有两个专用时钟信号,每个IOE可以使用这两个专用时钟信号中的任意一个用于时钟以及时钟使能的控制TDI 测试数据输入 测试指令和编程数据的串行输入引脚。数据在TCK的上升沿移入TDO 测试指令和编程数据的串行输出引脚,数据在TCK的下降沿移出。如果数据没有被移出时,该引脚处于高阻态TMS 测试模式选择 控制信号输入引脚,负责TAP控制器的转换。TMS必须在TCK的上升沿到来之前稳定。TCK 测试时钟输入 时钟输入到BST电路,一些操作发生在上升沿,而另一些发生在下降沿TRST 测

3、试复位输入 低电平有效,异步复位边界扫描电路(在IEEE规范中,该引脚可选)目前,常见的大规模可编程逻辑器件的编程工艺有三种:(1)基于电可擦除存储单元的EEPROM或Flash技术; 编程后掉电信息不丢失,编程次数有限,编程速度不快。(2)基于SRAM查找表的编程单元; 掉电后信息丢失,上电必须重新配置,配置次数为无限。(3)基于反熔丝编程单元。 一次性可编程。 CPLD编程和FPGA配置可使用专用的编程设备,也可以使用下载电缆。信号SIGNAL 变量VARIABLE基本用法 用于作为电路中的信号连线 用于作为进程中局部数据存储单元适用范围 在整个结构体内的任何地方都能适用 只能在所定义的进

4、程中使用 行为特性 在进程的最后才对信号赋值 立即赋值 有限状态机克服了纯硬件数字系统顺序方式控制不灵活的缺点。 状态机的结构模式相对简单。 状态机容易构成性能良好的同步时序逻辑模块。 状态机的VHDL表述丰富多样。 在高速运算和控制方面,状态机更有其巨大的优势。 就可靠性而言,状态机的优势也是十分明显的状态机的基本操作有两种:(1) 状态机内部状态转换。 状态机经历一系列状态,下一状态由状态译码器根据当前状态和输入条件决定。(2)产生输出信号序列。 输出信号由输出译码器根据当前状态和输入条件决定。用输入信号决定下一状态也称为“转移”。一般有限状态机的设计从一个状态转移到另一个状态称为控制定序

5、,而决定下一状态所需的逻辑称为转移函数。用VHDL设计的状态机有多种形式: 信号输出方式:Mealy型、Moore型 结构:单进程、多进程 状态表达式:符号化、确定状态编码 编码方式:顺序编码、一位热码编码、其他编码 为了能获得可综合的,高效的VHDL状态机描述,建议使用枚举数据类型来定义状态机的状态,并使用多进程方式来描述状态机的内部逻辑。 一般情况下,可使用两个进程来描述,一个进程描述时序逻辑,包括状态寄存器的工作和寄存器状态的输出;另一个进程描述组合逻辑,包括进程间状态值的传递逻辑以及状态转换值的输出。必要时还可引入第三个进程完成其他的逻辑功能。信号输出方式 moore 同步输出状态机;

6、 输出为当前状态的函数; 在输入变化后,必须等待时钟的到来,时钟使状态发生变化时才导致输出变化。 Mealy 异步输出状态机; 输出为当前状态和所有输入信号的函数; 输出在输入变化后立即发生,不依赖时钟的同步。 Mooore状态机 Moore状态机的输出只与有限状态自动机的当前状态有关,与输入信号的当前值无关。 Moore有限状态机在时钟脉冲的有效边沿后的有限时延后,输出达到稳定值。 即使在一个时钟周期内输入信号发生变化,输出也会在一个完整的时钟周期内保持稳定值而不变。 输入对输出的影响要到下一个时钟周期才能反映出来。 Moore有限状态机最重要的特点就是将输入与输出信号隔离开来。mealy状

7、态机 Mealy有限状态机的输出不单与当前状态有关,而且与输入信号的当前值有关。 输入信号可能在一个时钟周期内任意时刻变化,这使得Mealy有限状态机对输入的响应发生在当前时钟周期,比Moore有限状态机对输入信号的响应要早一个周期。 因此,输入信号的噪声可能影响输出信号。(1) architecture beh2 of mux2 is begin with sel_0 select q= a after 10ns when 0; b after 10ns when others;end beh2;1、不可以综合,因为after 10ns这个语句只能用于仿真,不能进行综合(2) process

8、(a ,b) c1= not a; c2=a and b;end process; 2、可以综合(3) process (clk) beginif (clkevent and clk= 1) then = d;else= a;end if; 3、不可以综合,if (clkevent and clk= 1) then描述不能有else项例2:设计一异步复位、60进制计数器 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity cnt60 isport(clk,rst : in std_log

9、ic; m60 : out std_logic_vector(5 downto 0);end cnt60;architecture cnt60 of cnt60 issignal cnt60:std_logic_vector(5 downto 0);beginprocess(clk,rst) beginif rst=1 then cnt600);elsif clkevent and clk= then if cnt60=59 then cnt60 else= cnt60+1; end if;m60=cnt60;library IEEE;use IEEE.STD_LOGIC_1164.all;e

10、ntity chk isport(din : in STD_LOGIC;clk,clr :d : in STD_LOGIC_VECTOR(7 downto 0);check_out : out STD_LOGIC);end chk;architecture chk of chk issignal q: integer range 0 to 8;process(clk,clr) if clr= then qif din=d(7) then q=1; else qif din=d(6) then qif din=d(5) then q if din=d(4) then q if din=d(3)

11、then q if din=d(2) then q if din=d(1) then q if din=d(0) then qqend case;process(q) if q=8 then check_out=; else check_out end process; 为一个序列检测电路,当检测到输入din为预设值d时,check_out输出为1,否则为0。1. library ieee;2. use ieee.std_logic_1164.all;3. entity terminal_count is 4. port(clock,reset,enable in bit;5. data: i

12、n std_logic_vector(7 down to 0);6. equals, term_cnt out std_logic;7. end terminal_count;8. architecture bhe of terminal_count is 9. begin 10. process 11. signal count: std_logic_vector(7 down to 0);12. begin 13. if data=count then 14. equals=15. end if;16end.process; 17. process(clk) 18. begin 19. i

13、f reset=20. count=111111111;21. elseif clockevent and clock=22. count=count + 1;23. end if 24. end process;25. term_cnt= count when enable =1 else z26. end terminal_countentity terminal_count is port(clock,reset,enable :in bit; data: in std_logic_vector(7 downto 0); equals, term_cnt : inout std_logi

14、c_vector(7 downto 0); end terminal_count;architecture bhe of terminal_count is signal count: std_logic_vector(7 downto 0);process(data) begin if data=count then equals=“11111111”; process(clock) if reset= count=11111111 elsif clock term_cnt =count when enable=1 else ZZZZZZZZ“; end bhe;正确程序例5:分析下面程序,

15、画出x,y,dout功能仿真波形,并说出该程序的功能。entity xdou is clk : dout : out STD_LOGIC );end xdou;architecture bhe of xdou issignal x,y:std_logic;process(clk)if clk x=din; y=x; dout=x and y;end bhe;1、试编写“01111110”序列发生器的VHDL语言程序。use IEEE.STD_LOGIC_unsigned.all;entity rplcont is port( clk,rst : zo :end rplcont;architec

16、ture bhv of rplcont isstd_logic_vector(2 downto 0);signal z: if rst= then count000 if count=7 then count else countz end case;process(rst,clk) then zo zo=z;end bhv;2、编写8位二进制数求补电路的VHDL程序。设电路的输入为A7:0、输出为B7:0,其中A、B的最高位为符号位。entity neg8 is port( A: in STD_LOGIC_VECTOR(7 DOWNTO 0); B: out STD_LOGIC_VECTOR

17、(7 DOWNTO 0);end neg8;architecture one of neg8 issignal BB:std_logic_vector(7 downto 0); 求补码:需要判断符号位正数的补码=原码,负数的补码=原码按位取反加1。process(A) BB= NOT A; BB7:0时,输出GT=1,当A7:0b then lt gt eq elsif a else lt4、编写带复位和预置控制的10进制加法计数器的VHDL源程序。预置数据输入端为D3:0,计数输出端为Q3:0,时钟输入为CLK,复位输入为CLR,当CLR=0时,Q3:0=0000。LDN是预置控制输入端,L

18、DN=0时,Q3:0=D3:0,ENA是使能控制输入端,ENA=1时,计数器计数,ENA=0时,计数器保持不变。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT (CLK,CLR,ENA,LDN : IN STD_LOGIC; D :IN STD_LOGIC_VECTOR(3 DOWNTO 0); Q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC );END CNT10;ARCHITECTUR

19、E beh OF CNT10 ISSIGNAL CQI: STD_LOGIC_VECTOR(3 DOWNTO 0):= “0000”;BEGINPROCESS(CLK, CLR, ENA,LDN) BEGINIF CLR = 0 THEN CQI = “0000” ELSIF CLKEVENT AND CLK= THEN IF LDN = 0 THEN CQI=D; ELSE IF ENA=1 THEN IF CQI 9 THEN CQI= CQI + 1; ELSE CQI =“0000; END IF;END IF;Q=CQI;END PROCESS;COUT=CQI(0) AND CQI(3);END bhv;第7章作业1、设计一个111序列检测器电路,其功能是连续输入三个或三个以上的1时,电路输出为1,其余情况下输出为0。要求:画出其状态转移图,并编写VHDL程序实现上述功能。st0:初始状态,电路还未收到一个有效1。st1:收到一个1后的状态St2:连续收到两个1后的状态。 st3:连续收到三个1个后的状态。entit

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1