欢迎来到天天文库
浏览记录
ID:41871258
大小:818.51 KB
页数:64页
时间:2019-09-04
《可综合VerilogHDL基础》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Spring2010可综合VerilogHDL基础Slide1基于FPGA的嵌入式系统设计——电工电子工程基础Ⅴ王贞炎18607112468loy.hust@gmail.comSpring2010可综合VerilogHDL基础Slide22可综合VerilogHDL基础2.1可综合Verilog基础2.2从Verilog到逻辑2.3课堂操作实验Spring2010可综合VerilogHDL基础Slide32.1可综合VerilogHDL设计基础知识2.1.1综合的概念2.1.2词法及数据类型2.1.3值保持器的硬件建模Spring2010可综合VerilogHDL基础Slid
2、e42.1.1综合的概念通俗地讲,综合就是将VerilogHDL设计模型(一般为系统级和算法级的行为描述)转变为能用硬件电路实现的基本逻辑单元的连接(RTL级或门级网表)的过程。可综合Verilog是一个VerilogHDL的子集,对于不同的综合工具可综合子集一般并不完全相同。Spring2010可综合VerilogHDL基础Slide52.1.2词法及数据类型标识符任意一组字母、数字、$符号和_(下划线)符号的组合,第一个字符必须是字母或者下划线。特别注意标识符区分大小写!逻辑值体系0<─>逻辑01<─>逻辑1z/Z<─>高阻抗或无关值(casex与casez语句)x/X<
3、─>无关值或不定值Spring2010可综合VerilogHDL基础Slide62.1.2词法及数据类型变量的数据类型网线数据类型:wireworwandtrisupply0supply1wire一般连线,最常用wor和wand实现多驱动源驱动同一根网线tri与wire综合效果相同supply0固定连接0电平,supply1固定连接1电平寄存器数据类型:regintegerreg寄存器integer最大32位整数,寄存器,用二进制补码形式表示Spring2010可综合VerilogHDL基础Slide72.1.2词法及数据类型变量的定义格式:VarType4、signed>[msb:lsb]var1,var2,…,varN;变量数组(存储器):varType[msb:lsb]varArray[M:0];示例:wire[7:0]databus;signedreg[15:0]cnt1,cnt2;reg[31:0]mem[1023:0];Spring2010可综合VerilogHDL基础Slide82.1.2词法及数据类型可综合的常量:整型常量简单的十进制表示:解释为有符号数,综合时用32位二进制补码形式表示3032位有符号数-2二进制补码形式的32位有符号数基数格式表示:<+/->b5、ase>num2’b102位无符号数2-6’d46位无符号数60-8’h6a8位无符号数150-8’sh558为有符号数-85Spring2010可综合VerilogHDL基础Slide92.1.2词法及数据类型可综合的常量:整型常量含x和z的常量:二进制表示中,一个x或z代表一个二进制位;八进制和十六进制表示中,它们分别代表3或4个二进制位。4’b1x0z16’ha5zz8’dz没有位宽说明时,数值默认为32位,赋值时:目标字长小于原字长:高位丢失;目标字长大于源字长:源值为无符号数时高位填充0;为有符号数高位填充符号;源值最高位为x或z时,高位填充x或z。Spring206、10可综合VerilogHDL基础Slide102.1.2词法及数据类型参数参数是命名常量。由于不容许指定参数的位宽,所以参数的位宽与其对应的常量的位宽相同。parameterRED=-1,GREEN=2;RED和GREEN是两个32位有符号常量parameterREADY=3’b010,BUSY=3’b001;READY和BUSY是2个位宽为3的参数。Spring2010可综合VerilogHDL基础Slide112.1.3值保持器的硬件建模硬件中有3种基本的值保持器:连线触发器(边沿触发的存储元件)锁存器(电平敏感的存储元件)网线类型的变量被综合成硬件中的连线寄存器类型则7、根据上下文环境来确定综合成连线或者触发器或者锁存器。Spring2010可综合VerilogHDL基础Slide122.1.3值保持器的硬件建模仅做临时变量的寄存器变量综合成为连线wireAcr,Bar,Fra;regTrq,Sqp;//…always@(BarorAcrorFra)beginTrq=Bar&Acr;Sqp=Trq8、Fra;endSpring2010可综合VerilogHDL基础Slide132.1.3值保持器的硬件建模分支语句中未赋值综合成锁存器wireSat,Ant;regFox,S
4、signed>[msb:lsb]var1,var2,…,varN;变量数组(存储器):varType[msb:lsb]varArray[M:0];示例:wire[7:0]databus;signedreg[15:0]cnt1,cnt2;reg[31:0]mem[1023:0];Spring2010可综合VerilogHDL基础Slide82.1.2词法及数据类型可综合的常量:整型常量简单的十进制表示:解释为有符号数,综合时用32位二进制补码形式表示3032位有符号数-2二进制补码形式的32位有符号数基数格式表示:<+/->b
5、ase>num2’b102位无符号数2-6’d46位无符号数60-8’h6a8位无符号数150-8’sh558为有符号数-85Spring2010可综合VerilogHDL基础Slide92.1.2词法及数据类型可综合的常量:整型常量含x和z的常量:二进制表示中,一个x或z代表一个二进制位;八进制和十六进制表示中,它们分别代表3或4个二进制位。4’b1x0z16’ha5zz8’dz没有位宽说明时,数值默认为32位,赋值时:目标字长小于原字长:高位丢失;目标字长大于源字长:源值为无符号数时高位填充0;为有符号数高位填充符号;源值最高位为x或z时,高位填充x或z。Spring20
6、10可综合VerilogHDL基础Slide102.1.2词法及数据类型参数参数是命名常量。由于不容许指定参数的位宽,所以参数的位宽与其对应的常量的位宽相同。parameterRED=-1,GREEN=2;RED和GREEN是两个32位有符号常量parameterREADY=3’b010,BUSY=3’b001;READY和BUSY是2个位宽为3的参数。Spring2010可综合VerilogHDL基础Slide112.1.3值保持器的硬件建模硬件中有3种基本的值保持器:连线触发器(边沿触发的存储元件)锁存器(电平敏感的存储元件)网线类型的变量被综合成硬件中的连线寄存器类型则
7、根据上下文环境来确定综合成连线或者触发器或者锁存器。Spring2010可综合VerilogHDL基础Slide122.1.3值保持器的硬件建模仅做临时变量的寄存器变量综合成为连线wireAcr,Bar,Fra;regTrq,Sqp;//…always@(BarorAcrorFra)beginTrq=Bar&Acr;Sqp=Trq
8、Fra;endSpring2010可综合VerilogHDL基础Slide132.1.3值保持器的硬件建模分支语句中未赋值综合成锁存器wireSat,Ant;regFox,S
此文档下载收益归作者所有