EAD课程-第6章VHDL并行语句_第1页
EAD课程-第6章VHDL并行语句_第2页
EAD课程-第6章VHDL并行语句_第3页
EAD课程-第6章VHDL并行语句_第4页
EAD课程-第6章VHDL并行语句_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1VHDL语言的并行描述语句语言的并行描述语句 并行语句又称并发语句,是最具有并行语句又称并发语句,是最具有VHDLVHDL特色的特色的语句结构。语句结构。 并行语句具有多种语言格式,各并行语句在结并行语句具有多种语言格式,各并行语句在结构体中的执行是同步进行的,或者说是并发运行的,构体中的执行是同步进行的,或者说是并发运行的,其执行方式与书写的顺序无关。其执行方式与书写的顺序无关。 同一结构中的各并行语句之间可以是相互独立同一结构中的各并行语句之间可以是相互独立的、不相关的,也可以进行信息传递。的、不相关的,也可以进行信息传递。 在并行语句内部可以嵌套其他语句,嵌套的语在并行语句内部可以嵌套

2、其他语句,嵌套的语句可以并行执行,也可以顺序执行。句可以并行执行,也可以顺序执行。2VHDL语言的并行描述语句语言的并行描述语句 在在VHDLVHDL语言中,并行语句主要有六种:语言中,并行语句主要有六种: 进程语句进程语句 块语句块语句 并行信号赋值语句并行信号赋值语句 子程序和并行过程调用语句子程序和并行过程调用语句 元件例化语句元件例化语句 生成语句生成语句3 进程(进程(PROCESSPROCESS)语句是在结构体中用来描述)语句是在结构体中用来描述特定电路功能的程序模块,它提供了一种用顺序语特定电路功能的程序模块,它提供了一种用顺序语句描述电路逻辑功能的方法。句描述电路逻辑功能的方法

3、。 一个结构体中可以有多个并行运行的进程结构,一个结构体中可以有多个并行运行的进程结构,而每个进程结构的内部由一组顺序语句组成。而每个进程结构的内部由一组顺序语句组成。 进程语句结构具有并行执行和顺序处理的双重进程语句结构具有并行执行和顺序处理的双重特性。特性。 4 (1 1)进程语句的结构)进程语句的结构 进程标号进程标号: PROCESS (敏感信号参数表敏感信号参数表) IS进程说明部分进程说明部分 BEGIN顺序描述语句顺序描述语句 END PROCESS 进程标号进程标号; 格式:格式: 当敏感信号表中的某个信号发生变化时,立即当敏感信号表中的某个信号发生变化时,立即启动进程语句,将

4、进程中的顺序语句按顺序循环执启动进程语句,将进程中的顺序语句按顺序循环执行,直到敏感信号稳定不变为止。行,直到敏感信号稳定不变为止。 5 (2 2)进程语句的组成)进程语句的组成 进程说明部分进程说明部分 进程语句的结构由三部分组成,即进程说明部进程语句的结构由三部分组成,即进程说明部分、顺序描述语句部分和敏感信号参数表。分、顺序描述语句部分和敏感信号参数表。 用于定义该进程所需要的局部数据环境。如:用于定义该进程所需要的局部数据环境。如:数据类型、常数、属性、子程序等。数据类型、常数、属性、子程序等。 注意:注意:不能在进程内部定义信号和共享变量,不能在进程内部定义信号和共享变量,信号只能在

5、结构体说明中定义。信号只能在结构体说明中定义。 6 (2 2)进程语句的组成)进程语句的组成 顺序描述语句部分顺序描述语句部分 是一段顺序执行语句,用于描述该进程的行为。是一段顺序执行语句,用于描述该进程的行为。 信号赋值语句:信号赋值语句:在进程中将计算或处理的结果赋在进程中将计算或处理的结果赋值给信号。值给信号。 变量赋值语句:变量赋值语句:在进程中以变量的形式存储计算在进程中以变量的形式存储计算的中间值。的中间值。 子程序调用语句:子程序调用语句:对已定义的过程和函数进行调对已定义的过程和函数进行调用,并参与计算。用,并参与计算。7 (2 2)进程语句的组成)进程语句的组成 顺序描述语句

