본문 바로가기

VERILOG

(20)
순차논리회로 코드 모음 // SR Latch 모듈 module rs_latch( input r, s, output q, qbar ); nor(q, r, qbar); nor(qbar, s, q); endmodule // Enable 기능이 추가된 RS Latch 모듈 module rs_latch_en( input r, s, input en, output q, qbar ); wire and1_out; wire and2_out; and(and1_out, r, en); and(and2_out, s, en); nor(q, and1_out, qbar); nor(qbar, and2_out, q); endmodule // Negative Edge Triggered D Flip-Flop 모듈 module d_flip_flop_n( input ..
Verilog HDL 문법(구조적(Structural),dataflow,동작적(Behaviroal)모델링,조합논리회로,순차논리회로) 우선 Verilog 코드를 3가지 모델링으로 나눌 수가 있습니다. 1. 구조적(Structural) 모델링 논리 게이트, 플립플롭 등을 사용한 연결을 표현 기존 설계한 회로를 포함한 netlist를 사용 가장 최상위 모델링 해당 코드는 밑의 half_adder 모듈을 인스턴스화해서 fulladder를 구조적 모델링을 한 코드입니다. module fulladder_structural( //구조적 모델링 input a,b,cin, output sum,carry ); wire sum_0, carry_0, carry_1; half_adder ha0 (.a(a), .b(b), .sum(sum_0), .carry(carry_0)); half_adder ha1 (.a(sum_0), .b(cin), .sum(sum),..
Verilog - reg 와 wire 그리고 in, out, inout 입출력 Verilog에서 reg와 wire는 데이터 타입을 나타내는 키워드입니다. reg는 레지스터를 나타내는 데이터 타입입니다. reg는 시뮬레이션 동작을 모델링하거나 상태를 저장하기 위해 사용됩니다. 이는 순차 논리 (sequential logic)를 표현하는 데에 주로 사용됩니다. reg는 시뮬레이션에서 값을 저장하고 갱신하는 역할을 수행합니다. 순차 블록 내에서 값이 변경되거나, 레지스터에 할당되는 동작을 나타내는 데에 사용됩니다. always 문을 사용하고자 한다면 reg 로 counter를 선언해줘야합니다. wire는 연결선을 나타내는 데이터 타입입니다. wire는 논리 게이트의 출력이나 모듈 간의 데이터 흐름을 나타내기 위해 사용됩니다. 이는 조합 논리 (combinational logic)를 표현..
VERILOG - VIVADO, VITIS 설치 방법 VIVADO - 하드웨어 개발 툴 VITIS - 소프트웨어 개발 툴 여담 [AMD사이트에서 VIVADO 를 깔면 VITIS가 같이 설치되지않습니다. VITIS를 깔면 VIVADO가 같이 설치됩니다. 그래서 밑의 링크는 VITIS 링크입니다. 2019.2 버전입니다. 2019.2 이전의 버전은 VITIS의 이전버전인 SDK여서 의미가 없습니다. 2020 이후의 버전은 용량이 너무 커지고 2019.2 버전과 크게 차이가 없기에 2019.2버전을 추천드립니다.] ​ https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/vitis/archive-vitis.html 위의 링크를 통해서 들어가면 VITIS Archive가 있..