【SoCVista】西电verilog讲义

上传人:jiups****uk12 文档编号:45895142 上传时间:2018-06-20 格式:PPT 页数:146 大小:721.50KB
返回 下载 相关 举报
【SoCVista】西电verilog讲义_第1页
第1页 / 共146页
【SoCVista】西电verilog讲义_第2页
第2页 / 共146页
【SoCVista】西电verilog讲义_第3页
第3页 / 共146页
【SoCVista】西电verilog讲义_第4页
第4页 / 共146页
【SoCVista】西电verilog讲义_第5页
第5页 / 共146页
点击查看更多>>
资源描述

《【SoCVista】西电verilog讲义》由会员分享,可在线阅读,更多相关《【SoCVista】西电verilog讲义(146页珍藏版)》请在金锄头文库上搜索。

1、数字系统设计与 Verilog HDL西安电子科技大学 雷达信号处理国家重点实验室宋万杰西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date1课程安排课程时数:46 学分数: 3 教材:Verilog 数字系统设计教程 出版社:北京航空航天大学出版社, 作 者:夏宇闻编著 参考书: 1.Verilog数字系统设计及应用,西电出版社,袁俊泉等 编著; 2.硬件描述语言Verilog 清华大学出版社,Thomas u提供了双向通路(总线)和电阻器件的原语;u可建立MOS器件的电荷分享和电荷衰减动态模型 。西安电子科技大学西安电子科技大学 雷达信号处

2、理国防科技重点实验室雷达信号处理国防科技重点实验室Date432.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念下面先介绍几个简单的下面先介绍几个简单的Verilog HDL Verilog HDL 程序,从中了解程序,从中了解 VerilogVerilog模块的特性模块的特性【例 2.1】module muxtwo (out, a, b, sl);input a,b,sl;output out; reg out;always (sl or a or b)if (! sl) out = a;else out = b;endmodule西安电子科技大学西安电子科技大学 雷

3、达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室absloutDate442.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念 MUX(多路选择器)的行为可以描述为: 只要信号a或b或sl发生变化,如果sl为0 则选择a输出;否则选择b输出。 这个行为的描述并没有说明如果输入 a 或 b是 三态的(高阻时)输出应该是什么,但有具体结 构的真实电路是有一定的输出的。 没有考虑延时问题西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date452.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念【例

4、2.2】西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室module twomux (out, a, b, sl);input a, b, sl;output out;not u1 (nsl, sl );and #1 u2 (sela, a, nsel);and #1 u3 (selb, b, sl);or #2 u4 (out, sela, selb); endmoduleabslselbsela nselMUX的结构级描述,采用 Verilog基本单元(门)描述。描 述中含有传输延时。Date462.1 2.1 VerilogVerilog 模

5、块的基本概念模块的基本概念【例 2.3】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 西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室这个例子描述了一个三位的加法器。从例子中可以看这个例子描述了一个三位的加法器。从例子中可以看 出,整个出,整个VerilogVerilog HDL HDL程序是位于程序是位于modulemodule和和endmodulee

6、ndmodule声明声明 语句之间的语句之间的Date472.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念【例 2.4】module compare ( equal,a,b );output equal; /声明输出信号equalinput 1:0 a,b; /声明输入信号a,b assign equal=(a=b)?1:0; /*如果两个输入信号相等则输出为1。否则 输出为0*/endmodule西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室这个程序描述了一个比较器.在这个程中 ,/*.*/和/.表示注释部分,注释只是

7、为了 方便程序员理解程序,对编译是不起作用的。Date48 【例2.5】 module trist2(out,in,enable); output out; input in ,enable; bufil1 mybuf(out,in,enable); endmodule西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室2.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念Date49【例2.6】module trist1(sout,sin,ena);output sout;input sin,ena;mytri tri_inst(

8、.out(sout),.in(sin),.enable(ena);/调用由mytri模块定义的实例元件tri_inst,即把已定义的模块myfri在本模块中具体 化为tri_instendmodulemodule mytri(out,in,enable);output out;input in,enable;assign out=enable?in:bz;endmodule西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室2.1 2.1 VerilogVerilog 模块的基本概念模块的基本概念Date502.2 2.2 VerilogVerilog

9、 用于模块的测试用于模块的测试 如何检查上述例子其功能是否正确? 需要有测试激励信号输入到被测模块 需要记录被测模块的输出信号 需要把用功能和行为描述的Verilog模块转换 为门级电路互连的电路结构(综合)。 需要对已经转换为门级电路结构的逻辑进行测 试(门级电路仿真)。 需要对布局布线后的电路结构进行测试。(布局布线后仿真)。西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date512.2 2.2 VerilogVerilog 用于模块的测试用于模块的测试被测模块激励和控 制信号输出响应 和验证西安电子科技大学西安电子科技大学 雷达信号处理国

10、防科技重点实验室雷达信号处理国防科技重点实验室Date522.3 2.3 小结小结通过上面的例子可以看到:(1)Verilog HDL程序是由模块构成的。每个模块的内容都是位于 module和endmodule两个语句之间。每个模块实现特定的功能。(2)模块是可以进行层次嵌套的。(3)每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行描述。(4)Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语 句也可以分写多行。(5)除了endmodule语句外,每个语句和数据定义的最后必须有分号。(6)可以用/*.*/和/.对Verilog HDL程序的任何部分作注释 。一个

11、好的,有使用价值的源程序都应当加上必要的注释,以增强程 序的可读性和可维护性。西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date53Verilog 数字系统设计教程第三讲 常用Verilog 语法之一宋万杰西安电子科技大学 雷达信号处理国家重点实验室Date543.1 3.1 模块的结构模块的结构Verilog的基本设计单元是“模块”(block) 。一 个模块是由两部分 组成的,一部分描述接口,另一部分描述逻辑功能, 即定义输入是 如何影响输出的。module block1(a, b, c, d); input a, b;output c,

12、 d;assign c = a | b;assign d = a endmodule西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室abcdDate55Verilog 模块的结构由在module和 endmodule 关 键词之间的四个主要部分组成:- - 端口定义:端口定义: module block1(a, b, c, d );- I/O- I/O说明说明 : input a, b, c ;output d ;- - 内部信号声明:内部信号声明: wire x;- - 功能定义:功能定义: assign d = a | x ;assign x

13、= ( b endmodule 3.1 3.1 模块的结构模块的结构西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date563.1 3.1 模块的结构模块的结构3.1.1 模块的端口定义模块的端口声明了模块的输入输出口。其格式 如下:module 模块名(口1,口2,口3,口4, ); 3.1.2 模块内容模块的内容包括I/O说明、内部信号声明、功能 定义。 I/OI/O说明的格式说明的格式输入口: input信号位宽1:0 端口名1;input信号位宽1:0 端口 名2; input信号位宽1:0 端口 名i; /(共有i个输入口)西安电子科技大学西安电子科技大学 雷达信号处理国防科技重点实验室雷达信号处理国防科技重点实验室Date573.1 3.1 模块的结构模块的结构输出口 output信号位宽1:0 端口名1;output信号位宽1:0 端口名2;output信号位宽1:0 端口名j; /(共有j个输出口) 输入/输出口:inout信号位宽1:0 端口名1;inout信号位宽1:0 端口名2;inout信号位宽1:0 端口名k; /(共有k个双向总线端口)I/O说明也可以写在端口声明语句里。其格式如下:m

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号