본문 바로가기

[Nexys4 DDR]10

[Nexys4 DDR 프로젝트] Flip Flop 만들기 안녕하세요. Verilog입니다. 오늘은 Sequential Circuit인 Flip-Flop들을 코딩으로 만들어 보려고 합니다. Flip-Flop은 메모리의 가장 기본적인 파트로 이전상태를 기억하는 회로 입니다. 오늘 만들어 볼 플립플롭은 D Flip Flop과 T Flip Flop을 만들어 보겠습니다. D 플립플롭의 회로와 Truth Table은 아래 그림과 같습니다. 클락에 맞춰서 Output Q는 D의 결과를 따라가는 플립플롭입니다. D Flip Flop은 Behavioral Modeling을 통해서 작성할 수 있습니다. 코드는 아래와 같습니다. -------------------------------------------------------------------------------module.. 2019. 3. 16.
[Nexys4 DDR 프로젝트] Multi 7-Segment 구현 안녕하세요. VeriLog입니다. 이번 시간에는 Nexys4DDR에 있는 7-segment 사용법에 대해서 배워보려고 합니다. 지난 시간에 Behavioral Modeling 방법을 사용해 7-Segment Decoder를 만들어 보았습니다. 하지만, 한가지 문제가 있었습니다. 바로, 임의의 숫자를 표시하면, 그 숫자가 모든 7-segment에 표시가 된다는 문제점 이었습니다. 이는 모든 Cathode가 이어져 있기 때문입니다. 이 문제점을 해결하기 위해서는, Anode를 켰다가 껐다가를 반복하면서 원하는 숫자를 표시해야합니다. 예를 들어 4개의 7-Segment에서 0123이라는 숫자를 표시하고 싶다면, 1. Anode[3] On, Others Off2. Cathode —> 0표시3. Anode[2] .. 2019. 3. 10.
[Nexys4 DDR 프로젝트] Behavioral Modeling 안녕하세요. VeriLog입니다. 오늘은 HDL의 마지막 방법인 Behavioral Modeling에 대해서 배워보고자 합니다. Behavioral Modeling은 C언어와 가장 유사한 방법이라서, 사용하기에는 제일 친숙하지만, Vivado가 Synthesis하는 과정에서, LUT나 Flip Flop들을 지나치게 많이 사용할 수도 있는 단점을 가지고 있습니다. 따라서, Gate-Level, Dataflow Modeling과 적절하게 사용해야 좋은 Hardware Design을 할 수 있습니다. Behavioral Modeling은 설계의 기능을 알고리즘 위주로 기술하는 방법입니다. Initial, Always 등의 구문을 주로 사용하는 방식입니다. Initial 은 Time = 0 일때 실행되는 구문이.. 2019. 2. 21.
[Nexys4 DDR 프로젝트] Dataflow Modeling 안녕하세요. VeriLog입니다. 오늘은 HDL의 두번째 방법인 Dataflow Modeling에 대해서 배워보도록 하겠습니다. Dataflow Modeling은 입력 – 출력 사이의 신호 흐름을 연산자를 사용하여 직접적으로 나타내는 방법입니다. Dataflow Modeling의 문법은 다음과 같습니다. assign (delay) (list_of_assignments) (delay)는 옵션이고, (list_of_assignment)는 LSH = RHS expression의 형식입니다. 예를 들어보면, assign #3 c = a & b ; 와 같이 표현할 수 있습니다. 이때, #3은 3unit delay를 의미하며, c 는 a와 b의 and의 결과를 얻을 수 있는 것을 볼 수 있습니다. Dataflow에.. 2019. 2. 21.