




免费预览已结束,剩余2页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL与VerlogHDL的不同点序号VHDLVerilog1文件的扩展名不一样.VHD.v2结构不一样包含库、实体、结构体Entity 实体名 isPort(端口说明)End 实体名;Architecture 结构体名 of实体名 is说明部分Begin赋值语句;元件语句;进程语句等;End 结构体名; 模块结构(moduleendmodule)module 模块名(端口列表);输入/输出端口说明;变量类型说明;assign 语句(连续赋值语句);元件例化语句;always(敏感列表)beginendendmodule其中assign语句、元件例化语句、always语句的顺序可以更换。3对库文件的要求不一样须有相应的库或程序包支持,实体间调用子程序调用,需要将子程序打成程序包没有专门的库文件(只有基本门的库),模块可以通过例化直接调用,不需要打成程序包。4端口定义的地方不一样在实体中定义在module的模块名后面先列出端口列表,再在模块中用input,output等定义。5端口定义方式不一样端口名, 端口名 : 方向 数据类型名Default Value;如Q : inout std_logic_vector(31 downto 0);端口类型 端口1,端口2,端口3,;如:inout 31:0 Q;6端口定义类型不一样有in,out,inout,buffer四种有input,output,inout三种7内部信号声明不一样在结构体中声明,有些局部变量还可在进程中声明在端口定义后进行声明内部变量8数据默认值默认值为本类型的最小非负值(某个类型的范围是以0为对称的)wire类型默认值为z,reg类型默认值为x;9标识符规则不一样不区分大小写区分大小写10关键词要求不一样允许大小写混写如EnTIty关键词必须是小写11常量定义的关键词和格式不一样CONSTANT 常量名:数据类型:=表达式;parameter 常量名1 = 表达式,常量名2 = 表达式,常量名n = 表达式;12常量表示不一样用双引号,如B“01110”8b1011000113数组定义方式不一样如定义4位数组AA(3 DOWNTO 0)或者A(0 TO 3)如定义4位数组AA3:0或者A0:314下标名表示不一样用小括号表示,如a(0)用中括号表示,如a015数据对象不一样,且两者变量的含义不一样常量、变量、信号,变量是一个局部量,只能在进程和子程序中使用。变量的赋值是一种理想化的数据传输,是立即发生,不存在任何延时的行为。信号是描述硬件系统的基本数据对象,它类似于连接线。信号可以作为设计实体中并行语句模块间的信息交流通道。数据对象没有默认常量、变量变量是在程序运行时其值可以改变的量。变量默认为wire型16变量定义的格式不一样VARIABLE 变量名:数据类型:=初始值;数据类型 位宽 变量1,变量2,变量n;17数据类型不一样有布尔(BOOLEAN)数据类型、位(BIT)数据类型、位矢量(BIT_VECTOR)数据类型、标准逻辑位STD_LOGIC数据类型、标准逻辑矢量(STD_LOGIC_VECTOR)数据类型等。VHDL的数据类型比较复杂wire、tri、reg、interger、real、tme型,主要是wire和reg型,比较简单。18赋值不一样按数据对象赋值分,变量赋值用“:=”,信号赋值用“=”按语句的执行情况分,assign语句或阻塞语句用“=”赋值,非阻塞语句用“=”19赋值要求不一样强类型语言,赋值两边的赋值目标和表达式的数据类型必须一样。不同类型和宽度的数据之间不能运算和赋值,需要调用库包来完成转换;如:A:in STD_LOGIC_VECTOR(2 DOWNTO 0); B:in STD_LOGIC_VECTOR(2 DOWNTO 0); C:out STD_LOGIC_VECTOR(3 DOWNTO 0)则C=A OR B;会出错不是强类型语言,可以自动完成不同类型数据的运算与赋值;如input2:0 a;input2:0b;output3:0 c;assign c=a|b;语法不会出错20操作符不一样逻辑操作符(Logica Operator)、关系操作符(Relationa Operator)、算术操作符(Arithmetic Operator)和符号操作符(Sign Operator)没有缩减操作符没有三目的条件操作符操作符比较丰富,有算术操作符、逻辑操作符、位运算、关系操作符、等式操作符、缩减操作符、转移操作符、条件操作符、位并接操作符21条件中,等于判断符号不一样等于=; 不等于 /=等于(= =)或全等(= = =)不等于(!=)或不全等(!= =)22逻辑操作符不一样AND、NAND、NOT、OR、NOR、XNOR、XOR等该逻辑操作符运算结果跟VerilogHDL的位运算一样&(逻辑与)、|(逻辑或)、!(逻辑非)、(按位取反)、&(按位与)、|(按位或)、(按位异或)、或(按位同或)。23移位操作符不一样除了逻辑左移SLL、逻辑右移SRL之外,还有算术左移SLA、算术右移SRA、循环左移ROL、循环右移ROR。其中逻辑左移SLL、逻辑右移SRL与VerilogHDL的左移一致只有逻辑左移,没有算术左移、算术右移、循环左移、循环右移。24并置操作符不一样用&并置,a&b用 并置,如a,b25并行赋值语句不一样信号赋值语句(直接赋值、条件赋值、选择赋值)assign语句(连续赋值)只对wire型26顺序语句不一样信号赋值变量赋值变量赋值只能在进程和子程序中进行阻塞语句非阻塞语句27并行语句中的进程语句不一样process(敏感列表)begin顺序语句;end process;always(敏感列表)begin顺序语句;end28条件控制语句if的格式不一样If 条件1 Then 顺序描述语句;ELSIF 条件2 Then顺序描述语句; ELSE 顺序描述语句;END IF;if (表达式) begin 语句; endelse if (表达式) begin 语句; endelse begin 语句; end29条件控制语句case的格式不一样Case 表达式 IsWhen 条件表达式1 =顺序描述语句;When 条件表达式2 =顺序描述语句;.When 条件表达式n =顺序描述语句;End Case;如果没有列举出Case和Is之间的表达式的全部取值,则When others=必不可少case (表达式) 选择值1 : 语句1; 选择值2 : 语句2; 选择值n : 语句n; default :语句n+1; endcasedefault没有,不会出现语法错误,但逻辑有可能出错。30case语句的应用范围也不一样在Case语句中,条件表达式是没有优先级的,如优先级编码器可以用If语句来描述,但不可以用Case语句描述。除了case以外,还有相关的casex和casez语句,如用casex可以实现优先编码器31循环控制语句不一样循环控制语句有FOR_LOOP循环语句、WHILE_LOOP循环语句、Next语句、Exit语句for语句、repeat语句、while语句和forever语句32for循环控制语句格式不一样标号: For 循环变量 in 循环次数范围 Loop顺序描述语句;EndLoop标号;for (循环指针 = 初值; 循环指针 终值; 循环指针 = 循环指针 + 步长值) begin 语句; end33for循环中的循环变量存在区别循环变量不需要定义循环指针需要定义34while语句格式不一样标号: While 条件 Loop顺序描述语句;EndLoop标号;在循环体内,必须包含条件式中判别变量的赋值语句while(循环执行条件表达式);begin 重复执行语句; 修改循环条件语句;end35元件例化不一样COMPONENT 元件名GENERIC 说明; PORT 说明;END COMPONENT;例化名:元件名 PORT MAP(信号,); 设计模块名 (端口列表);36时钟定义不一样时钟列在PROCESS的敏感列表中,如若上升沿有效,则PROCESS(clk)begin if(clkEVENT AND clk=1)thenend process;在always结构中,上升沿直接体现的always的敏感列表中。如always(posedge clk)begin end37时钟边沿定义方式不一样上升沿(clkEVENT AND clk=1)下降沿(clkEVENT AND clk=0)上升沿posedge clk下降沿negedge clk38生成重复结构的能力不同有生成语句(generate)生成由大量相同单元构成的模块,格式为标号:FOR 循环变量 IN 取值范围 GENERATE说明部分BEGIN并行语句; - -元件例化语句,以重复产生并行元件。END GENERATE 标号;或者IF 条件 GENERATE说明部分BEGIN并行语句END GENERATE 标号; 没有对应的生成语句,有相近的实例数组,格式为 ();39子程序不一样procedure和functiontask和function40两者的注释方法不一样用- -引导注释信息用/或/*/注释1、用MOORE型状态机设计一个具有双向步进电动机控制实验:该控制电路有三个输入信号:clk时钟信号,clr复位信号,dir方向控制信号。输出信号为phase3.0用来控制步进电机的动作。当dir=1时要求phase3.0按照“0001”,“0010”,“0100”,“1000”的顺序变化;当dir=0时要求phase3.0按照“0001”,“1000”,“0100”,“0010”的顺序变化。module moore1(clk,clr,dir,phase);input clk,clr,dir;output3:0 phase;reg3:0 phase;reg1:0 state;parameter s0=b00,s1=b01,s2=b10,s3=b11;always(posedge clk)beginif(clr)beginphase=b0000;state=s0;endelsebegincase(state)s0:if(dir) beginphase=b0010;state=s1;endelse beginphase=b1000;state=s3;ends1:if(dir) beginphas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年地籍测量员技能鉴定高级面试重点题
- 2025年环保安全生态保护题集答案
- 2025年企业人力资源管理师三级考试预测题
- 2025年美容美发技能大师挑战赛试题及答案解析
- 2025年教育心理学家专业能力评估试题及答案解析
- 课件中文字的处理
- 2025年建筑师注册考试试题及答案解析
- 2025年建筑钢结构工程安全监理员职业资格考试试题及答案解析
- 2025年环境治理工程师职业技能考试试题及答案解析
- 2025年国际财务分析师资格考试试题及答案解析
- 泡沫箱子合同范本
- 地球物理勘探合同范本
- 《飞机结构与系统》课件-机翼结构
- 渠道维护工考试题库考点
- DL-光伏发电站电能质量检测技术规程
- 游戏传媒策划方案
- 变压器油色谱分析(详细超值版)
- 青少无人机科普教育方案课件
- 文物安全培训课件
- 传播学概论课件
- 大于号小于号等于号田字格描红
评论
0/150
提交评论