Verilog(9)
-
verilog 3
가산기 `timescale 1ns / 1ps module FA( input x, y, z, output c,s ); wire w1,w2,w3; xor(w1, x, y); xor(s, w1, z); and(w2,z,w1); and(w3,x,y); or(c,w2,w3); endmodule 1비트 가산기 모듈을 상위 모듈에서 불러 사용한다. module FA_4bit( input [3:0] x,y, input ci, output co, output [3:0] s ); wire [3:1] tc; FA A1 (.x(x[0]), .y(y[0]), .z(ci), .c(tc[1]), .s(s[0])); FA A2 (.x(x[1]), .y(y[1]), .z(tc[1]), .c(tc[2]), .s(s[1])); FA A3..
2023.03.10 -
Verilog-2
1. 연산자 (이어서) 산술 연산자의 사용 예 -d10 / 5 // (10의 2의 보수)/5 = (2^32-10)/5 5 / 0 // 5/0 = x (-7) % (+4) = -3 // 나머지, 왼쪽 오퍼랜드의 부호를 따른다. (+7) % (-2) = +1 // 정수, 레지스터 연산 예 integer intA; reg [15:0] regA; reg signed [15:0] regS; intA = -5'd12; regA = intA / 3; // -4, intA는 integer, regA는 65532 regA = -5'd12; // regA는 65524 intA = regA / 3; // 21841 intA = -5'd12 / 3; // 1431655761, -5d'12= 2^32-12 regA = -12 ..
2023.03.09 -
Verilog
반 가산기 설계 반가산기는 이전 자리수에서 올라온 올림수(carry)를 고려하지 않고 입력 두개만 고려하는 가산기를 반 가산기라 한다. 진리표 : x y co s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 논리식 s = x ^ y; // sum co = x & y; //carry out 모듈 정의 //1 module HA( input wire x, y, output wire co, s, reg co, s, ); //2 module HA(x,y,co,s); intput x, y; output co, s; 모듈은 c언어의 함수 선언과 유사하게 선언한다. 1번처럼 모듈을 선언할 때 내부 변수를 넣어도 되고 2번처럼 먼저 선언한 뒤 나중에 wire나 reg등을 따로 정의해도 된다. 모델링 방법 구..
2023.03.08