- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 组合电路的VHDL设计 3.1 多路选择器及其VHDL描述 2选1多路选择器: a,b:数据通道输入端口; s:通道选择控制信号; y:数据输出端口。 当a,b两个输入口分别输入不同频率信号时,针对选通控制端s上所加的不同电平,输出端y将有对应的信号输出。 电路模型或元件图 逻辑电路图 时序波形图 3.1 多路选择器及其VHDL描述 3.1 多路选择器及其VHDL描述 1. 条件语句 2. 数据类型 bit boolean …. 3. 进程语句和顺序语句 process(a,b,s)称为进程的敏感信号表 , 通常要求将进程中所有的输入信号都放在敏感信号中,敏感信号跳变则触发进程。 结构中的多个进程语句是并行语句,同一进程中的语句属于顺序语句。 4. 端口语句和端口信号名 描述电路的端口及其端口信号必须用端口语句proy();来实现。 3.1 多路选择器及其VHDL描述 5. 端口模式 INOUT(双向端口):RAM、单片机I/0 BUFFER(缓冲端口):与INOUT类似, 但输入受到限制,仅允许内部回读输出的信号。 6.关键字 系统定义的具有特殊含义的字符,如:Entity end if else …. 7.标识符 用户自定义的字符,如:mux21a a b s y…. -- : 注释符号 注意:VHDL对大小写不敏感。 3.2 半加器及其VHDL描述 半加器: a,b:加数与被加数; so:本位和; co:向高位产生的进位; 3.2 半加器及其VHDL描述 3.2 半加器及其VHDL描述 实体表达与实体名 e_name:实体名 p_name: 端口名 port_m:端口模式 data_type:端口的数据类型 3.2 半加器及其VHDL描述 2. 结构体表达 arch_name:结构体名 3.2 半加器及其VHDL描述 3. 标准逻辑位数据类型STD_LOGIC U:未初始化的 Z: 高阻态 --忽略态 0:强逻辑0 1:强逻辑1 L: 弱逻辑0 H:弱逻辑1(输出端加负载) W:弱未知 X:强未知 3.2 半加器及其VHDL描述 4. 赋值符号和逻辑操作符 co=a and b 3.2 半加器及其VHDL描述 5. 设计库和标准程序包 默认打开,如定义bit数据类型,则可省略,如前例。 如需定义std_logic数据类型或其它特殊功能应用,则必须显式打开。 3.2 半加器及其VHDL描述 6.文件取名和存盘 程序的存盘名与模块名称及程序文件名必须保持一致。 7.规范的程序书写格式 与C类似,注意结构的层次化。 8. Process()进程语句的使用 Process()是进程语句,在使用if,case语句时,需要用到。 课堂:将本位和SO展开改写。
文档评论(0)