-
[디지털시스템] Design AND, OR and XOR gates.Dream/전공과목 (전전) 2020. 9. 13. 01:08
1. 실험목표
앞서 배운 AND 게이트, OR 게이트, XOR 게이트를 VHDL을 이용하여 모델링 해봄으로써 기본적인 VHDL 코딩에 대한 이해를 한다.
2. 실험내용
1) Design AND, OR and XOR gates
우선 AND, OR, and XOR gates는 하나의 동일한 architecture에서 실행 되어야 하므로 설계 시에 c_and와 c_or 그리고 c_xor을 동시에 시행되도록 코드를 짠다. Input은 a와 b, Output은 c_and, c_or, c_xor로 설정한 후 옆의 코드와 같이 Dataflow modeling 방식으로 간단하게 설계한다. 이때 entity의 이름은 반드시 basic_gate가 되어야 함을 명심한다(조건).
2) Simulation waveform
3. 고찰
이번 과제는 앞서 수업시간에 배웠던 AND 게이트와 OR 게이트 그리고 XOR 게이트를 VHDL Code로 설계하는 과제였다. 위 세 가지 게이트는 로직이 간단하고 또 많이 접해봤는지라 사실 과제 PPT와 수업 자료를 보면서 설계를 하면 그렇게까지 크게 어려운 과제는 아니였다. 하지만 Vivado Simulator가 아닌 ISE를 사용하였기 때문에 중간에 설계를 할 시점에 살짝 헷깔리는 부분이 있었다. 예를 들면 VIVADO와 ISE는 전체적인 흐름은 비슷하지만 인터페이스 부분에서 살짝 다른 부분이 있었다. 시뮬레이션을 돌릴 때 ISE는 Hierarchy 밑에 바로 simulation을 돌릴 수 있는 버튼이 있지만 VIVADO 에서는 왼쪽에 따로 툴바가 있어 다른 차이가 있었다. 하지만 이외에는 거의 비슷하여 취향대로 사용하면 될 것 같다. 또 논리 게이트들을 설계할 때 이미 어떻게 설계하는지도 수업 시간에 배웠고 또 많이 해봤음에도 불구하고 처음에 ‘어? 어떻게 해야하지...?’하면서 잠시 생각이 멈췄었다. 또한 C언어 코딩과 VHDL 코딩을 헷깔려 하여 ‘C <= a and b’를 자꾸만 ‘왜 갑자기 C가 a랑 b보다 작거나 같은게 and 게이트 코딩이지...?’라고 바보같이 생각하기도 하였다. 이는 아직 VHDL 코딩 자체에 익숙하지 않아서 그런 것이라고 추론할 수 있으며 앞으로 더 많은 연습과 노력을 기울인다면 충분히 해결될 수 있다고 생각한다. 오늘 이렇게 설계를 해봄으로써 비록 정말 간단한 논리 게이트 설계였지만 수업에서만 보던 논리 게이트들을 실제로 설계하고 실행시켰다는 점에서 확실하게 VHDL과 VHDL 설계에 대한 이해가 높아졌음을 체감할 수 있었다.
'Dream > 전공과목 (전전)' 카테고리의 다른 글