fpga第五讲.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
fpga第五讲

第五讲: 并行语句 并行语句(Concurrent) 所有并行语句在结构体中都是同时执行,即执行顺序与语句书写的顺序无关。这种并行性是由硬件本身的并行性决定的。 VHDL有几种主要并行语句: 进程语句(PROCESS)。 块语句(BLOCK)。 并行信号赋值语句 (=、WHEN-ELSE、WITH-SELECT-WHEN)。 生成语句(GENERATE)。 并行过程调用语句(PROCEDURE、FUNCTION)。 元件例化语句(PORT MAP)。 2.3.1进程语句(PROCESS) 进程语句的语法描述: 并行信号赋值语句 并行信号赋值语句 例:4选1数据选择器 小结 采用条件信号赋值语句,可以直接对真值表描述,着就是结构体的寄存器描述方式(数据流描述方式)。它在使用上更贴近硬件电路,但是不如直接用表达式描述简单。 所以,使用条件信号赋值语句,要求编程者有相当的硬件 电路的知识。 (3)选择信号赋值语句 四选一数据选择器 architecture Behavioral of mux4 is signal sel : integer; begin with sel select q = d0 when 0, d1 when 1, d2 when 2 , d3 when 3, ‘Z when others; sel = 0 when a=0 and b=0 else 1 when a=1 and b=0 else 2 when a=0 and b=1 else 3 when a=1 and b=1 else 4; end Behavioral; 标号:BLOCK 块头 说明语句; BEGIN 并发处理语句; END BLOCK 标号名; 块头:主要用于信号的映射及参数的定义,通常通过generic语句实现。 说明语句:与构造体说明语句相同,主要是对该块所要到的客体(常数说明,信号说明,元件说明)加以说明。 二选一 architecture bf of cmux21 is signal temp1,temp2,temp3 : std_logic; begin cblock: block begin temp1= data1 and sel; temp2= data2 and ( not sel); temp3= temp1 or temp2; q= temp3; end block cblock; End architecture bf; 程序利用BLOCK语句吧2选1的程序封装在一个块中,该块可以和其他块一起并发执行,而块内语句也是并发执行。 注意: 一个实体可以含有多个构造体,而一个构造体中 可以含有多个块,一个块结构中可以含有多个进 程,如此嵌套、循环从而构成了一个复杂的电子系 统。 块结构就相当于电路设计中的子电路图,而构造 体就相当于整个电路图,这样的层次设计,可以使 得整个电路结构清晰,模块化程度高。 作业: 利用所学的并行语句,编写一个七段显示译码器程序,并建立工程,通过仿真,给出波形仿真图,最好能下载到试验箱通过验证。 硬件描述语言与数字系统设计  一个结构体可以包括多个进程语句;  各个进程是并发执行的;  进程结构中必须包含一个敏感信号表或包含一个WAIT语句;  进程内部的所有语句却都是顺序执行的。  多进程间的通信依靠信号 (SIGNAL)来传递。 [标号:] PROCESS(敏感信号表)      [声明区];--此处声明局部变量、数据类型等。     BEGIN   --进程开始      [顺序语句];     END PROCESS [标号]; --进程结束。 敏感信号表中,只有当其中的某个信号发生变化时,该进程才被激活(执行);切勿将变量列入敏感表。 WAIT语句在进程中的作用同敏感表相似。 例: 计数器 PROCESS(clk,nreset) --进程(敏感表) BEGIN IF (nreset:=0) THEN --顺序语句,异步清零 qcnt=0000; ELSIF (clkevent AND clk=1) THEN

文档评论(0)

asd522513656 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档