第3章 Verilog设计入门试卷.pptVIP

  • 3
  • 0
  • 约2.05千字
  • 约 70页
  • 2017-06-11 发布于湖北
  • 举报
第3章 Verilog设计入门 ;主要内容;Verilog概述;Verilog的历史;Verilog与VHDL;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;module(模块);模块端口(module ports);赋值语句 条件操作符 关键字 ;关键字;Verilog HDL关键字;Verilog HDL关键字(续);标识符;合法和非法标识符 ;空格和注释;规范的书写格式;文件取名和存盘;总 结;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;主要的数据类型;主要的数据类型---Net型变量定义;wire型变量;主要的数据类型---reg型变量定义;reg型变量 定义——在过程块中被赋值的信号,往往代表触发器,但不一定就是触发器(也可以是组合逻辑信号)!;用于行为建模 两种语句: initial 只能执行一次 always 循环执行 一个模块内可包含任意多个initial 和always语句,它们相互并行执行,即,它们的执行顺序与其在模块中的顺序无关;过程语句结构——always语句;电平敏感事件控制 例:always@(A or B) 边沿触发事件控制 例:always@(negedge Clock);块语句 begin_end;在顺序块中,语句一条接一条地计算执行。 在并行块中,所有语句在各自的延迟之后立即计算执行。;条件语句-case语句;条件语句-case语句;数字表达;数字表达;数据表达;3.1 组合电路的Verilog描述 ;按位逻辑操作符;;等式运算符--双目运算符;赋值语句;赋值语句;二、非阻塞赋值与阻塞赋值的区别 1. 非阻塞赋值方式 always @(posedge clk) begin b = a ; c = b; end;2. 阻塞赋值方式 always @(posedge clk) begin b = a ; c = b; end; 非阻塞(non-blocking)赋值方式 ( b= a): b的值被赋成新值a的操作, 并不是立刻完成的,而是在块结束时才完成; 块内的多条赋值语句在块结束时同时赋值; 硬件有对应的电路。 阻塞(blocking)赋值方式 ( b = a): b的值立刻被赋成新值a; 完成该赋值语句后才能执行下一句的操作; 硬件没有对应的电路,因而综合结果未知。;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;顶层模块和例化语句;门元件例化——程序通过调用一个在Verilog语言库中现存的???例门元件来实现某逻辑门功能。;module trist1(out,in,enable); output out; input in, enable; mytri tri_inst(out,in,enable); endmodule module mytri(out,in,enable); output out; input in, enable; assign out = enable? in:’bz; / * 如果enable为1,则out = in,否则为高阻态 * / endmodule;3.1 组合电路的Verilog描述 ;3.1 组合电路的Verilog描述 ;可综合建模类型只有两种: 组合逻辑: 任何时候,如果输出信号直接由当前的输入信号的组合决定,则此逻辑为组合逻辑。 时序逻辑: 如果逻辑中具有记忆功能,则此逻辑为时序逻辑。在任何给定的时刻,如果输出不能完全由输入信号确定,则此逻辑具有记忆功能。;3.2 时序模块及其Verilog表述 ;3.2 时序模块及其Verilog表述 ;边沿敏感时序;3.2 时序模块及其Verilog表述 ; 复位控制信号是可综合风格有限状态机代码的重要组成部分,通常在有限状态机建模中有复位控制信号。;3.2 时序模块及其Verilog表述 ;3.2 时序模块及其Verilog表述 ;3.2 时序模块及其Verilog表述 ;3.3 二进制计数器及其Verilog设计 ;3.3 二进制计数器及其Verilog设计 ;3.3 二进制计数器及其Verilog设计 ;3.3 二进制计数器及其

文档评论(0)

1亿VIP精品文档

相关文档