电子设计自动化技术 第五章 PROCESS STATEMENT
电子设计自动化技术 第五章 PROCESS STATEMENT
Process statement All the Process statement is executed in parallel Within the Process statement, the coding is execute in sequential Process Statement is i OUTPUT depends on INPUT with Sensitivity List to control the event happen
Process Statement • All the Process Statement is executed in parallel • Within the Process Statement, the coding is execute in sequential • Process Statement is : OUTPUT depends on INPUT with Sensitivity List to control the event happen
Process Statement for Combinational Logic
Process Statement for Combinational Logic
Process statement There are some rules for the Process Statement usage any kind of Process Statement must have SENSTTYLIST sensitivity list contains the signals that cause the process statement to execute if their values change the statement within the process Statement will be execute STEP-BY- STEP
Process Statement • There are some rules for the Process Statement usage • any kind of Process Statement must have SENSITIVITY LIST • sensitivity list contains the signals that cause the process statement to execute if their values change • the statement within the Process Statement will be execute STEP-BYSTEP
Template for Process Statement Using the"sENsitiviTY list-General format for a Process Statemtent name Process begin PROCESS (sensitivity list) begin end process; sequential statement #1 sequential statement #2 Sensitivity Li sequential statement# N sequential Statement END PROCESS name, The sequential statement execute one by one name
Template for Process Statement Using the “SENSITIVITY LIST” name : PROCESS (sensitivity_list) begin sequential statement #1 sequential statement #2 ....... sequential statement # N END PROCESS name; General format for a Process Statemtent Process ( ) begin .. end process; Sensitivity List Sequential Statement The sequential statement execute one by one name is o ptional
Example will be more clear Entity testI is port(a, b, sell, sel2 in bit; result: out bit); end testl architecture testl body of test1l begin rocess(sell, sel2, a, b) pb egin if(sell =1)then result <=a: 1 elsif (sel2='1")then result<= ba else Result change if sell, sel2, a or b change the value result<=0’; end if We can do the same join with Concurrent Statement en d rocess end testl body;
Example will be more clear Entity test1 is port (a, b, sel1, sel2 : in bit; result : out bit); end test1; architecture test1_body of test1 is begin process (sel1, sel2, a, b) begin if (sel1 = ‘1’) then result <= a; elsif (sel2 = ‘1’) then result <= b; else result <= ‘0’; end if; end process; end test1_body; Result change if sel1, sel2, a or b change the value We can do the same join with Concurrent Statement
Concurrent statement Process statement Entity testl is Entity testI is port(a, b, sell, sel2: in bit port(a, b, sell, sel2 in bit; result:out bit) result: out bit); end testl end testl architecture testl_body of testl is architecture testl body of testl is begil egl result < a when sell= 1'else process(sell, sel2, a, b) b when sel2=l else begin 0’ if(sell="1,)then end testl body result <= a: elsif (sel2='1)then nIt <= bs result<=“0 Same function but different end if way to do the coding end proces end testl body
Entity test1 is port (a, b, sel1, sel2 : in bit; result : out bit); end test1; architecture test1_body of test1 is begin result <= a when sel1 = ‘1’ else b when sel2 = ‘1’ else ‘0’; end test1_body; Entity test1 is port (a, b, sel1, sel2 : in bit; result : out bit); end test1; architecture test1_body of test1 is begin process (sel1, sel2,a, b) begin if (sel1 = ‘1’) then result <= a; elsif (sel2 = ‘1’) then result <= b; else result <= ‘0’; end if; end process; end test1_body; Same function but different way to do the coding Concurrent Statement Process Statement
Q: What is the different between Concurrent and Process Statement A: For this simple example, both Concurrent and Process can do the same job.。 But some function must use process Statement to do
Q : What is the different between Concurrent and Process Statement A : For this simple example, both Concurrent and Process can do the same job. But some function must use Process Statement to do
How to? Now I know what is Sequential Logic but Q: How to implement of Sequential Logic in VHDL? Sequential Logic can be implemented by Process Statement describe the logic with some CLOCK signal
How to ... ? • Now I know what is Sequential Logic but Q : How to implement of Sequential Logic in VHDL? • Sequential Logic can be implemented by • Process Statement describe the logic with some CLOCK signal
Process statement for Sequential Logic
Process Statement for Sequential Logic