ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:77.51KB ,
资源ID:24545219      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24545219.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Verilog期末复习.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Verilog期末复习.docx

1、Verilog期末复习Verilog期末复习v 考试内容: 凡是课堂讲过的内容都有可能考 重点是对基本语法的掌握能力和实际应用能力 本课件非考试大纲,切勿仅仅据此复习v 试题类型: 填空题:10空 20分 简答题:6道 36分 程序设计题:4道 44分复习内容(一)v 各种数据类型及变量常量v 门级描述v 行为描述(包含多种分支语句)v 数据流级描述v 任务和函数的编写v 系统任务的使用语法v 用户自定义原语v 状态机建模v 层次化建模及语法v 简单的Verilog HDL模块编写和测试Verilog HDL的级别划分 系统级(system): 用高级语言结构实现设计模块的外部性能的模 算法级

2、(algorithmic): 用高级语言结构实现设计算法的模型。 RTL级(Register Transfer Level): 描述数据在寄存器之间流动和如何处理这些数据的模型。 门级(gate-level): 描述逻辑门以及逻辑门之间的连接的模型。 开关级(switch-level): 描述器件中三极管和储存节点以及它们之间连接的模型。合法和非法标识符合法的: 非法的:shift_reg_a 34net bus263 2_m_pmos /不能用数字开头_a_bus a*b_net /不能含有非字母符号* n263 /不能含有非字母符号 Verilog 是大小写敏感的。所谓标识别符就是用户为程

3、序描述中的Verilog 对象所起的名字。标识符必须以英语字母(a-z, A-Z)起头,或者用下横线符( _ )起头。其中可以包含数字、$符和下横线符。特别标识符是用 “” 符开始,以空格符结束的标识符。它可以包含任何可打印的ASCII字符。例如v 以下不正确的标识符名称是 Sad_66 32100 _a_bus initial /data_out Module 2_m_pmos存储器 memory型变 量存储器 memory型 用一个寄存器数组来对存储器建模。 格式: reg msb:lsb 存储器名 upper1:lower1; 如: reg 3:0 MyMem 63:0; / 64个四位

4、寄存器组v 如果要声明一个存储器变量,存储单元大小为8位,一共2048个存储单元,存储单元名称为mem,代码描述为: reg 7:0 mem2047:0 举例说明数据类型的选择module TADD(A, B, Sum1, Sum2, C,Sum3 ); iuput A, B, C; output Sum1, Sum2; inout Sum3; reg Sum1, Sum2; .endmodule module testbench;TADD T1(D1,D2,D3,D4,D5,D6);v D1:wire/reg 线网或寄存器型 D2: wire/reg线网或寄存器型 v D3:wire线网型

5、D4: wire线网型 v D5: wire/reg 线网或寄存器型 v D6: wire线网型运算符(操作符)及表达式v Verilog HDL中的运算符可以分为下述类型: 算术运算符:返回运算结果 关系运算符:返回逻辑值 真假 相等运算符:返回真假,=和!=只识别1和0,=和!=能严格识别01xz 逻辑运算符:逻辑与或非,& | ! 返回真假 按位运算符:按位运算,返回结果长度与运算前相同 缩减(归约)运算符:从左至右依次运算,直至最后一位结果,所以最后结果为1位 移位运算符:左移扩位,右移长度不变 条件运算符: ?:条件满足输出冒号前的式子,不满足输出冒号后的式子 拼接运算符: 注意其中

6、各位必须指明宽度三类时延值v 对于每个时延定义,总共能够指定三类时延值: 上升时延 下降时延 关闭时延assign # (rise, fall, turn-off) LHS = RHS_expr ;v 如果右端从非0向量变化到0向量,那么就使用下降时延。如果右端值到达z,那么使用下降时延;否则使用上升时延。 assign #4 Ask = Quiet | | Late; / One delay value. assign # (4,8) Ask = Quick ; / Two delay values. assign # (4,8,6) Arb = & DataBus; / Three del

7、ay values. Arb变为0的时延是8; Arb变为1的时延是4。 timescale使用举例 timescale 1ns/100ps module AndFunc(Z,A,B); output Z; input A,B; and #(5.22,6.17) Al(Z,A,B);/规定了上升及下降时延值。 endmodulev 编译器指令定义时延以ns为单位,并且时延精度为1/10ns(100ps)。过程性赋值v 过程性赋值分两类: 阻塞性过程赋值=、 非阻塞性过程赋值=v 过程性赋值是仅仅在initial语句或always语句内的赋值,它只能对寄存器数据类型的变量赋值。表达式的右端可以是

8、任何表达式。 . . . 连续性赋值与过程性赋值比较过程赋值v 在always语句或initial语句内出现,执行与周围其它语句有关v 驱动寄存器regv 使用“=”或“=”赋值符号v 无assign关键词连续赋值v 在一个模块内出现v 与其它语句并行执行;在右端操作数的值发生变化时执行v 驱动线网wirev 使用“=”赋值符号v 有assign关键词函数与任务的区别v (1)函数只能与主模块共用同一个仿真时间单位,而任务可以定义自己的仿真时间单位。v (2)函数不能启动任务,而任务能启动其他任务和函数。v (3)函数至少要有一个输入变量,而任务可以没有或有多个任何类型的变量。v (4)函数返

