数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)

上传人:ji****n 文档编号:45272314 上传时间:2018-06-15 格式:DOC 页数:5 大小:53KB
返回 下载 相关 举报
数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)_第1页
第1页 / 共5页
数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)_第2页
第2页 / 共5页
数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)_第3页
第3页 / 共5页
数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)_第4页
第4页 / 共5页
数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)》由会员分享,可在线阅读,更多相关《数字系统设计与verilog_hdl_王金明_第四版__eda期末知识点复习(宁波工程学院电科版)(5页珍藏版)》请在金锄头文库上搜索。

1、1、采用硬件描述语言(HDL)进行电路设计的优势。1)更适合用于描述规模大、功能复杂的数字系统2)语言标准化、便于设计的复用、交流、保存和修改3)设计与工艺的无关性,宽范围的描述能力,便于组织大规模、模块化的设计 2、Verilog 模块的结构模块声明:包括模块名字、模块输入、输出端口列表,结束关键字为 endmodule端口定义:格式为:input: 端口名 1,端口名 2端口名 n;output: 端口名 1,端口名 2端口名 n;inout: 端口名 1,端口名 2端口名 n; 3、标识符是用户在编程时给 verilog 对象起的名字,模块、端口和实例的名字都是标识符。 标识符可以是任意

2、一组字母、数字以及符号“$”和“_”的组合,但标识符的第一个字符 必须是字母(a-z,A-Z)或者是下划线“_” ,标识符最长可包含 1023 个字符,此外,标 识符区分大小写。 4、整数写法:+/- 1、 在较长的数之间可用下划线分开 2、 当数字不说明位宽时,默认值为 32 位 3、 X 或(z)在二进制中代表 1 位 x(或 z) ,在八进制中代表 3 位,在 16 进制中代表 4 位 4、 如果没有定义一个整数的位宽,其宽度为相应值中定义的位数。 5、 如果定义的位宽比实际的位数长,通常在左边填 0 补位,但如果最左边一位为 x 或 z,就相应的用 x 或 z 左边补位。 6、 “?”

3、是高阻态 z 的另一种表示符号,在数字的表示中,字符“?”和 z 是完全等价 的,可相互代替。 7、 整数可以带符号,并且正负号应写在最左边,负数通常表示为二进制 补码的形式。 8、 当位宽与进制缺省时表示的是 10 进制数 9、 在位宽和之间,以及进制和数值之间允许出现空格,但和进制之间以及数值之间 是不能出现空格的。 要求掌握整数正确的书写方式。 5、向量:宽度大于 1 位的变量; 标量:宽度为 1 位的变量。 定义 2 个 8 位 reg 型矢量:reg 7:0 ra, rb; 6、运算符 (1)注意:逻辑运算符,例如逻辑与 (2)位拼接运算符: 将两个或多个信号的某些位拼接起来 7、i

4、nitial 语句和 always 语句的区别:initial 语句常用于仿真中的初始化,initial 过程块中的 语句只执行一次,不带触发条件;always 块内的语句则是不断重复执行的,Always 过程 语句是可综合的,带有触发条件。 8、posedge:上升 negedge:下降 弄清楚同步和异步的概念。 例如:如果 Nreset 和 Nset 是异步,时钟 clock 上升沿触发。always (posedge clk or posedge rst_n ) if (! rst_n ) Q=0; else if(Nset) Q=1; else Q=D; 9、阻塞赋值与非阻塞赋值的区别

5、:非阻塞赋值在整个过程块结束时才完成赋值操作;阻 塞赋值在该语句结束时就立即完成赋值操作。在 always 过程块中,阻塞赋值可以理解为赋 值语句是顺序执行的,而非阻塞赋值可以理解为赋值语句是并发执行的. 10、条件语句,条件语句也称分支语句。 11、顺序执行:阻塞赋值语句;并发执行:非阻塞赋值语句。 12、用行为语句设计一个 8 位计数器,每次在时钟的上升沿,计数器加 1,当计数器逸出 时,自动从零开始重新计数。计数器有同步复位端。 module count(count,reset,clk); input clk,reset; output clk,reset; output 7:0 cou

6、nt; reg count; always (posedge clk)if(reset=1)begin count=8b0;endelse if (count=8b11111111)begincount=9b0;endelse ifbegincount=count+1;end end module 13 奇偶校验位产生器的 Verilog HDL 描述: module parity(evrn_bit,odd_bit,a); input7:0 a; output even_bit,odd_bit; assign even_bit=a; /生成偶校验位 assign odd_bit=even_bi

