EDA 第6章基本数字逻辑单元HDL描述
- 格式:pptx
- 大小:387.23 KB
- 文档页数:37
基本数字逻辑单元HDL描述基本数字逻辑单元HDL 描述--时序逻辑电路HDL 描述时序逻辑电路的输出状态不仅与输入变量的状态有关,而且还与系统原先的状态有关。
⏹时序电路最重要的特点是存在着记忆单元部分;⏹时序电路主要包括:⏹触发器和锁存器⏹计数器⏹移位寄存器⏹脉冲宽度调制等。
时序逻辑电路HDL 描述--D 触发器HDL 描述D触发器是数字电路中应用最多的一种时序电路。
输入输出CLRPRE CE D C Q 1X X X X 001X X X 1000X X 无变化0010↑00011↑1D 触发器真值表D 触发器HDL 描述--带时钟使能和异步置位的D 触发器描述module v_registers_5 (C, D, CE, PRE, Q);input C, CE, PRE;input [3:0] D;output reg [3:0] Q;always @(posedge C or posedge PRE)beginif (PRE) Q <= 4'b1111;elseif (CE) Q <= D;endendmodule该设计保存在本书配套资源\eda_verilog\example6_15目录下时序逻辑电路HDL描述--Jk触发器HDL描述JK触发器真值表输入输出R S CE J K C Q1X X X X↑001X X X↑1000X X X无变化00100X无变化00101↑000111↑翻转00110↑1Jk 触发器HDL 描述--带时钟使能和异步置位/复位的JK 触发器module JK_FF(CLK,J,K,Q,RS,SET);input CLK,J,K,SET,RS;output Q;reg Q;always @(posedge CLK or negedge RS or negedge SET)beginif(!RS) Q <= 1'b0;else if(!SET) Q <= 1'b1;else下一页继续Jk 触发器HDL 描述--带时钟使能和异步置位/复位的JK 触发器case({J,K})2'b00 : Q <= Q;2'b01 : Q <= 1'b0;2'b10 : Q <= 1'b1;2'b11 : Q <= ~Q;default: Q<= 1'bx;endcase endendmodule该设计保存在本书配套资源\eda_verilog\example6_16目录下时序逻辑电路HDL描述--RS触发器HDL描述RS触发器真值表输入输出R S C Q00↑无变化01↑110↑011↑无变化时序逻辑电路HDL 描述--RS 触发器HDL 描述的例子module rs_ff(input r,input s,input clk,output reg q,output reg qn );always @(*)beginqn <= ~q;end下一页继续时序逻辑电路HDL 描述--RS 触发器HDL 描述的例子always @(posedge clk)begincase({r,s})2'b00: q <= q;2'b01: q <= 1;2'b10: q <= 0;2'b11: q <= q;default: q<=1'bx;endcase endendmodule该设计保存在本书配套资源\eda_verilog\example6_17目录下时序逻辑电路HDL 描述--锁存器HDL 描述锁存器和触发器不同之处,就在于触发方式的不同☐触发器是靠敏感信号的边沿触发;☐锁存器是靠敏感信号的电平触发。
第1章EDA技术概述本章简要介绍EDA技术、EDA工具、FPGA结构原理及EDA的应用情况和发展趋势,其中重点介绍基于EDA的FPGA开发技术的概况。
考虑到本章中出现的一些基本概念和名词有可能涉及较多的基础知识和更深入的EDA基础理论,故对于本章的学习仅要求读者做一般性的了解,无须深入探讨。
因为待读者学习完本教程,并经历了本教材配置的必要实践后,对许多问题就会自然而然地弄明白了。
不过需要强调的是,本章的重要性并不能因此而被低估。
1.1 EDA技术现代电子设计技术的核心已日趋转向基于计算机的电子设计自动化技术,即EDA (Electronic Design Automation)技术。
EDA技术就是依赖功能强大的计算机,在EDA工具软件平台上,对以硬件描述语言(Hardware Description Language,HDL)为系统逻辑描述手段完成的设计文件。
它自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。
EDA技术使得设计者的主要工作仅限于利用软件的方式来完成对系统硬件功能的实现,这是电子设计技术的一个巨大进步。
EDA技术在硬件实现方面融合了大规模集成电路制造技术、IC版图设计、ASIC测试和封装以及FPGA/CPLD(Field Programmable Gate Array/Complex Programmable Logic Device)编程下载和自动测试等技术;在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)、计算机辅助工程(CAE)技术以及多种计算机语言的设计概念;而在现代电子学方面则容纳了更多的内容,如电子线路设计理论、数字信号处理技术、数字系统建模和优化技术等。
因此EDA技术为现代电子理论和设计的表达与实现提供了可能性。
正因为EDA技术丰富的内容及其与电子技术各学科领域的相关性,其发展的历程同大规模集成电路设计技术、计算机辅助工程、可编程逻辑器件,以及电子设计技术和工艺是同步的。
EDA知识要点:2.VHDL数据对象有:(1)常量(CONSTANT)(2)变量(VARIABLE)(3)信号(SIGNAL)3.VHDL语言中的逻辑操作符有: AND与、OR或、NOT非、NAND与非、NOR或非 XOR异或、XNOR同或七种4.目前较流行的集成EDA开发环境(软件)有:MAX+PULSⅡ和QUARTUS II5.什么是EDA技术?EDA 技术就是以计算机为工作平台、以EDA软件工具为开发环境、以硬件描述语言为设计语言、以ASIC(Application Specific Integrated Circuits)为实现载体的电子产品自动化设计的过程7.写出实体中的端口(PORT)语句结构并说明其作用。
由PORT引导的端口说明语句是对一个设计实体界面的说明,端口为设计实体和外部环境的动态通信提供通道。
格式为PORT(端口名:端口模式数据类型;。
端口名:端口模式数据类型;)8.简述EDA技术经历了那几个发展阶段。
1).CAD(计算机辅助设计)阶段2).CAE(计算机辅助工程)阶段3).ESDA(电子系统设计自动化)阶段9.写出元件例化语句语句格式,并说明其作用。
元件例化语句由两部分组成,前一部分是把一个现成的设计实体定义为一个元件,第二部分则是此元件与当前设计实体中的连接说明,它们的完整的语句格式如下:COMPONENT 元件名 IS --元件定义语句GENERIC (类属表);PORT(端口名表);END COMPONENT ;例化名:元件名 PORT MAP( --元件例化语句[端口名=>]连接端口名,...);11.结构体的语言格式与作用。
ARCHITECTURE 结构体名OF 实体名 IS(说明语句) 用来说明和定义数据对象类型等,可省略BEGIN(功能描述语句) 用来描述内部电路功能的,不可省略END ARCHITECTURE 结构体名;结构体用来描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。
基本数字逻辑单元HDL 描述LOGO数据运算操作主要包含加法操作、减法操作、乘法操作和除法操作,由这四种运算单元和逻辑运算单元一起,可以完成复杂数学运算。
HDL语言中提供了丰富的数据算术操作的运算符。
组合逻辑电路的HDL 描述--数据运算操作HDL 描述加法操作HDL 描述--带进位输入和输出无符号8位加法的例子module v_adders_2(A, B, CI, SUM);input [7:0] A;input [7:0] B;input CI;output [7:0] SUM;assign SUM = A + B + CI;endmodule减法操作HDL 描述--无符号带借位8位减法器的例子module v_adders_8(A, B, BI, RES);input [7:0] A;input [7:0] B;input BI;output [7:0] RES;assign RES = A -B -BI;endmodule乘法操作HDL 描述--8位与4位无符号数相乘的例子module v_multipliers_1(A, B, RES);input [7:0] A;input [3:0] B;output [11:0] RES;assign RES = A * B;endmodule除法操作HDL 描述--无符号8位除法运算的例子module div(input [7:0] numerator,input [7:0] denominator,output [7:0] quotient,output [7:0] remainder);assign quotient=numerator/denominator;assign remainder=numerator % denominator;endmodule数据运算操作HDL 描述--算术逻辑单元HDL 描述前面介绍了加法器和减法器电路的设计。
第3章硬件描述语言Verilog HDL EDA应用技术EDA应用技术3.1 引言3.1 引言内容概要3.1 引言 3.1 引言3.1 引言形式化地表示电路的行为和结构;3.2 Verilog HDL基本结构内容概要3.2 Verilog HDL基本结构 3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构 3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构[例3.2.5¾Verilog HDLendmodule声明语句中。
模块是可以进行层次嵌套的。
3.2 Verilog HDL基本结构 3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构 3.2 Verilog HDL基本结构Verilog3.2 Verilog HDL基本结构 3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构Verilog3.2 Verilog HDL基本结构3.2 Verilog HDL基本结构HDL语言描述的“东西”都通过其名字来识别,3.2 Verilog HDL基本结构六、编写Verilog3.2 Verilog HDL基本结构1语汇代码的编写标准3.2 Verilog HDL基本结构1语汇代码的编写标准(续)3.2 Verilog HDL基本结构2综合代码的编写标准3.2 Verilog HDL基本结构(6)描述组合逻辑的always块,一定不能有不完全赋值,即所有输出变2综合代码的编写标准(续1)3.2 Verilog HDL基本结构(10)避免生成不想要的触发器。
2综合代码的编写标准(续2)3.2 Verilog HDL基本结构2综合代码的编写标准(续3)3.2 Verilog HDL基本结构2综合代码的编写标准(续4)3.3 数据类型及常量、变量内容概要3.3 数据类型及常量、变量一、数据类型3.3 数据类型及常量、变量(1)3.3 数据类型及常量、变量8’b1001xxxx8’b1010zzzz3.3 数据类型及常量、变量(3)3.3 数据类型及常量、变量3.3 数据类型及常量、变量(4)parameter常量(符号常量)3.3 数据类型及常量、变量 3.3 数据类型及常量、变量:利用特殊符号“#”3.3 数据类型及常量、变量3.3 数据类型及常量、变量三、变量1. nets型变量定义——输出始终随输入的变化而变化的变量。
基本数字逻辑单元HDL描述任何复杂的数字系统可以用若干基本组合逻辑单元和时序逻辑单元组合来实现。
基本逻辑单元一般分为组合逻辑电路和时序逻辑电路两大类。
这两类基本逻辑电路构成和复杂数字系统设计的基石。
组合逻辑电路的HDL 描述组合逻辑电路的HDL 描述--内容组合逻辑电路是指输出状态只决定于同一时刻各个输入状态的组合,而与先前状态无关的逻辑电路称为组合逻辑电路。
组合逻辑电路主要包括:⏹基本逻辑门⏹编码器⏹译码器⏹数据选择器⏹数据比较器⏹总线缓冲器逻辑门的HDL 描述--基本门电路过程分配描述module g1(o,a,b,c,d);input a,b,c,d;output reg o;always @(a or b or c or d)begino=(~(a&b))|(b&c&d);endendmodule本设计保存在本书配套资源eda_verilog\example6_1目录下逻辑门的HDL 描述--基本门电路连续分配描述module g2(o,a,b,c,d);input a,b,c,d;output o;assign o=(~(a&b))|(b&c&d);endmodule逻辑门的HDL 描述--基本门电路门调用描述module g3(o,a,b,c,d);input a,b,c,d;output o;nand(o1,a,b);and(o2,b,c,d);or(o,o1,o2);endmodule组合逻辑电路的HDL 描述--编码器HDL 描述将某一信息用一组按一定规律排列的二进制代码描述称为编码。
典型的有8421码、BCD 码等。
在使用HDL 语言描述编码器时,通过使用CASE 和IF 语句实现对编码器的描述。
编码器HDL 描述--8/3优先编码器描述的例子module v_priority_encoder_1(sel,code);input [7:0] sel;output [2:0] code;reg [2:0] code;always @(sel)beginif (sel[0]) code = 3'b000;else if (sel[1]) code = 3'b001;else if (sel[2]) code = 3'b010;else if (sel[3]) code = 3'b011;else if (sel[4]) code = 3‘b100;else if (sel[5]) code = 3'b101;else if (sel[6]) code = 3'b110;else if (sel[7]) code = 3'b111;else code = 3'bxxx;endendmodule 本设计保存在本书配套资源eda_verilog\example6_2目录下思考与练习1:优先级的含义?思考与练习2:查看详细描述后的结果,分析(提示:长链路带来延迟,性能降低)组合逻辑电路的HDL 描述--编码器HDL 描述译码器设计译码的过程实际上就是编码过程的逆过程,即将一组按一定规律排列的二进制数还原为原始的信息。
HDL 考前小结一、名词解释(专业术语的对应关系):可编程阵列逻辑(PAL)、可编程逻辑器件(PLD)、大规模可编程逻辑器件两种:复杂可编程逻辑器件(CPLD)、现场可编辑门阵列(FPGA);电子设计自动化(EDA)、电子设计系统自动化(EsDA)、自底向上(Bottom-Up)、自顶向下(Top-Down)、专用集成电路(ASIC)、可配置逻辑模块(CLB)、输入输出模块(IOB)、硬件描述语言(HDL)、寄存器传输级(RTL)、X(逻辑值不确定)、Z(高阻,浮动状态)、posedge(上升沿)、negedge(下降沿)、电路功能模块(IP)、TTL、仿真平台(Testbench)、UDP(用户自定义原语)二、选择题(语法、 EDA 的基本概念、课件)基础了解:1、标识符和关键字关键字是语言中预留的用于定义语言结构的特殊标识符。
Verilog 中关键字全部小写。
标识符是程序代码中对象的名字,程序员使用标识符来访问对象。
Verilog 中标识符由字母数字字符、下划线和美元符号组成,区分大小写。
其第一个字符必须是数字字符或下划线。
reg value;//reg 是关键字; value 是标识符2. FPGA技术概述与特点以大规模可编程逻辑器件为设计载体,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统并最终形成集成电子系统或专用集成芯片的一门新技术。
3 、FPGA 技术的特点用软件的方式设计硬件②设计过程中可用有关软件进行各种仿真③系统可现场编程,在线升级④片上系统,体积小、功耗低、可靠性高数字系统的设计准则①.分割准则②.系统的可观测性③.同步和异步电路④.最优化设计⑤ . 系统设计的艺术三、简答题1、串行、并行语句:verilog HDL 的 module 里一般由块语句组成,块语句既有并行块又有串行块 ,块与块之间是并行执行 ,顺序块内是串行执行,并行块内是并行执行 . 常用形式为 initial 和always 形式里插入块语句。