6、部分顺序描述语句部分 进程启动语句:进程启动语句:当当PROCESSPROCESS语句未列出任何敏感语句未列出任何敏感信号时,进程的启动可通过信号时,进程的启动可通过WAITWAIT语句来实现。语句来实现。 顺序描述语句:顺序描述语句:包括包括IFIF语句、语句、CASECASE语句、语句、LOOPLOOP语语句和句和NULLNULL语句。语句。 进程跳出语句:进程跳出语句:包括包括NEXTNEXT语句和语句和EXITEXIT语句。语句。 敏感信号参数表敏感信号参数表 用于启动本进程可读入的信号名。用于启动本进程可读入的信号名。8 【例例1 1】用进程语句描述异步清零计数器。用进程语句描述异步

7、清零计数器。 异步清零方式与时钟信号异步清零方式与时钟信号clkclk无关,当清零端无关,当清零端clr=0clr=0时,时,计数状态计数状态Q=0Q=0;当;当clr=1clr=1时,计数器为计数状态。时,计数器为计数状态。 PROCESSPROCESS ( ( clk, clrclk, clr ) ) BEGINBEGIN IFIF clr clr =0 0 THENTHEN Q Q= X“00”X“00”; ELSIF ELSIF ( ( clkclk =11ANDAND clkclkEVENTEVENT ) ) THENTHEN Q Q = Q Q + + 1 1; END IFEND

8、 IF; END PROCESSEND PROCESS;9 【例例1 1】用进程语句描述异步清零计数器。用进程语句描述异步清零计数器。 若计数器采用同步清零,则敏感表中可无若计数器采用同步清零,则敏感表中可无clrclr信号,此信号,此时进程如下:时进程如下: PROCESSPROCESS ( ( clk)clk) BEGINBEGIN IFIF ( ( clkclk =11ANDAND clkclkEVENTEVENT ) ) THENTHEN IF IF clrclr =0 0 THENTHEN Q Q= X“00”X“00”; ELSE ELSE Q Q = Q Q + + 1 1; E

9、ND IFEND IF; END IF END IF; END PROCESSEND PROCESS;10 块(块(BLOCKBLOCK)语句可以将一些实现某一特定功)语句可以将一些实现某一特定功能的并行语句组合在一起,其主要目的是利用多个能的并行语句组合在一起,其主要目的是利用多个块语句结构将一个复杂的结构体划分成几个不同功块语句结构将一个复杂的结构体划分成几个不同功能的模块,使复杂的结构体结构分明、功能明确,能的模块,使复杂的结构体结构分明、功能明确,使程序的编排更加清晰、更有层次,改善并行语句使程序的编排更加清晰、更有层次,改善并行语句的结构和可读性,便于程序的编写、调试和查错。的结构和

10、可读性,便于程序的编写、调试和查错。 11 (1 1)块语句的格式块语句的格式 块语句是将结构体中并行语句进行组合的一种方法。块语句是将结构体中并行语句进行组合的一种方法。 块标号:块标号: BLOCK 说明语句说明语句 BEGIN 并行语句并行语句 END BLOCK 块标号;块标号; 格式:格式: 说明语句:说明语句:主要包括接口说明和类属说明等,用来定义块主要包括接口说明和类属说明等,用来定义块内局部信号、数据类型、元件和子程序。内局部信号、数据类型、元件和子程序。 并行语句:并行语句:可以使用所有的并行语句。可以使用所有的并行语句。 12 (2 2)块语句的应用块语句的应用 利用块语句

11、可以将结构体中的并行语句划分成利用块语句可以将结构体中的并行语句划分成多个并行方式的子块,每一个子块都是一个独立的多个并行方式的子块,每一个子块都是一个独立的设计实体,具有自己的类属参数和界面端口,以及设计实体,具有自己的类属参数和界面端口,以及与外部环境的衔接描述。与外部环境的衔接描述。 块语句还可以实现嵌套,内层的块语句可以使块语句还可以实现嵌套,内层的块语句可以使用外层块语句所定义的信号,但外层块语句不能使用外层块语句所定义的信号,但外层块语句不能使用内层块语句定义的信号。用内层块语句定义的信号。 13 运算电路的输入为运算电路的输入为A A和和B B,输出为,输出为SUMSUM(八位和

12、)、(八位和)、SUBSUB(八位差),以及进位(八位差),以及进位COCO和借位和借位BOBO。 【例例2 2】试用块语句设计一个运算电路,包括一个八位加法试用块语句设计一个运算电路,包括一个八位加法器和一个八位减法器。器和一个八位减法器。 LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD IEEE.STD LOGICLOGIC 1164.1164.ALLALL; USEUSE IEEE.STD_LOGIC_UNSIGNED. IEEE.STD_LOGIC_UNSIGNED.ALLALL; ENTITY ENTITY add_sub add_sub ISIS