7、t; /生成奇校验位 endmodule;14、课本 197 页:8.2 有限状态机的 Verilog 描述 参考例 8.3,例 8.7,学会用有限状态机设计序列检测器。module fsm_seq1111(x,z,clk,reset); input x,clk,reset; output reg z; reg4:0 state;parameter S0=d0,S1=d1,S2=d2,S3=d3,S4=d4; always (posedge clk) begin if(reset) begin state=S0;z=0; end else casex(state) S0: begin if(x

8、=0) begin state=S0;z=0;end else begin state=S1;z=0;end end S1: begin if(x=0) begin state=S0;z=0;end else begin state=S2;z=0;end end S2: begin if(x=0) begin state=S0;z=0;end else begin state=S3;z=0;end end S3: begin if(x=0) begin state=S0;z=0;end else begin state=S4;z=1;end end S4: begin if(x=0) begi

9、n state=S0;z=0;end else begin state=S4;z=1;end end default: state=S0; endcase end endmodule15、状态机设计流水灯: module led_water(clk50M,rst,led); input clk50M; output7:0 led; input rst;wire clk_5hz; reg7:0 led_r; reg3:0 state; reg23:0 count; parameter s0=d0,s1=d1,s2=d2,s3=d3,s4=d4,s5=d5,s6=d6,s7=d7,s8=d8,s9

10、=d9,s10=d10,s11=d11,s12=d12,s13=d13,s14=d14,s15=d15; always (posedge clk50M) begin if(count=10000000) begin count=1b0;end else count=count+1b1; end assign clk_5hz=count23; assign led=led_r; always (posedge clk_5hz) begin if(!rst)state=s0;else case(state)s0:begin led_r=8b01111111; state=s1;ends1:begi

11、n led_r=8b10111111; state=s2;ends2:begin led_r=8b11011111; state=s3;ends3:begin led_r=8b11101111; state=s4;ends4:begin led_r=8b11110111; state=s5;ends5:begin led_r=8b11111011; state=s6;ends6:begin led_r=8b11111101; state=s7;ends7:begin led_r=8b11111110; state=s8;ends8:begin led_r=8b11111100; state=s

12、9;ends9:begin led_r=8b11111000; state=s10;ends10:begin led_r=8b11110000; state=s11;ends11:begin led_r=8b11100000; state=s12;ends12:begin led_r=8b11000000; state=s13;ends13:begin led_r=8b10000000; state=s14;ends14:begin led_r=8b00000000; state=s15;ends15:begin led_r=8b10100101; state=s0;enddefault: b

13、egin led_r=8b11111111;state=s0;endendcase endendmodule 16、超前进位加法器的 Verilog HDL 描述: module add_ahead (sum,cout,a,b,cin); input7:0 a,b; input cin;output7:0 sum; output cout;wire7:0 G,P; wire7:0 C,sum; assign G0=a0 assign P0=a0|b0; assign C0=cin; assign sum0=G0P0C0; assign G1=a1 assign P1=a1|b1; assign

14、 C1=G0|(P0 assign sum0=G0P0C0; assign G2=a2 assign P2=a2|b2; assign C2=G1|(P1 assign sum2=G2P2C2; assign G3=a3 assign P3=a3|b3; assign C3=G2|(P2 assign sum3=G3P3C3; assign G4=a4assign P4=a4|b4; assign C4=G3|(P3 assign sum4=G2P2C2; assign G5=a5 assign P5=a5|b5; assign C5=G4|(P4 assign sum5=G5P5C5; as

15、sign G6=a6 assign P6=a6|b6; assign C6=G5|(P5 assign sum6=G6P6C6; assign G7=a7 assign P7=a7|b7; assign C7=G6|(P6 assign sum7=G7P7C7; assign cout=G7|(P7 endmodule 17、课本 227 页:9.4 奇数分频与小数分频 奇数分频的方法:用两个计数器,一个由输入时钟上升沿触发,一个由输入时钟下降沿触 发,最后将两个计数器的输出相或,即可得到占空比为 50%的方波波形。 小数分频的方法:1)用数字锁相环实现。先利用锁相环电路将输入时钟倍频,然后利用分 频器对新产生的高频信号进行分频得到需要的时钟频率。2)先设计两个不同分频比的整数 分频器,然后通过控制两种分频比出现的不同次数来获得所需的小数分频值,从而实现平 均意义上的小数分频。 偶数次分频的方法:

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

当前位置:首页 > 生活休闲 > 社会民生

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