




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硬件描述语言与数字系统开发 第6章VHDL的并行语句 VHDL的信号赋值语句VHDL的进程 Process 语句VHDL的元件例化 Component 语句VHDL的块 Block 语句 VHDL的常用语句 VHDL分并行 Concurrent 语句和顺序 Sequential 语句两大类并行语句 Concurrent 并行语句之间值的更新是同时进行的 与语句所在的位置和顺序无关 并行语句总是处于进程 PROCESS 的外部 所有并行语句都是并行执行的 即与它们出现的先后次序无关 如when else语句顺序语句 Sequential 顺序语句总是处于进程 PROCESS 的内部 并且从仿真的角度来看是顺序执行的 如if then else语句 第6章VHDL的并行语句 并行语句1 构造体 并行语句2 并行语句3 signal signal 构造体组织结构 常用并行语句包括 信号赋值语句简单信号 条件信号 选择信号赋值语句进程 Process 语句元件例化 Component 语句块 Block 语句 信号赋值语句 信号赋值语句是VHDL最基本的描述形式并行信号赋值语句包括 简单信号赋值语句 SimpleSignalAssignments 条件信号赋值语句 ConditionalSignalAssignments 选择信号赋值语句 SelectedSignalAssignments 简单信号赋值语句 基本格式 目标信号 值或表达式举例 signala b c bit b 1 AFTER10ns a NOT b c axorb SimpleSignalAssignment ThesekindofstatementsareexecutedinParallel Entitytest1isport a b e inbit c d outbit endtest1 architecturetest1 bodyoftest1isbeginc aandb d e endtest1 body 条件信号赋值语句 基本格式 目标信号 表达式1WHEN条件1ELSE表达式2WHEN条件2ELSE 表达式n 举例 q cWHENselb 0 ELSEbWHENsela 0 ELSEa ConditionalSignalAssigments Theoutputgetthevaluewhentheconditionistruee g 2to1multiplexer Entitytest1isport in1 in2 sel inbit d outbit endtest1 architecturetest1 bodyoftest1isbegind in1whensel 0 elsein2 endtest1 body IfIwantmore 4to1Mux Onceagain youareduewithLanguagenotGraphic soitiseasy Entitytest1isport in1 in2 in3 in4 inbit sel1 sel2 inbit d outbit endtest1 architecturetest1 bodyoftest1isbegind in1whensel1 0 andsel2 0 elsein2whensel1 0 andsel2 1 elsein3whensel1 1 andsel2 0 elsein4 endtest1 body 选择信号赋值语句 基本格式WITH表达式SELECT目标信号 表达式1WHEN选择条件1 表达式2WHEN选择条件2 表达式nWHEN选择条件n 举例WITHselSELECTq aWHEN 00 bWHEN 01 cWHEN 10 dWHENOthers 注意 WITH SELECT WHEN语句必须指明所有互斥条件 即穷举 在上例中即 sel 的所有取值组合 假设 sel 的类型为 std logic vector 则取值组合除了00 01 10 11外还有0X 0Z x1 等 虽然这些取值组合在实际电路中不一定出现 但也应列出 因此在选择信号赋值语句中为避免麻烦可以用 others 代替其他各种组合情况 选择信号赋值语句 LIBRARYieee USEieee std logic 1164 all ENTITYcmpl sigISPORT a b sel INSTD LOGIC z OUTSTD LOGIC ENDcmpl sig ARCHITECTURElogicOFcmpl sigISBEGINWITHselSELECTz aWHEN 0 bWHEN 1 Z WHENOTHERS ENDlogic Std Logic数据类型的值包括 0 1 X Z SelectSignalAssignments Theoutputgetvaluewhenmatchingwiththeselecteditem Entitytest1isport a b inbit sel inbit c outbit endtest1 architecturetest1 bodyoftest1isbeginwithselselectc awhen 1 bwhen 0 endtest1 body IfIwantmorechoice Itiseasy Entitytest1isport in1 in2 in3 in4 inbit sel ininteger out1 outbit endtest1 architecturetest1 bodyoftest1isbeginwithselselectout1 in1when0 in2when1 in3when2 in4when3 Z whenothers endtest1 body 进程语句 VHDL中最重要的语句进程和进程语句之间是并行关系进程内部定义了一组连续执行的顺序语句基本格式 进程标号 PROCESS 信号敏感表 内部变量说明区 BEGIN 顺序语句段 ENDPROCESS 进程标号 基本语法 PROCESS sensitivitylist variabledeclarations BEGIN ENDPROCESS 关键字PROCESS后括号中的信号清单称为敏感表 它列举可激活进程语句的信号 唯有这些信号可激活进程 并引起进程语句的再次执行 关键字BEGIN把进程语句分为进程说明和进程语句两部分 进程说明在敏感表和BEGIN之间 对局部变量或进程内部参数进行说明 进程内不能说明信号 只能说明变量 进程语句部分在BEGIN和ENDPROCESS之间 进程内的所有语句都是按顺序一个接一个执行的 Examplewillbemoreclear Entitytest1isport a b sel1 sel2 inbit result outbit endtest1 architecturetest1 bodyoftest1isbeginprocess sel1 sel2 a b beginif sel1 1 thenresult a elsif sel2 1 thenresult b elseresult 0 endif endprocess endtest1 body Wait IcandothesamejoinwithConcurrentStatement IcandothesamejobwithConcurrentStatement LIBRARYieee USEieee std logic 1164 all ENTITYif caseISPORT a b c d INStd Logic sel INStd Logic Vector 1downto0 y z OUTStd Logic ENDif case ARCHITECTURElogicOFif caseISBEGINif label PROCESS a b c d sel BEGINIFsel 00 THENy a ELSIFsel 01 THENy b ELSIFsel 10 THENy c ELSEy d ENDIF ENDPROCESSif label case label PROCESS a b c d sel BEGINCASEselISWHEN 00 zzzzz 0 ENDCASE ENDPROCESScase label ENDlogic 进程语句举例1 进程语句举例2 PROCESS CLK BEGINIFCLK 1 THENQ D 利用进程的启动特性产生对CLK的边沿检测ENDIF ENDPROCESS 进程语句举例2 PROCESS CLK D BEGINIFCLK 1 电平触发型寄存器THENQ D ENDIF ENDPROCESS 进程语句举例3 libraryieee useieee std logic 1164 all useieee std logic arith all ENTITYcnt24ISPORT clr en clk instd logic qh ql outstd logic vector 3downto0 co outstd logic ENDcnt24 ARCHITECTUREBEHAVEOFcnt24ISBEGINprocess clk variableqh v ql v integer beginifclk eventandclk 1 thenifclr 0 thenqh v 0 ql v 0 co 0 elsifen 1 thenifql v 3andqh v 2thenco 1 qh v 0 ql v 0 elsifql v 9thenqh v qh v 1 ql v 0 elseql v ql v 1 co 0 endif endif endif qh conv std logic vector qh v 4 ql conv std logic vector ql v 4 endprocess endbehave 仿真结果 多个进程语句 PROCESS1 PROCESSn signal signal ARCHITECTURE Entitytest1isPort clk d1 d2 inbit q1 q2 outbit endtest1 architecturetest1 bodyoftest1isbeginProcess clk d1 beginif clk eventandclk 1 thenq1 d1 endif endprocess Process clk d2 beginif clk eventandclk 1 thenq2 d2 endif endprocess endtest1 body Entitytest1isPort clk d1 d2 inbit q1 q2 outbit endtest1 architecturetest1 bodyoftest1isbeginP1 Process clk d2 beginif clk eventandclk 1 thenq2 d2 endif endprocessp1 P2 Process clk d1 beginif clk eventandclk 1 thenq1 d1 endif endprocessp2 endtest1 body TwoProcesses 仿真结果 Thetwoprocessstatementexecuteinparallel Input1 Inputn Output1 Outputn 底层元件 底层元件 元件作为底层单元 通过元件声明 可在更高层次模块设计中被调用 元件声明可放在程序包中 也可在某个模块设计的结构体中声明 元件例化指的就是元件的调用 元件及元件例化 元件例化 元件例化由元件描述和元件配置两部分构成 元件描述 用于低层元件端口描述 放在构造体声明区COMPONENTPORT ENDCOMPONENT 元件配置 用于端口映射 将低层元件配置到设计实体中 PORTMAP 元件例化时的端口映射有两种方式 一是位置关联法 即映射时 本层端口或信号的位置应与在元件声明中所说明的低层元件的端口位置一致 二是名称关联法 即映射时 本层端口或信号的名称与在元件声明中所说明的低层元件的端口名称有一一对应关系 其格式为 PORTMAP 这种方法与位置无关 可随意书写 例化语句举例1 libraryieee useieee std logic 1164 all entityND2isport A B instd logic C outstd logic endND2 architectureARTND2ofND2isbeginC AnandB endARTND2 libraryieee useieee std logic 1164 all entityORD41isport A1 B1 C1 D1 instd logic Z1 outstd logic endORD41 architectureARTORD41ofORD41iscomponentND2port a b instd logic c OUTstd logic endcomponent signalS1 S2 std logic beginu1 ND2portmap A1 B1 S1 u2 ND2portmap A C1 C S2 B D1 u3 ND2portmap S1 S2 C Z1 endARTORD41 S1 S2 例化语句举例2 libraryieee USEieee std logic 1164 all ENTITYjcq 4ISPORT din clk INstd logic q OUTstd logic vector 1to4 ENDjcq 4 ARCHITECTUREbehaveOFjcq 4ISsignalq1 s q2 s q3 s q4 s std logic COMPONENTdttPORT d clk INstd logic q OUTstd logic ENDCOMPONENT BeginU1 dttPORTMAP din clk q1 s U2 dttPORTMAP q1 s clk q2 s U3 dttPORTMAP q2 s clk q3 s U4 dttPORTMAP q3 s clk q4 s q 1 q1 s q 2 q2 s q 3 q3 s q 4 q4 s ENDbehave q1 s q2 s q3 s q4 s 仿真结果 q1 s q2 s q3 s q4 s 例化语句举例3 libraryieee USEieee std logic 1164 all USEieee std logic arith all USEieee std logic unsigned all E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年逻辑性测试题及答案
- 年产20万台套旋翼式无人机及1万台套固定翼无人机项目可行性研究报告模板-立项申报用
- 2025江苏宿迁沭阳县司法局招聘人民调解员1人笔试备考试题及答案解析
- 教师招聘之《幼儿教师招聘》考试押题密卷含答案详解ab卷
- 2025年教师招聘之《幼儿教师招聘》考前冲刺测试卷包含答案详解(预热题)
- 押题宝典教师招聘之《幼儿教师招聘》题库附参考答案详解(b卷)
- 公共基础知识三支一扶考试试题与参考答案2025年
- 教师招聘之《小学教师招聘》强化训练题型汇编附完整答案详解(全优)
- 医疗领域反腐败专项整治个人自查自纠报告(范文)
- 教师招聘之《幼儿教师招聘》考试历年机考真题集及答案详解【历年真题】
- 村卫生室标准化建设课件
- 理发店安全知识培训课件
- 2025年初中美术学业水平检测试题(含答案)
- 2024重庆护士三基考试真题卷(附答案)
- 2025-2026学年人教鄂教版(2017)小学科学四年级上册教学计划及进度表
- 《汽车电工与电子技术基础》课件(共七章节)
- 中医家族传承政策解读
- 体育办公室管理制度
- 古村落传统建筑保护与改造的探索
- 2025年乡村振兴考试题及答案
- 燃气智慧燃气行业数字化转型
评论
0/150
提交评论