13、 PORTPORT(A,B: A,B: ININ STD STD LOGIC_VECTORLOGIC_VECTOR(7 7 DOWNTODOWNTO 0 0);); SUM, SUB:SUM, SUB: OUTOUT STD STD LOGIC_VECTORLOGIC_VECTOR(7 7 DOWNTODOWNTO 0 0);); CO, BO: CO, BO: OUTOUT STD STD LOGICLOGIC);); ENDEND add_sub add_sub;14 【例例2 2】试用块语句设计一个运算电路,包括一个八位加法试用块语句设计一个运算电路,包括一个八位加法器和一个八位减法器。

14、器和一个八位减法器。 ARCHITECTUREARCHITECTURE example12 example12 OFOF add_sub add_sub IS IS SIGNALSIGNAL AA,BB,SM,SB: STD_LOGIC_VECTOR(8 AA,BB,SM,SB: STD_LOGIC_VECTOR(8 DOWNTODOWNTO 0) 0); BEGINBEGIN AA AA = 0&A&A; BB BB = 0&B&B; WITHWITH s s SELECTSELECT ADDER: ADDER: BLOCKBLOCK BEGINBEGIN S

15、M SM = AAAA + + BBBB; SUM SUM = SM(SM( 7 7 DOWNTODOWNTO 0 0 ) ); CO CO = SM(SM( 8 8 ) ); END BLOCKEND BLOCK ADDER ADDER; - ADDER - ADDER块行为描述语句块行为描述语句 - - 运算结果送入运算结果送入SUMSUM - - 进位送入进位送入COCO15 【例例2 2】试用块语句设计一个运算电路,包括一个八位加法试用块语句设计一个运算电路,包括一个八位加法器和一个八位减法器。器和一个八位减法器。 SUBTRACTER SUBTRACTER: BLOCKBLOCK B

16、EGINBEGIN SB SB = AAAA - - BBBB; SUB SUB = SB(SB( 7 7 DOWNTODOWNTO 0 0 ) ); BO BO = SB(SB( 8 8 ) ); END BLOCKEND BLOCK SUBTRACTER SUBTRACTER; END END example12 example12; - SUBTRACTER - SUBTRACTER块行为描述语句块行为描述语句 - - 运算结果送入运算结果送入SUBSUB - - 借位送入借位送入BOBO16 并行信号赋值语句是将一个数据或一个表达式的运算结果并行信号赋值语句是将一个数据或一个表达式的运

17、算结果送给一个数据对象送给一个数据对象, ,其赋值目标必须是信号而不能是变量。其赋值目标必须是信号而不能是变量。 信号赋值语句可以位于进程语句中,也可以在进程语句之信号赋值语句可以位于进程语句中,也可以在进程语句之外。若出现在进程语句结构内,则属于顺序语句,否则为并外。若出现在进程语句结构内,则属于顺序语句,否则为并行信号赋值语句。行信号赋值语句。 并行信号赋值语句有三种形式:并行信号赋值语句有三种形式: 简单信号赋值语句简单信号赋值语句 条件信号赋值语句条件信号赋值语句 选择信号赋值语句选择信号赋值语句 17 (1 1)简单信号赋值语句简单信号赋值语句 是是VHDLVHDL并行语句结构中最基

18、本的单元。并行语句结构中最基本的单元。 格式:格式: 赋值目标赋值目标=表达式;表达式; 规则:规则: 赋值目标必须是信号;赋值目标必须是信号; 赋值目标的数据类型必须与表达式数据赋值目标的数据类型必须与表达式数据类型一致。类型一致。 例如:例如: OUT_1OUT_1 = B B ANDAND C C; 18 (2 2)条件信号赋值语句条件信号赋值语句 该语句与该语句与IFIF语句相类似,根据不同的赋值条件,语句相类似,根据不同的赋值条件,选择表达式中的值赋给赋值目标。选择表达式中的值赋给赋值目标。 赋值目标赋值目标 = 表达式表达式1 WHEN 赋值条件赋值条件1 ELSE 表达式表达式2

