欢迎来到天天文库
浏览记录
ID:35343319
大小:57.48 KB
页数:5页
时间:2019-03-23
《数字系统设计与veriloghdl王金明第四版知识点复习(宁波工程学院电科版)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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、整数写法:+/-3、5、如果定义的位宽比实际的位数长,通常在左边填0补位,但如果最左边一位为x或z,就相应的用X或Z左边补位。6、“?”是高阻态z的另一种表示符号,在数字的表示屮,字符“?”和z是完全等价的,可相互代替。7、整数可以带符号,并且正负号应写在最左边,负数通常表示为二进制补码的形式。8、当位宽与进制缺省时表示的是10进制数9、在位宽和'之间,以及进制和数值之间允许出现空格,但'和进制之间以及数值之间是不能出现空格的。要求掌握整数正确的书写方式。5、向量:宽度大于1位的变量;标量:宽度为1位的变量。定义2个84、位reg型矢量:reg[7:0]ra,rb;6、运算符(1)注意:逻辑运算符,例如逻辑与&&、逻辑或5、6、、逻辑非!,运算结果是1位的。如果操作数不止1位的话,则应将操作数作为一个整体来对待,即如果操作数全是0,则相当于逻辑0,但只要某一位是1,则操作数就应该整体看作逻辑1。例如:若A=4^0000,B=4,b0101,则有:A&&B=0;(2)位拼接运算符:{}将两个或多个信号的某些位拼接起来7、initial语句和always语句的区别:initial语句常用于仿真中的初始化,initial过程块7、中的语句只执行一次,不带触发条件;always块内的语句则是不断重复执行的,Always过程语句是可综合的,带有触发条件。8、posedge:上升ncgedgc:下降弄清楚同步和异步的概念。例如:如果Nreset和Nset是异步,吋钟clock上升沿触发。always@(posedgeelkorposedgerst_n)if(!rst_n)Q<=0;elseif(Nset)Q<=1;elseQ<=D;9、阻塞赋值与非阻塞赋值的区别:非阻塞赋值在整个过程块结朿时才完成赋值操作;阻塞赋值在该语句结束时就8、立即完成赋值操作。在always过程块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以理解为赋值语句是并发执行的.10、条件语句,条件语句也称分支语句。11、顺序执行:阻塞赋值语句;并发执行:非阻塞赋值语句。12、用行为语句设计一个8位计数器,每次在时钟的上升沿,计数器加1,当计数器逸出时,自动从零开始重新计数。计数器有同步复位端。modulecount(count,reset,elk);inputclkjeset;outputelk,reset;output[7:0]count;reg9、count;always@(posedgeelk)if(reset==l)begincount=8rb0;endelse讦(count=8'b11111111)begincount=9rb0;endelseifbegincount=count+l;endendmodule13奇偶校验位产生器的VerilogHDL描述:moduleparity(evrn_bit,odd_bit,a);input[7:0]a;outputeven_bit,odd_bit;assigneven_bit=Aa;//生成偶校10、验位assignodd_bit=-even_bit;〃生成奇校验位endmodule;14、课本197页:8.2有限状态机的Verilog描述参考例8.3,例8.7,学会用有限状态机设计序列检测器。modulefsmseql111(x,z,elk,reset);inputx,elk,reset;outputregz;:reg[4:0]state;parameterS0=,dO,Sl~dl,S2=,d2,S3二,d3,S4二,d4;always@(posedgeelk)
3、5、如果定义的位宽比实际的位数长,通常在左边填0补位,但如果最左边一位为x或z,就相应的用X或Z左边补位。6、“?”是高阻态z的另一种表示符号,在数字的表示屮,字符“?”和z是完全等价的,可相互代替。7、整数可以带符号,并且正负号应写在最左边,负数通常表示为二进制补码的形式。8、当位宽与进制缺省时表示的是10进制数9、在位宽和'之间,以及进制和数值之间允许出现空格,但'和进制之间以及数值之间是不能出现空格的。要求掌握整数正确的书写方式。5、向量:宽度大于1位的变量;标量:宽度为1位的变量。定义2个8
4、位reg型矢量:reg[7:0]ra,rb;6、运算符(1)注意:逻辑运算符,例如逻辑与&&、逻辑或
5、
6、、逻辑非!,运算结果是1位的。如果操作数不止1位的话,则应将操作数作为一个整体来对待,即如果操作数全是0,则相当于逻辑0,但只要某一位是1,则操作数就应该整体看作逻辑1。例如:若A=4^0000,B=4,b0101,则有:A&&B=0;(2)位拼接运算符:{}将两个或多个信号的某些位拼接起来7、initial语句和always语句的区别:initial语句常用于仿真中的初始化,initial过程块
7、中的语句只执行一次,不带触发条件;always块内的语句则是不断重复执行的,Always过程语句是可综合的,带有触发条件。8、posedge:上升ncgedgc:下降弄清楚同步和异步的概念。例如:如果Nreset和Nset是异步,吋钟clock上升沿触发。always@(posedgeelkorposedgerst_n)if(!rst_n)Q<=0;elseif(Nset)Q<=1;elseQ<=D;9、阻塞赋值与非阻塞赋值的区别:非阻塞赋值在整个过程块结朿时才完成赋值操作;阻塞赋值在该语句结束时就
8、立即完成赋值操作。在always过程块中,阻塞赋值可以理解为赋值语句是顺序执行的,而非阻塞赋值可以理解为赋值语句是并发执行的.10、条件语句,条件语句也称分支语句。11、顺序执行:阻塞赋值语句;并发执行:非阻塞赋值语句。12、用行为语句设计一个8位计数器,每次在时钟的上升沿,计数器加1,当计数器逸出时,自动从零开始重新计数。计数器有同步复位端。modulecount(count,reset,elk);inputclkjeset;outputelk,reset;output[7:0]count;reg
9、count;always@(posedgeelk)if(reset==l)begincount=8rb0;endelse讦(count=8'b11111111)begincount=9rb0;endelseifbegincount=count+l;endendmodule13奇偶校验位产生器的VerilogHDL描述:moduleparity(evrn_bit,odd_bit,a);input[7:0]a;outputeven_bit,odd_bit;assigneven_bit=Aa;//生成偶校
10、验位assignodd_bit=-even_bit;〃生成奇校验位endmodule;14、课本197页:8.2有限状态机的Verilog描述参考例8.3,例8.7,学会用有限状态机设计序列检测器。modulefsmseql111(x,z,elk,reset);inputx,elk,reset;outputregz;:reg[4:0]state;parameterS0=,dO,Sl~dl,S2=,d2,S3二,d3,S4二,d4;always@(posedgeelk)
此文档下载收益归作者所有