(260105) verilog연습/ tb에서 fork-join/event-wait/force-release/ 등 연습문제
간단한 예제 실행module tb; int fin, fout; reg [255:0] text;initial begin fin = $fopen("file_in.txt" ,"r"); fout = $fopen("file_out.txt","w"); $fscanf(fin,"%s",text); $fdisplay(fout,"%s",text); $display("%s",text); $fclose(fin); $fclose(fout); end reg [ 7:0] mem_8bit [7:0]; reg [15:0] mem_16bit[3:0]; reg [ 3:0] mem_4bit [7:0]; initial begin $readmemh("8bit.mem" ,mem_8bit ); $readmemh("16bit.mem",mem_1..
2026. 1. 5.
(260102) Verilog/ Modeling Practice
Stimulus는 "설계한 회로가 제대로 돌아가는지 보려고 가상의 입력값들을 순서대로 넣어주는 행위"이며, 이를 위해 작성하는 코드를 Testbench라고 합니다.1. gate level// Code your design here module adder_gatelevel( input [1:0] a, b, output [1:0] sum, output carry_out ); // 중간 아웃풋(임시 선로) 정의: 각 게이트 사이의 연결점 wire and1_out, xor3_out, and2_out, and3_out; // Bit 0 계산 (Half Adder 구조) xor (sum[0], a[0], b[0]); and (and1_out, a..
2026. 1. 2.
(260102) verilog 연습_ Gate Level Modeling/
1. gate-level 예제- 첫번째가 아웃풋, 두 번째부터가 인풋/- wire : 임시 선로의 이름 지정./ '임시 선로' 혹은 **'내부 신호(Internal Signal)설계를 시작할 때 이 '중간 아웃풋(임시 선로)'들의 이름을 먼저 정해주고(wire 선언), 그 이름들을 사용해 게이트들을 차례대로 조립해 나가는 것이 Gate-level 모델링의 기본 순서입니다.이 방식은 회로가 복잡해질수록 이름 붙이기가 매우 힘들어집니다.module mux_gatelevel( input a, b, input A, B, C, D, output Q ); wire a_not, b_not; wire A_pick, B_pic..
2026. 1. 2.