VHDL语言对复杂电路行为的描述方法(新版).ppt

上传人:tia****nde 文档编号:12707479 上传时间:2020-05-14 格式:PPT 页数:38 大小:869KB
返回 下载 相关 举报
VHDL语言对复杂电路行为的描述方法(新版).ppt_第1页
第1页 / 共38页
VHDL语言对复杂电路行为的描述方法(新版).ppt_第2页
第2页 / 共38页
VHDL语言对复杂电路行为的描述方法(新版).ppt_第3页
第3页 / 共38页
点击查看更多>>
资源描述
,第六讲VHDL语言对复杂电路行为的描述方法,提纲,提高抽象层次对事件模型的扩展进程(Process)语句并行进程进程+并行信号赋值语句循环语句进程的执行机制Wait语句VHDL的对象属性前述描述方法的综合运用:描述一个状态机总结,提高抽象层次,并行信号赋值语句可以方便地描述数字系统门级行为更高层的电路部件有着更复杂的行为输入/输出行为已经难以用并行信号赋值语句来描述描述中需要引入状态信息需要引入复杂数据结构我们需要引入功能更强的描述结构,对事件模型的扩展,组合逻辑电路的输入/输出特点输入信号上的事件引起逻辑电路进行重新计算重新计算的结果是在输出信号上有新的事件产生计算输出信号上的事件所对应的值和时间是一个复杂的过程,进程(Process)语句,进程(Process)语句,进程中的语句是顺序执行的进程体的结构是和常规的C语言的函数非常相似对变量作声明和引用采用if-then,if-then-else,case,for和while语句进程中可以包含信号赋值语句进程和其他并行信号赋值语句的关系是并行执行一个进程在仿真中的执行时间是0秒,进程的执行将产生未来的事件我们可以将一个进程等价地看作为一个复杂的信号赋值语句,并行进程:一个全加器的例子,全加器中的每一个部件都可以用一个进程来描述进程之间是并行执行的在这个意义上这些进程的行为和并行信号赋值语句是非常相似的进程之间通过信号来通讯,并行进程:一个全加器的例子,并行进程:半加器,进程+并行信号赋值语句:存储器读写举例,进程+并行信号赋值语句:存储器读写举例(写操作),进程+并行信号赋值语句:存储器读写举例(写操作),进程+并行信号赋值语句:存储器读写举例,一个进程可以看作是一个单独的并行信号赋值语句进程的外部行为和一个并行信号赋值语句是完全相同的进程描述了更加复杂的事件产生和处理的操作在仿真时进程和其他并行赋值语句是并行执行的。,循环语句,循环语句,对for循环语句,循环次数控制是直接在语句中定义的for循环语句的循环次数控制仅局限在for语句中有效在for语句之外是无效的对while循环语句,退出循环的条件是由布尔表达式来决定的,进程的执行机制,所有的进程在仿真的起始时刻都被执行一次因此进程端口表中的信号值和信号上的事件决定来进程初始化的结果我们可以将进程看作是具有外部接口和内部功能的逻辑部件在进程中可以定义变量,要注意变量和信号之间的不同,进程的执行机制,进程的执行机制,进程的执行机制,变量和信号的区别数值计算vs.时间-数值对的计算信号所对应的事件排序和delta延迟机制!变量和信号在进程中的运用信号与硬件电路中的连线相对应变量用于标识进程中运算的中间值实体(Entity)中定义的信号在进程中是可见的在进程中可以包含变量赋值和信号赋值语句,进程的执行机制,Wait语句,Wait语句:波形的生成,Wait语句:波形的生成,注意到上面的语句利用了进程“永久”执行的原理,Wait语句:异步输入,Wait语句,在一个进程中可以包含多个wait语句一个进程中不可以同时包含wait语句和敏感表Wait语句以显式的方式来控制进程操作的暂停和恢复执行该语句可以用来表示数字系统中的同步和异步事件,VHDL的对象属性(Attribute),可以通过下述表达式来获得VHDL对象的属性:objectattribute例如:一个信号所包含的属性该信号的哪些信息是有用的?某一事件的发生最近发生的事件到当前时刻的时间间隔在最近事件之前的信号值,属性的分类,数值属性返回一个常数函数属性调用一个函数,该函数返回一个数值信号属性产生一个新的信号类型属性返回一个VHDL类型的属性范围属性返回一个范围值,数值属性,返回一个常数,例如typestatetypeis(state0,state1,state2state3);statetypeleft=state0statetyperight=state3,函数属性,对属性的使用引起了一个函数调用,该函数有一个返回值if(ClkeventandClk=1)信号属性所对应的函数调用,函数属性,队列(array)属性函数,范围属性,返回一个队列的索引范围该属性使loop循环的编写变得容易,信号属性,利用信号属性得引用可以产生一个新的信号,信号属性,前述描述方法的综合运用:描述一个状态机,状态机的基本组成组合逻辑部分:输出计算和下一状态的计算时序逻辑部分:状态存储基于进程的描述方法,前述描述方法的综合运用:描述一个状态机,前述描述方法的综合运用:描述一个状态机,输出与下一状态的计算comb_process:process(state,x)iswhenstate1=Beginifx=1thencasestateisnext_statez=0;ifx=0thenelsenext_state=state1;next_state=state1;z=1;z=1;endif;elsenext_state=state0;endcase;z=0;endprocesscomb_process;endif;,前述描述方法的综合运用:描述一个状态机,Clock进程采用一个异步复位来将状态机初始化到一个已知的状态clk_process:processisbeginwaituntil(clkeventandclk=1);-waituntiltherisingedgeifreset=1then-checkforresetandinitializestatestate=statetypeleft;elsestate=next_state;endif;endprocessclk_process;endbehavioral;,总结,进程(Process)变量与顺序语句if-then,if-then-else,case,while,for进程间的并行执行敏感表Wait语句waituntil,waitfor,waiton属性状态机的描述,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!