회원가입 ID/PW 찾기
AA

전가산기를 아래와 같이 설계해봤습니다. 더 간단하게도 되지만 그냥 Behavioral로 이렇게 해봤어요

 

마치 C프로그램 짜듯이

 

그런데 원하는 출력값이 나오질 않습니다.

 

코드 설명을 잠깐 드리자면

 

a,b,ci 순서로 하나씩 확인해가면서 하나라도 1이 있으면 그 개수를 temp에 저장합니다.

 

temp가 2개 이상이면 carry가 발생하니 c=1 주고요(반대는 생략)

 

temp가 짝수이면 s=0 줍니다. (반대는 생략)

 

사용한 signal은 a,b:input ci:carry input c:carry s:sum 입니다.

 

k는 그냥 a,b,ci를 저장하고 for문으로 다루기위한 bit벡터입니다.

 

 

이렇게 해놓고

 

첨부한 파일을 보시면 a=0 b=0 ci=1일 때, s=1이어야 하는데

  

안맞는걸 확인하실 수 있을겁니다.

 

혹시나 해서 temp signal을 그냥 2만 대입해봤더니 이상하게

 

c, s에서 변화가 생깁니다. 아래 코드만 보면 c, s는 temp 값에의해 결정되니깐

 

변화가 없어야 정상인 것 같은데요.

 

원인이 무엇인지 도통 감이 잡히질 않습니다.

 

rem 연산 때문일까요??

 

 

 

 

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use IEEE.NUMERIC_STD.ALL;


entity Fulladder is
    Port ( a : in  bit;
           b : in  bit;
           ci : in  bit;
           s : out  bit;               ---- sum
           c : out  bit;              ----- carry
    
end Fulladder;

architecture Behavioral of Fulladder is

signal k : bit_vector (1 to 3);

begin
 
 process(a,b,ci)
 variable temp : integer;
 begin
  temp := 0;  --- temp 변수 초기화 및 for문 조작을 위해 벡터에 a,b,ci 입력
  k(1) <= a;
  k(2) <= b;
  k(3) <= ci;

 

  for i in 1 to 3 loop                                        --- bit a, b, ci 중에 논리값이 1인 개수를 샌다.
   if (k(i)='1') then
    temp := temp + 1;    --- 개수를 temp에 저장
   end if;
  end loop;
  
  if ((temp rem 2)=0) then                                --- 짝수개이면 s=0 홀수면 s=1 : sum 결정
   s <= '0';
  else
   s <= '1';
  end if;
  
  if (temp < 2) then                                      --- 2개이상이면 c=1 1개이하이면 c=0 : carry 결정
   c <= '0';
                 else
   c <= '1';
                 end if;
 end process;

end Behavioral;

 

 

댓글 0

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
516 Analog & Mixed-Signal 설계 HOT우리나라 220V 60Hz 는 Hot과 Neutral 을 어떻게 구분하죠?4 digitlaworld 2785 2011.05.02
515 Analog & Mixed-Signal 설계 HOT(도움을 요청합니다. ) DVD Loader 전원을 위한 FET 전원 스위칭 회로 문제점...1 고민중 2145 2011.04.30
514 전기전자 아무거나 HOT정말 완전 초보라서.... viryu 1817 2011.04.29
513 Analog & Mixed-Signal 설계 HOT자동차 지시방향등 LED 만드는데 질문좀 할게요4 컴맹 2220 2011.04.29
512 드론/로봇/라인트레이서 HOT라인트레이서 질문 잇습니당! 문성욱 1519 2011.04.29
511 Analog & Mixed-Signal 설계 HOTLED 장착 시 저항을 왜 달아줘야 하나요??3 초보탈출!! 2860 2011.04.27
510 Sensor 설계 HOT고휘도 LED 밝기 변화 질문이여!5 초보탈출!! 2808 2011.04.23
509 전기전자 아무거나 HOTAutoCAD,OrCAD 혹시 프로그램 충돌 관련있는지 질문 올립니다.1 컴맹 2235 2011.04.22
508 Analog & Mixed-Signal 설계 HOTAC 220V 초보자 질문이요3 초보탈출!! 2161 2011.04.20
507 Analog & Mixed-Signal 설계 HOT주파수 생성에 관한 질문 입니다.1 담보트 1789 2011.04.12
506 전기전자 아무거나 HOTFPGA로 7_세그먼트 0~9까지 반복해서 켜기1 라인걸어서 2713 2011.04.11
505 전기전자 아무거나 HOT자기수역학 효과(맛과 현기증) 승아므 1957 2011.04.06
504 Analog & Mixed-Signal 설계 HOT초보자로서의 질문좀 드립니다.4 마모루 1540 2011.04.05
503 드론/로봇/라인트레이서 HOTMB라인트레이서 모터부 회로 질문입니다.1 문성욱 2194 2011.03.25
502 Analog & Mixed-Signal 설계 HOTIC555 질문..부탁드립니다 여러분5 딘재 2381 2011.03.23
501 드론/로봇/라인트레이서 HOTv2.0 mb라인마우스 받아서 구성중인데요 문성욱 1598 2011.03.21
500 Sensor 설계 HOT저항 질문이요4 초보탈출!! 2811 2011.03.21
499 Analog & Mixed-Signal 설계 HOT급해요 제발 좀 봐주세요 ㅠㅠ2 bbororok 3225 2011.03.19
498 Sensor 설계 HOTPT100옴 4선식 또는 PT1000옴 4선식 구매 가능한 곳 알려주세요~ siwall 3531 2011.03.18
497 Analog & Mixed-Signal 설계 HOT회로상의 상황..3 혈청 1504 2011.03.18
Prev 1 ... 9 10 11 12 13 14 15 16 17 18 ... 39 Next
  • 실패한 고통보다 최선을 다하지 못했음을 깨닫는 것이 몇배 더 고통스럽다.
    - 앤드류 매튜스
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.