[FPGA] 전가산기

2022. 10. 5. 19:46· FPGA
목차
  1. 전가산기 설계
  2. Design Source
  3. Schematic
  4. Simulation Source
  5.  
  6. Timing Chart
  7.  
  8. constraints
  9. 전가산기 FPGA 회로 구성
  10. 작동사진
반응형

전가산기 설계

입력 출력
A B Cin sum carry
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

Design Source

`timescale 1ns / 1ps

module FullAdder(
    input i_a, i_b, i_c,

    output o_sum, o_carry
    );

    wire w_sum_A, w_carry_A, w_carry_B;

    HalfAdder HA0(
    .i_a(i_a),              // .매개변수(입력값)
    .i_b(i_b),
    .o_sum(w_sum_A),          // 선으로 연결  
    .o_carry(w_carry_A)
    );

    HalfAdder HA1(
    .i_a(w_sum_A),
    .i_b(i_c),
    .o_sum(o_sum),
    .o_carry(w_carry_B)
    );

    assign o_carry = w_carry_A | w_carry_B;
endmodule

Schematic

Simulation Source

`timescale 1ns / 1ps

module tb_FullAdder();

    reg i_a, i_b, i_c;
    wire o_sum, o_carry;

    FullAdder dut(
    .i_a(i_a),
    .i_b(i_b),
    .i_c(i_c),
    .o_sum(o_sum),
    .o_carry(o_carry)
    );

    initial begin
        #00 i_a = 1'b0; i_b = 1'b0; i_c = 1'b0;
        #10 i_a = 1'b0; i_b = 1'b0; i_c = 1'b1;
        #10 i_a = 1'b0; i_b = 1'b1; i_c = 1'b0;
        #10 i_a = 1'b0; i_b = 1'b1; i_c = 1'b1;
        #10 i_a = 1'b1; i_b = 1'b0; i_c = 1'b0;
        #10 i_a = 1'b1; i_b = 1'b0; i_c = 1'b1;
        #10 i_a = 1'b1; i_b = 1'b1; i_c = 1'b0;
        #10 i_a = 1'b1; i_b = 1'b1; i_c = 1'b1;
        #10 $finish;
    end

endmodule

 

Timing Chart

 

constraints

## Switches

set_property -dict { PACKAGE_PIN V17  IOSTANDARD LVCMOS33 } [get_ports { i_a }]; #IO_L19N_T3_A09_D25_VREF_14 ,Sch=SW0
set_property -dict { PACKAGE_PIN V16  IOSTANDARD LVCMOS33 } [get_ports { i_b }]; #IO_L19P_T3_A10_D26_14      ,Sch=SW1
set_property -dict { PACKAGE_PIN W16  IOSTANDARD LVCMOS33 } [get_ports { i_c }]; #IO_L20P_T3_A08_D24_14      ,Sch=SW2

## LEDs

set_property -dict { PACKAGE_PIN U16  IOSTANDARD LVCMOS33 } [get_ports { o_sum}]; #IO_L23N_T3_A02_D18_14        ,Sch=LED0
set_property -dict { PACKAGE_PIN E19  IOSTANDARD LVCMOS33 } [get_ports { o_carry}]; #IO_L3N_T0_DQS_EMCCLK_14      ,Sch=LED1

## Configuration options, can be used for all designs
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]

 

전가산기 FPGA 회로 구성

작동사진

i_c = 0, i_b = 0, i_a = 0
i_c = 1, i_b = 0, i_a = 0
i_c = 0, i_b = 1, i_a = 0
i_c = 1, i_b = 1, i_a = 0
i_c = 0, i_b = 0, i_a = 1
i_c = 1, i_b = 0, i_a = 1
i_c = 0, i_b = 1, i_a = 1
i_c = 1, i_b = 1, i_a = 1

반응형
  1. 전가산기 설계
  2. Design Source
  3. Schematic
  4. Simulation Source
  5.  
  6. Timing Chart
  7.  
  8. constraints
  9. 전가산기 FPGA 회로 구성
  10. 작동사진
'FPGA' 카테고리의 다른 글
  • [FPGA] 4bit_가감산기
  • [FPGA] 4bit_전가산기
  • [FPGA] 반가산기
  • [FPGA] gate
kyw6416
kyw6416
kyw6416
kyw6416
kyw6416
전체
오늘
어제
  • 분류 전체보기 (103)
    • PCB 설계 (16)
    • C언어 (6)
    • FPGA (15)
    • 하드웨어_ETC (0)
    • 임베디드_ETC (2)
      • 임베디드_통신 (1)
    • Qt Creator (4)
    • Tool (1)
      • Verdi (1)
    • Verilog (9)
      • i2s (5)
      • hdlbits (0)
    • DRAM (15)
      • DDR2 SDRAM (8)
      • DDR3 SDRAM (0)
      • DDR5 SDRAM (3)
    • DDR PHY (6)
      • DDR PHY 2.1 (6)
    • Makefile (10)
    • Vim (17)
    • 노션 (2)
    • SoC 설계 (0)
반응형
kyw6416
[FPGA] 전가산기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.