19、 WHEN 赋值条件赋值条件2 ELSE 表达式表达式n; 格式:格式: 在执行该语句时,结构体按赋值条件的书写顺在执行该语句时,结构体按赋值条件的书写顺序逐条测定,一旦发现满足赋值条件,立即将表达序逐条测定,一旦发现满足赋值条件,立即将表达式的值赋给赋值目标。式的值赋给赋值目标。19 【例例3 3】用条件赋值语句实现四选一数据选择器。用条件赋值语句实现四选一数据选择器。 ARCHITECTUREARCHITECTURE example5 example5 OFOF mux41 mux41 IS IS SIGNALSIGNAL s: STD_LOGIC_VECTOR( s: STD_LOGIC

20、_VECTOR( 1 1 DOWNTODOWNTO 0 0 ) ); BEGINBEGIN s s = s1&s0s1&s0; y y= d0 d0 WHENWHEN s s =“00” “00” ELSEELSE d1 d1 WHENWHEN s s =“01” “01” ELSEELSE d2 d2 WHENWHEN s s =“10” “10” ELSEELSE d3 d3; ENDEND example5 example5; - - 当当s s = 0000时,时,y y = d0d0 - - 当当s s = 0101时,时,y y = d1d1 - - 当当s s =

21、 1010时,时,y y = d2d2 - - 当当s s取其他值时,取其他值时,y y = d3d320 (3 3)选择信号赋值语句选择信号赋值语句 与与CASECASE语句相类似,以选择表达式的不同取值为选择条语句相类似,以选择表达式的不同取值为选择条件,将多个表达式的值赋给赋值目标。件,将多个表达式的值赋给赋值目标。 WITH 选择表达式选择表达式 SELECT 赋值目标赋值目标 = 表达式表达式1 1 WHEN 选择值选择值1, 1, 表达式表达式2 2 WHEN 选择值选择值2, 2, 表达式表达式n n WHEN 选择值选择值n n; 格式:格式: 该语句对子句中的该语句对子句中的

22、“选择值选择值”进行选择,当子句中进行选择,当子句中“选择值选择值”与与“选择表达式选择表达式”的值相同时,则将子句中的的值相同时,则将子句中的“表达式表达式”的值赋给赋值目标。的值赋给赋值目标。 规则:规则: 该语句不允许有选择值重叠现象;该语句不允许有选择值重叠现象; 该语句不允许选择值涵盖不全的情况;该语句不允许选择值涵盖不全的情况; 每个子句以每个子句以“,”,”号结束,最后一个子句以号结束,最后一个子句以“;”;”结束。结束。21 用选择信号赋值语句实现四选一数据选择器。用选择信号赋值语句实现四选一数据选择器。 ARCHITECTUREARCHITECTURE example6 ex

23、ample6 OFOF mux41 mux41 IS IS SIGNALSIGNAL s: STD_LOGIC_VECTOR( s: STD_LOGIC_VECTOR( 1 1 DOWNTODOWNTO 0 0 ) ); BEGINBEGIN s s = s1&s0s1&s0; WITHWITH s s SELECTSELECT y y 实参数表达式,实参数表达式, 形参数名称形参数名称=实参数表达式);实参数表达式); 形参数名称:形参数名称:是对被调用的过程已做说明的参数名。是对被调用的过程已做说明的参数名。 实参数表达式:实参数表达式:是一个标识符或具体数值,是当前是一个

24、标识符或具体数值,是当前过程调用中形参数的接受体。过程调用中形参数的接受体。 对应关系:对应关系:位置关联位置关联 名称关联名称关联 26 (2 2)过程的调用过程的调用 过程调用需完成的内容:过程调用需完成的内容: 将实参数值赋给被调用过程的形参数;将实参数值赋给被调用过程的形参数; 执行过程;执行过程; 将过程中的形参数值返回给对应的实参数。将过程中的形参数值返回给对应的实参数。 过程调用有两种方式:过程调用有两种方式: 顺序语句方式:顺序语句方式: 并行语句方式:并行语句方式: 即在进程中的过程调用。即在进程中的过程调用。 即在结构体或块中的过程调用。即在结构体或块中的过程调用。27 【

