数字电路应用幻灯片.ppt
《数字电路应用幻灯片.ppt》由会员分享,可在线阅读,更多相关《数字电路应用幻灯片.ppt(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字电路应用第1页,共65页,编辑于2022年,星期六装药系统的模块装药系统的模块课程任务:在实验箱上,通过VHDL语言实现罐装系统。第2页,共65页,编辑于2022年,星期六实验箱介绍第3页,共65页,编辑于2022年,星期六课程的主要内容课程的主要内容数字系统设计的基本概念和方法Verilog语言要素以及语法Verilog语言开发环境的使用组合逻辑电路的Verilog实现时序逻辑电路的Verilog实现FPGA(CPLD)的开发过程,程序的调试和下载第4页,共65页,编辑于2022年,星期六课程安排课程安排共有6次课第一次课:讲授内容讲授内容:主要了解数字系统设计的基本概念和方法,并介绍V
2、erilog的基本语法,掌握QuartusII软件的基本使用;。实验内容实验内容:使用Verilog语言在课内做七段译码器的软件仿真实验。第5页,共65页,编辑于2022年,星期六课程安排课程安排第二次课:讲授内容讲授内容:时序逻辑电路的Verilog实现,Verilog的数据流建模。实验内容实验内容:使用Verilog语言在课内设计BCD码的加法器,并做软件仿真实验。第6页,共65页,编辑于2022年,星期六课程安排课程安排第三次课:讲授内容讲授内容:Verilog中任务和函数的学习。实验内容实验内容:使用VHDL语言在课内设计同步计数器,并做软件仿真实验。第7页,共65页,编辑于2022年
3、,星期六课程安排课程安排第四次课:实验内容实验内容:比较器,优先编码器,和码制转换实验。第8页,共65页,编辑于2022年,星期六课程安排课程安排第五次课:讲授内容讲授内容:实验箱的硬件组成 以及使用方法;FPGA引脚的分配,程序的下载等。实验内容实验内容:完成装药系统各个分立模块的调试,补充未完成的模块,并在实验箱上调试通过。第9页,共65页,编辑于2022年,星期六课程安排课程安排第六次课:实验内容实验内容:完成装药系统顶层的设计,并组合各个分立模块为一个完整的系统,在实验箱上调试通过。第10页,共65页,编辑于2022年,星期六Verilog语法概要第11页,共65页,编辑于2022年,
4、星期六一、Verilog的建模方式由顶向下由底向上等级方式等级方式第12页,共65页,编辑于2022年,星期六罐装系统示意图第13页,共65页,编辑于2022年,星期六Verilog可以实现的建模方式行为算法级建模数据流建模门级建模开关级建模第14页,共65页,编辑于2022年,星期六二、Verilog的基本语法结构模块声明,端口说明(参数说明)endmodule任务与函数Wire 和 reg 变量声明底层模块的实例化always 以及 initial语句,行为建模数据流建模第15页,共65页,编辑于2022年,星期六示例 1(与门操作)module addgate(a,b,out);inpu
5、t a,b;output out;assign out=a&b;endmodule第16页,共65页,编辑于2022年,星期六三、数据流建模连续赋值语句assign 例子:assign addr15:0=addr1_bits15:0 addr2_bits15:0;assign out=i1&i2;第17页,共65页,编辑于2022年,星期六数据流建模位操作符号位操作符号 NOT&AND|OR EXOR&nand|或非 异或非第18页,共65页,编辑于2022年,星期六例:多路选择器 4选1module mux4_to_1(out,i0,i1,i2,i3,s1,s0);output out;in
6、put i0,i1,i2,i3;input s1,s0;out=(s1&s0&i0)|(s1&s0&i1)|(s1&s0&i2)|(s1&s0&i3);endmodule 第19页,共65页,编辑于2022年,星期六数据流建模算术操作*乘/除+加-减%取模*指数运算第20页,共65页,编辑于2022年,星期六例4位全加器module fulladd4(sum,c_out,a,b,c_in);output 3:0 sum;output c_out;input3:0 a,b;input c_in;assign c_out,sum=a+b+c_in;endmodule第21页,共65页,编辑于202
7、2年,星期六其他操作=Equal to!=Not equalGreater than=Greater than or equal&AND|OR 第22页,共65页,编辑于2022年,星期六其他操作Shift rightShift left+Add-Subtract*Multiply/Divide%Modulus 第23页,共65页,编辑于2022年,星期六数据流建模时延#assign#10 out=in1&in2;第24页,共65页,编辑于2022年,星期六操作优先级操作操作标记说明符号+-!最高乘除*/%加减+-移位比较=位运算&|逻辑&|条件运算?:最低第25页,共65页,编辑于2022年
8、,星期六四、verilog示例4.1三位加法器的实现module adder(count,sum,a,b,cin);input 2:0 a,b;input cin;output count;output 2:0 sum;assign count,sum=a+b+cin;endmodule第26页,共65页,编辑于2022年,星期六四、verilog示例4.2比较器实现module compare(equal,a,b);output equal;input 1:0 a,b;assign equal=(a=b)?1:0;endmodule第27页,共65页,编辑于2022年,星期六五、verilo
9、g中的数据类型Verilog 有三种主要的数据类型:有三种主要的数据类型:Nets 表示器件之间的物理连接,称为网络连接类型Register 表示抽象的储存单元,称为寄存器/变量类型Parameter 表示运行时的常数,称为参数类型第28页,共65页,编辑于2022年,星期六五、verilog中的数据类型Nets(网络连线):由模块或门驱动的连线。驱动端信号的改变会立刻传递到输出的连线上。例如:右图上,selb的改变,会自动地立刻影响或门的输出。netsabslselbselanslout第29页,共65页,编辑于2022年,星期六五、verilog中的数据类型连接(连接(Nets)类型变量的
10、种类:类型变量的种类:在为不同工艺的基本元件建立库模型的时候,常常需要用不同的连接类型来与之对应,使其行为与实际器件一致。常见的有以下几种。类型 功能 wire,tri 对应于标准的互连线(缺省)supply1,supply2 对应于电源线或接地线 wor,trior 对应于有多个驱动源的线或逻辑连接 wand,triand 对应于有多个驱动源的线与逻辑连接 trireg 对应于有电容存在能暂时存储电平的连接 tri1,tri0 对应于需要上拉或下拉的连接如果不明确地说明连接是何种类型,应该是指 wire 类型。第30页,共65页,编辑于2022年,星期六五、verilog中的数据类型regi
11、ster 型变量能保持其值,直到它被赋于新的值。register 型变量常用于行为建模,产生测试的激励信号。寄存器(寄存器(register)类型变量)类型变量常用行为语句结构来给寄存器类型的变量赋值。abslselbselansloutreg_areg_selreg_b第31页,共65页,编辑于2022年,星期六五、verilog中的数据类型 寄存器(寄存器(register)类型变量的数据类型)类型变量的数据类型 寄存器类型变量共有四种数据类型:类型 功能 .reg 无符号整数变量,可以选择不同的位宽。integer 有符号整数变量,32位宽,算术运算可产生2的补码。real 有符号的浮点
12、数,双精度。time 无符号整数变量,64位宽第32页,共65页,编辑于2022年,星期六五、verilog中的数据类型取值0 0、低、伪、逻辑低、地、低、伪、逻辑低、地、VSS、负插入、负插入01XZ0bufbufbufbufif11 1、高、真、逻辑高、电源、高、真、逻辑高、电源、VDD、正插入、正插入X X、不确定:逻辑冲突无法确定其逻辑值、不确定:逻辑冲突无法确定其逻辑值HiZHiZ、高阻抗、三态、无驱动源、高阻抗、三态、无驱动源 第33页,共65页,编辑于2022年,星期六五、verilog中的数据类型向量的申明wire 7:0 bus;/8为总线 wire 31:0 busA,bu
13、sB,busC;/3 个32为总线reg 0:40 virtual_addr;/41位寄存器 向量的选择reg 255:0 data1;/小端reg 0:255 data2;/大端byte=data131-:8;/开始位=31,宽度=8=data31:24 byte=data124+:8;/开始位=24,宽度=8=data31:24 byte=data231-:8;/开始位=31,宽度=8=data24:31 byte=data224+:8;/开始位=24,宽度=8=data24:31 第34页,共65页,编辑于2022年,星期六五、verilog中的数据类型赋值 格式 .尺寸就是占的位宽格式
14、为 h,d,b(表示十六进制,十进制以及二进制表示)数值就是赋值大小例:4b1111 12habc 16d255第35页,共65页,编辑于2022年,星期六五、verilog中的数据类型 如何选择正确的数据类型?如何选择正确的数据类型?输入口(input)可以由寄存器或网络连接驱动,但它本身只能驱动网络连接。输出口(output)可以由寄存器或网络连接驱动,但它本身只能驱动网络连接。输入/输出口(inout)只可以由网络连接驱动,但它本身只能驱动网络连接。如果信号变量是在过程块(initial块 或 always块)中被赋值的,必须把它声明为寄存器类型变量 第36页,共65页,编辑于2022年
15、,星期六五、verilog中的数据类型举例说明数据类型的选择举例说明数据类型的选择module top;wire y;reg a,b;DUT u1(y,a,b);initial begin a=0;b=0;#10 a=1;.endendmodule 模块DUT的边界输入口输出口输出/入口netnetnet/registernetnet/registernetinoutmodule DUT(Y,A,B_);output Y;input A,B:wire Y,A,B;and(Y,A,B);endmodule第37页,共65页,编辑于2022年,星期六五、verilog中的数据类型 选择数据类型时常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字电路 应用 幻灯片
限制150内