입력과 출력의 관계를 기술한 설계방식으로, 문장의 순서와는 무관하게 신호가 들어오는 대로 진행한다. 병행처리문(Concurrent Statement)에 주로 사용한다.

1) boolean_expression1 = 참(True)이면 signal <= expression1이 실행
2) boolean_expression2 = 참(True) 이면 signal <= expression2이 실행
3) 위의 2가지 조건이 모두 성립하지 않으면 signal <= expression3이 실행된다.

1) expression = constant_value1 이면 signal <= expression1이 실행
2) expression = constant_value2 이면 signal <= expression2이 실행
3) expression = constant_value3 이면 signal <= expression3이 실행

type은 사용자가 직접 지정하는 변수로, 위 그림에서 (RESET, APPLY, WAITS, HOLD, RECEIVE)개 중 하나의 상태를 가질 수 있다. 여기서 APPLY, WAITS, RESET을 사용하면 값이 바뀌게 된다. 3개 이외의 값을 사용하면 Unaffected를 통해 기존에 값을 계속 사용하게 된다.
Design source가 잘 짜여졌는지 확인하려면 simulation을 해야한다. 하는 방법은 다음과 같다.

구조적 표현은 우리가 만든 디자인을 하드웨어의 구조로 표현하는 방식이다. 우리가 design source를 simulation source로 실행할 때, simulation source가 structural descriptions이라고 할 수 있다. 아래와 같은 특성을 지닌다.