9、回一个值,而任务则不返回值 v 函数的关键词是function;任务的关键词是taskVerilog HDL中的循环语句和块语句forever循环repeat循环while循环for 循环顺序块与并行块运行后下列变量A,B,C, D的二进制值 v reg 7:0 A, B,C;v wire D;v initialv B = 3hff;v initialv A= 8bz0; . A=zzzzzzz0, B=00000111, C=xxxxxxxx, D=z 赋值时右式左式位数不匹配时:若左多右少,按低位配齐,高位补零处理,若赋值的最高位为x或z,则向前补齐若右多左少,按低位配齐,高位舍去处理课堂

10、练习v 用门级结构建模的方式描述下图所示电路 参考解答module arch_model(D,A,B,C,Eout);input A,B,C,D;output Eout;wire A,B,C,D,Abar,Bbar,T1,T2,T3;not iv1(Abar,A), iv2(Bbar,B);and ad(T1,D,Abar);nor nr(T3,C,Bbar);xor xr(T2,A,Bbar);xnor xn(Eout,T1,T2,T3,C); endmodule 练习:运用数据流建模描述下图电路module FA _Df (A, B, Cin, Sum, Cout ) ;input A,B

11、,Cin;output Sum,Cout;wire A,B,c,d,e,f,Cin,Sum,Cout;assign c=AB;assign d=A&Cin;assign e=B&Cin;assign f=c&Cin;assign Sum=cCin;assign Cout=e|d|f;endmodule有限状态机的分类v Moore FSM(摩尔有限状态机) 特点:Moore FSM的输出只与当前状态有关 Moore FSM的描述方法:采用一个沿触发的always语句及case语句。v Mealy FSM(米里有限状态机) 特点:Mealy FSM的输出与当前状态和输入有关。 其中Mealy有限

12、状态机又可分为同步Mealy状态机和异步Mealy状态机千万注意写法!读程序用国际图形符号绘出门级结构示意图module flop(data,clock,clear,q,qb);input data,clock,clear;output q , qb;wire a,b,c,d,e,f,nclock,ndata;nand #10 nd1(a,data,clock,clear), nd2(b,ndata,clock), nd4(d,c,b,clear), nd5(e,c,nclock), nd6(f,d,nclock), nd8(qb,q,f,clear);nand #9 nd3(c,a,d),

13、nd7(q,e,qb);not #10 iv1(ndata,data), iv2(nclock,clock);endmodule1在代码timescale 1ns/100ps中,定义的仿真时间精度是_ 2 写出在VLSI设计流程中,常用的一种Verilog语言仿真软件的名称3 assign#(4,6,8)Due=&DataBus;语句中,Due变为0的时延是_,Due变为1的时延是_4 十进制数33用8位二进制基数表示为_;用十六进制基数表示为_5 模块的端口有3中类型,分别是_6 如果要声明一个储存器变量,存储单元大小为16位,一共4096个存储单元,存储单元名称为ram_data,其代码描

14、述为:_ 7 VerilogHDL的规定中,内置的多输出门有两种,分别是_8 Verilog中,可以使用门时延定义内置门中从任何输入到其输出的信号传输时延,一共有三类时延,分别是_9 常用的有限状态机建模有两种,分别是_10 在行为建模的always语句中,有两种过程性赋值方式分别是(写出名称和符号)_11、调用模块(实例化)有两种端口连接方式,方法分别为_。12、常用的建模级别有_。13、行为级建模中使用 _语句作为主要的建模语句。14、按语句的执行顺序来区分,Verilog HDL语句中有_两种类语句块。15、顺序块和并行块使用两种类型的块语句。顺序块使用关键字_,而并行块使用关键字_来表

15、示。16、Verilog设计中可以把在多个地方都使用的部分程序编写成_,在需要的地方调用这些程序,以避免重复编码。读代码timescale 1ns/10psModule Phase(Master_Clk, Slave_Clk);Output Master_Clk, Slave_Clk;reg Master_Clk;wire Slave_Clk;parameter ON=2, tOFF=3, tPHASE_DELAY=1;alwaysbegin #tON Master_Clk = 0; #tOFF Master_Clk = 1;EndAssing #tPHASE_DELAY Slave_Clk = Master_Clk;Endmodule结构建模Module SADD(A,B,Sum1,Sum2,C, Sum3); Input A, B, C; Output Sum1, Sum2; Inout Sum3; Reg Sum1, Sum2; .endmodule(1) 指出下列模块实例化语句中各信号D1D6的信号类型。module testbench;.SADD T1(D1,D2,D3,D4,D5,D6);.endmodule如果在testbench模块中,采用名称关联的方式来实现实例化SADD模块,改怎样来描述?用门及结构建模的方式描述下图所示电路

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1