25、例例4 4】试用过程语句编写实现数据求和的运算程序。试用过程语句编写实现数据求和的运算程序。 LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164.ALLALL; USEUSE IEEE.STD_LOGIC_ARITH. IEEE.STD_LOGIC_ARITH.ALLALL; USEUSE IEEE.STD_LOGIC_UNSIGNED. IEEE.STD_LOGIC_UNSIGNED.ALLALL; ENTITYENTITY add add ISIS PORT ( PORT ( A,A, B,B,

26、 C: C: ININ STD_LOGIC_VECTOR( STD_LOGIC_VECTOR( 3 3 DOWNTODOWNTO 0 0 ) ); CLK,CLK, SET: SET: ININ STD_LOGIC STD_LOGIC; S: S: OUTOUT STD_LOGIC_VECTOR ( STD_LOGIC_VECTOR ( 3 3 DOWNTODOWNTO 0 0 ); ENDEND add add; ARCHITECTUREARCHITECTURE example15 example15 OFOF add add ISIS PROCEDUREPROCEDURE add_1 (

27、add_1 ( VARIABLEVARIABLE data1,data2,data3: data1,data2,data3: ININ STD_LOGIC_VECTOR STD_LOGIC_VECTOR; VARIABLEVARIABLE dataout: dataout: OUTOUT STD_LOGIC_VECTOR STD_LOGIC_VECTOR) ISIS BEGIN BEGIN dataout: dataout:= data1data1 + data2data2 + data3data3; ENDEND add_1 add_1; -过程体定义过程体定义28 【例例4 4】试用过程语

28、句编写实现数据求和的运算程序。试用过程语句编写实现数据求和的运算程序。 BEGINBEGIN PROCESSPROCESS(CLKCLK) VARIABLEVARIABLE tmp: STD_LOGIC_VECTOR( tmp: STD_LOGIC_VECTOR( 3 3 DOWNTODOWNTO 0 0 ) ); BEGINBEGIN IFIF (CLKCLK =11ANDAND CLK CLKEVENTEVENT) THENTHEN IFIF SET SET =1 1 THENTHEN tmp: tmp:=“0000”“0000”; ELSEELSE add_1 add_1(A, B, C

29、, tmpA, B, C, tmp);); END IFEND IF; END IFEND IF; S S 实参数表达式,实参数表达式, 形参数名称形参数名称=实参数表达式);实参数表达式);32 【例例5 5】使用函数定义使用函数定义FUNCTIONFUNCTION语句描述求最小数电路。语句描述求最小数电路。 LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164.ALLALL; ENTITYENTITY min min ISIS PORTPORT ( ( A,A, B: B: ININ STD_LO

30、GIC_VECTOR ( STD_LOGIC_VECTOR ( 7 7 DOWNTODOWNTO 0 0 ) ); Y: Y: OUTOUT STD_LOGIC_VECTOR ( STD_LOGIC_VECTOR ( 7 7 DOWNTODOWNTO 0 0 ); ENDEND min min; 33 【例例5 5】使用函数定义使用函数定义FUNCTIONFUNCTION语句描述求最小数电路。语句描述求最小数电路。 ARCHITECTUREARCHITECTURE example16 example16 OFOF min min ISIS FUNCTIONFUNCTION min ( min

31、( a,a, b: b: ININ STD_LOGIC_VECTOR) STD_LOGIC_VECTOR) RETURNRETURN STD_LOGIC_VECTOR STD_LOGIC_VECTOR; FUNCTIONFUNCTION min ( min ( a,a, b: b: ININ STD_LOGIC_VECTOR STD_LOGIC_VECTOR) RETURN RETURN STD_LOGIC_VECTOR STD_LOGIC_VECTOR ISIS BEGINBEGIN IFIF ( ( a a b) b) THENTHEN RETURNRETURN a a; ELSEELSE

32、 RETURNRETURN b b; END IFEND IF; ENDEND min min; BEGINBEGIN Y Y D2,D2, b b = D3,D3, s s = S0,S0, y y = B B ) ); U3: mux2 U3: mux2 PORT MAPPORT MAP ( ( A,A, B,B, S1, yS1, y = Y Y ) ); ENDEND exmple13 exmple13;-元件例化元件例化 -元件定义元件定义- 位置关联方式位置关联方式 - 名称关联方式名称关联方式- 混合关联方式混合关联方式 【例例6】试用元件例化语句,将四选一数据选择器用二选一来试

33、用元件例化语句,将四选一数据选择器用二选一来实现。实现。 39 底底层文件层文件: LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164.ALLALL; ENTITYENTITY mux2 mux2 ISIS PORTPORT ( ( a,a, b,b, s: s: ININ STD_LOGIC STD_LOGIC; y: y: OUTOUT STD_LOGIC) STD_LOGIC); ENDEND mux2 mux2; ARCHITECTUREARCHITECTURE example13 exam

34、ple13 OFOF mux2 mux2 ISIS BEGINBEGIN y y ”号将元件定义中的信号名与号将元件定义中的信号名与PORT PORT MAP ( )MAP ( )中所列的信号名连接起来。中所列的信号名连接起来。 如:如:U2:U2: mux2 mux2 PORTPORT MAP MAP (a(a=D2,bD2,b=D3,sD3,s=S0,yS0,y=B)B); 是在是在PORT MAP( )PORT MAP( )的信号连接关系中含有上述的信号连接关系中含有上述的两种方式。的两种方式。 如:如:U3: mux2 U3: mux2 PORT MAPPORT MAP (A,B,S1

35、,y (A,B,S1,y=Y)Y);41 生成(生成(GENERATEGENERATE)语句具有复制功能,可以对)语句具有复制功能,可以对有规律设计结构的逻辑描述进行简化。有规律设计结构的逻辑描述进行简化。 当设计一个由多个相同单元模块组成的电路时,当设计一个由多个相同单元模块组成的电路时,只要根据某些条件,设计好某一个元件,就可以用只要根据某些条件,设计好某一个元件,就可以用生成语句复制一组完全相同的并行元件或设计单元生成语句复制一组完全相同的并行元件或设计单元来组成电路。来组成电路。 42 生成语句有两种格式:生成语句有两种格式: 6.6 6.6 生成语句生成语句 格式格式1 1: 标号标

36、号: FOR 循环变量循环变量 IN 取值范围取值范围 GENERATE 说明部分说明部分 BEGIN 并行语句;并行语句; END GENERATE 标号标号; 43 生成语句有两种格式:生成语句有两种格式: 6.66.6 生成语句生成语句 格式格式2 2: 标号标号: IF 条件条件 GENERATE 说明部分说明部分 BEGIN 并行语句;并行语句; END GENERATE 标号标号;44 生成语句的格式由四部分组成:生成语句的格式由四部分组成: 使用使用FORFOR语句或语句或IFIF语句结构,来规定重复生语句结构,来规定重复生成并行语句的方式;成并行语句的方式; 通过说明部分,对元

37、件数据类型、子程序、通过说明部分,对元件数据类型、子程序、数据对象进行局部的说明;数据对象进行局部的说明; 并行语句主要用生成语句来复制一组相同的并行语句主要用生成语句来复制一组相同的并行元件,其语句包括所有的并行语句,甚至生成并行元件,其语句包括所有的并行语句,甚至生成语句本身,可实现嵌套式生成结构;语句本身,可实现嵌套式生成结构; 标号是可选择项,在嵌套式生成结构中起着标号是可选择项,在嵌套式生成结构中起着十分重要的作用。十分重要的作用。 6.66.6 生成语句生成语句 45 【例例7 7】试用格式试用格式1 1的生成语句,描述用的生成语句,描述用D D触发器组成的八位移触发器组成的八位移

38、位寄存器。位寄存器。 d q cpd q cpd q cpd q cpd q cpd q cpd q cpd q cpDinDin CLKCLKDoutDout Q0 Q1 Q0 Q1 Q2 Q2 Q3 Q3 Q4 Q4 Q5 Q5 Q6 Q7Q6 Q7 描述描述D D触发器的源程序触发器的源程序 LIBRARYLIBRARY IEEE IEEE; USEUSE IEEE.STD_LOGIC_1164. IEEE.STD_LOGIC_1164.ALLALL; ENTITYENTITY ff_d ff_d ISIS PORTPORT ( ( d, cp: d, cp: ININ STD_LOGIC STD_LOGIC; q: q: OUTOUT STD_LOGIC STD_LOGIC ) ); ENDEND ff_d ff_d; ARCHITECTUREARCHITECTURE example14 example14 OFOF ff_d ff_d ISIS BEGINBEGIN PROCESSPROCESS(cpcp) BEGINBEGIN IFIF cp cp =11ANDAND cp cpEVENT EVENT THENTHEN q q=d d; END IFEND IF; EN

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论