网站大量收购闲置独家精品文档,联系QQ:2885784924

第三章_verilog设计入门01.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IF YOU’RE … 如果你是一名电子类及相关专业的学生,掌握可编程逻辑系统Verilog设计技术,你的身价倍增,成为用人单位的抢手人才。 如果你是一名硬件设计工程师,掌握可编程逻辑系统Verilog设计技术,你会远离传统的硬件设计方法,告别画繁杂的电原理图、选众多元器件之苦,从繁杂的设计调试中解放出来,使你设计的产品以最快速度上市,用Verilog来提高你的工作效力。 如果你是一名软件设计师,掌握可编程逻辑系统Verilog设计技术,你可以利用Verilog语言来描述数字系统的硬件构成及其行为,硬件设计不再是硬件工程师的专利。 3.1 组合电路的Verilog描述 1.模块表达 一般格式 2.端口语句,端口信号名和端口模式 端口定义关键词: input,output,inout 文件名必须和程序的模块名一致 后缀为.v(VHDL文本文件的后缀为.vhd) 综合后的电路 2选1多路选择器仿真波形 多路器设计方案之二: 多路器设计方案之三: ? 徐州师范大学物理与电子工程学院 陈斯 chensism@126.com 电子设计自动化 徐州师范大学 物理系 陈斯 chensism@126.comEDA技术实用教程 第3章 SO MUCH IC! FPGA CPLD Verilog…^#*… 【例3-1】 module MUX21a(a,b,s,y); input a,b,s; output y; assign y=(s?a:b);//s为1时,y=a; s为0时,y=b. endmodule 一个最简单的例子 2选1多路选择器的Verilog描述 模块的内容都是嵌在module和endmodule两个语句之间 端口定义,并说明输入输出口 除了endmodule语句外,每个语句和数据定义的最后必须有分号 用/*.....*/和//.......对Verilog HDL程序作注释 模块名 可以用counter4b, adder8b。不用数字或中文名,也不用元件名称如or2,and2等。也不能用以数字开头的实体名! 有效字符: 26个大小写英文字母 数字0-9 $, _ 任何标识符(用户自定义的)必须以英文字母或下划线开头; 必须是单一下划线“_”,且其前后必须英文字母或数字; 标识符中的英文字母区分大小写; 允许包含图形符号(回车符、换行符等)。   Decoder_1 FFT 2FFT Sig_N Sig_#N Not-Ack Not_Ack State0 _Decoder_ Data_ _BUS REG reg ADDER* √ √ × √ × × √ √ √ × √ × × 一般格式 信号矢量最高位 信号矢量最低位 output [3:0] C,D; 3.赋值语句和条件操作符 assign y=a; //将信号a向y赋值 assign y=a b; //a和b相与后向y赋值 连续赋值语句 条件操作符 条件表达式 ? 表达式1 : 表达式2 当条件表达式的计算值为真时(1),选择并计算表达式1的值,否则选择并计算表达式2的值 assign equal=(a==b)?1:0; /*如果a、b 两个输入信号相等,输出为1。否则为否则为 0*/ assign y=(s?a:b);//s为1时,y=a; s为0时,y=b. 4.关键字 5.文件取名和存盘 图3-3 mux21a功能时序波形 module mux2( out, a, b, sel); output out; input a, b, sel; reg out; //用电平触发的always块来设计多路器的组合逻辑 always @( a or b or sel ) begin /*检查输入信号sel的值,如为1, 输出out为a,如为0,输出out为b.*/ case( sel ) 1b1: out = a; 1b0: out = b; default: out = ‘bx; //可以不要这一句 endcase end endmodule 1.寄存器数据类型reg always语句中的数据必须是reg类型,寄存器类型数据在被赋新值前保持原有值不变。 2.always语句 always@(敏感信号) 以begin引导,以end结束,内部为顺序语句 3.case语句 每一个case分项的分支表达式的值必须互不相同,否则就会出现矛盾现象(对表达式的同一个值,有多种执行方案) 一般要求加上default语句,除非所有的取值都取到。使用default语句是为了使条件语句中所有的选择值都能涵盖表

您可能关注的文档

文档评论(0)

书屋 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档