디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

VHDL 질문입니다

최고급응가갤로그로 이동합니다. 2011.07.16 23:13:56
조회 67 추천 0 댓글 1

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

entity prac1 is
    Port ( prs : in  STD_LOGIC;
           clr : in  STD_LOGIC;
           clk : in  STD_LOGIC;
     seg : out  STD_LOGIC_VECTOR (7 downto 0);
     tseg_c : out std_logic_vector(5 downto 0));
end prac1;

architecture Behavioral of prac1 is

 signal rcos1, rcos10, rcom1, rcom10, rcoh1,rcoh10 : std_logic;
 signal s1, s10, m1, m10, h1, h10 : std_logic_vector(3 downto 0);
 signal seg_c : std_logic_vector(5 downto 0);

begin

process(prs,clr,clk,s1) -- one place of second
begin
 if prs = \'0\' then
  s1 <= "1111";
  rcos1 <= \'1\';
 elsif clr = \'0\' then
  s1 <= "0000";
  rcos1 <= \'0\';
 elsif clk\' event and clk = \'1\' then
  if s1 = "1001" then
   s1 <= "0000";
   rcos1 <= \'1\';
  elsif not (s1 = "1001") then
   s1 <= s1 + "0001";
   rcos1 <= \'0\'; 
  end if;
 end if; 
 if seg_c = "000001" then
 case s1 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;

process(prs,clr,rcos1,s10) -- ten place of second
begin
 if prs = \'0\' then
  s10 <= "1111";
  rcos10 <= \'1\';
 elsif clr = \'0\' then
  s10 <= "0000";
  rcos10 <= \'0\';
 elsif rcos1\' event and rcos1 = \'1\' then
  if s10 = "0101" then
   s10 <= "0000";
   rcos10 <= \'1\';
  elsif not (s10 = "0101") then
   s10 <= s10 + "0001";
   rcos10 <= \'0\'; 
  end if;
 end if; 
 if seg_c = "000010" then
 case s10 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;

process(prs,clr,rcos10,m1) -- one place of minute
begin
 if prs = \'0\' then
  m1 <= "1111";
  rcom1 <= \'1\';
 elsif clr = \'0\' then
  m1 <= "0000";
  rcom1 <= \'0\';
 elsif rcos10\' event and rcos10 = \'1\' then
  if m1 = "1001" then
   m1 <= "0000";
   rcom1 <= \'1\';
  elsif not (m1 = "1001") then
   m1 <= m1 + "0001";
   rcom1 <= \'0\'; 
  end if;
 end if; 
 if seg_c = "000100" then
 case m1 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;

process(prs,clr,rcom1,m10) -- ten place of minute
begin
 if prs = \'0\' then
  m10 <= "1111";
  rcom10 <= \'1\';
 elsif clr = \'0\' then
  m10 <= "0000";
  rcom10 <= \'0\';
 elsif rcom1\' event and rcom1 = \'1\' then
  if m10 = "0101" then
   m10 <= "0000";
   rcom10 <= \'1\';
  elsif not (m10 = "0101") then
   m10 <= m10 + "0001";
   rcom10 <= \'0\'; 
  end if;
 end if; 
 if seg_c = "001000" then   
 case m10 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;

process(prs,clr,rcom10,h1) -- one place of hour
begin
 if prs = \'0\' then
  h1 <= "1111";
  rcoh1 <= \'1\';
 elsif clr = \'0\' then
  h1 <= "0000";
  rcoh1 <= \'0\';
 elsif rcom10\' event and rcom10 = \'1\' then
  if h1 = "0011" then
   h1 <= "0000";
   rcoh1 <= \'1\';
  elsif not (h1 = "0011") then
   h1 <= h1 + "0001";
   rcoh1 <= \'0\'; 
  end if;
 end if; 
 if seg_c = "010000" then
 case h1 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;

process(prs,clr,rcoh1,h10) -- ten place of hour
begin
 if prs = \'0\' then
  h10 <= "1111";
  rcoh10 <= \'1\';
 elsif clr = \'0\' then
  h10 <= "0000";
  rcoh10 <= \'0\';
 elsif rcoh1\' event and rcoh1 = \'1\' then
  if h10 = "0001" then
   h10 <= "0000";
   rcoh10 <= \'1\';
  elsif not (h10 = "0001") then
   h10 <= h10 + "0001";
   rcoh10 <= \'0\'; 
  end if;
 end if; 
 
 if seg_c = "100000" then
 case h10 is  
  when "0000" =>seg<= "11000000"; --0
  when "0001" =>seg<= "11111001"; --1
  when "0010" =>seg<= "10100100"; --2
  when "0011" =>seg<= "10110000"; --3
  when "0100" =>seg<= "10011001"; --4
  when "0101" =>seg<= "10010010"; --5
  when "0110" =>seg<= "10000010"; --6
  when "0111" =>seg<= "11011000"; --7
  when "1000" =>seg<= "10000000"; --8
  when "1001" =>seg<= "10010000"; --9
  when others =>seg<= "01111111"; -- error is dot(.)
 end case;
 end if;
end process;


process(clk)
begin
 if clk\' event and clk = \'1\' then
  seg_c <= seg_c(4 downto 0) & seg_c(5);
 end if;
end process;

tseg_c <= seg_c;
 
end Behavioral;

seg라는 값이 멀티 소스라는 오류가 뜨네요 seg라는 출력에 다양한 상황에 맞는 출력을 내보내려면 어떻게해야하나요..

<STYLE></STYLE>

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 지금 결혼하면 스타 하객 많이 올 것 같은 '인맥왕' 스타는? 운영자 24/10/28 - -
279964 나무자르기 기브업 [10] ?(118.218) 11.10.11 90 0
279962 '아자'같은 횽아를 위한 글 [18] monoless갤로그로 이동합니다. 11.10.11 234 0
279961 2D격투게임만들기2nd이거로 만드는데 test play하니까 캐릭이않나옴 SlayeR갤로그로 이동합니다. 11.10.11 98 0
279960 아이폰을 하자니 맥이 없고 안드로이드를 하자니 단말기가 없다 [7] abbey road갤로그로 이동합니다. 11.10.11 96 0
279959 야 니들 가끔씩 올려줘야지.. [1] 쿄스케갤로그로 이동합니다. 11.10.11 71 0
279958 엔지니어? 그냥 고치는 사람인거야? [16] 아자(211.237) 11.10.11 259 0
279957 아 이건 너무 유명함 빡곰갤로그로 이동합니다. 11.10.11 129 0
279956 조공짤은 나도 좀 있음 [2] 얼룩돼지갤로그로 이동합니다. 11.10.11 177 0
279955 빡곰횽한테 질수없지! [5] 어떡해갤로그로 이동합니다. 11.10.11 92 0
279954 조용한 프갤에 활기를! [4] 빡곰갤로그로 이동합니다. 11.10.11 119 0
279953 땡칠도사횽 장가갔나부다, 앞으로 덕짤은 내가 올림 ㅇㅇ [2] 어떡해갤로그로 이동합니다. 11.10.11 104 0
279952 nhn필기시험 머 나옵니까??? [1] 1234(110.11) 11.10.11 138 0
279951 프갤 생존자 확인.jpg [11] 빡곰갤로그로 이동합니다. 11.10.11 252 0
279950 글리젠 왜케 빠르냐 못 따라가겠네 [2] 로하로하알로하갤로그로 이동합니다. 11.10.11 52 0
279949 드디어 정방행렬 뒤집기까지 성공 ㅜㅜ 제발 대각선만 좀 알려줘여 행님들. [2] 헬퍼(124.3) 11.10.11 155 0
279948 헐 형들 이거 뭐임 군대지원(183.101) 11.10.11 65 0
279947 안드로이드 특강 3주차인데 '-' [25] Sayrin갤로그로 이동합니다. 11.10.11 197 0
279946 안드로이드 프로그래밍요 ㅠㅠ [5] 안드로보이(175.125) 11.10.11 128 0
279945 오늘도 역시 퇴근후! [2] 돌아이바갤로그로 이동합니다. 11.10.11 72 0
279944 컴포넌트 신호에서 하루종일 볼수없는 색상이 아라마아남(124.216) 11.10.11 6110 30
279943 배열, 포인터 덧셈 한번더 질문합니다.. [11] 조광운(121.124) 11.10.11 187 0
279942 안드로이드 에뮬레이터 속도 컴터 뭐 영향 받는거여 [3] 토종개갤로그로 이동합니다. 11.10.11 196 0
279941 VRML 해보고 있음 이모군(175.114) 11.10.11 53 0
279940 진짜 영어의 필요성을 느끼는게.. 학교수업을 못따라가겠어 [15] Aven(115.23) 11.10.11 212 0
279939 QR코드 인식할 수 있는 싸이트 없나? [2] iljeomobolt갤로그로 이동합니다. 11.10.11 75 0
279938 여자 그려놓고 남자라고 우기는 만화 [4] 534F444D61737465갤로그로 이동합니다. 11.10.11 154 0
279937 C 교재 추천점여 [8] 학1년갤로그로 이동합니다. 11.10.11 141 0
279936 얼룩돼지횽 친하게 지내자 [7] 534F444D61737465갤로그로 이동합니다. 11.10.11 82 0
279935 형들 나 진짜 중요한걸 깨달았어......... [11] Aven(115.23) 11.10.11 175 0
279933 왜 교회오빠랑 썸씽이 많이 일어나는디 [3] 534F444D61737465갤로그로 이동합니다. 11.10.11 160 0
279932 (2차원배열) arr[t][1]이랑 arr[t][2] 어떻게 더해요??? [2] 조광운(121.124) 11.10.11 61 0
279931 교회오빠는 우리나라 1등 농사꾼이셨제... [1] 꼬꼬월드갤로그로 이동합니다. 11.10.11 108 0
279930 디씨에서 교회오빠 하면 이거지! [4] 꼬꼬월드갤로그로 이동합니다. 11.10.11 175 0
279929 원래 닉이었던 꼬꼬탱은 [3] 꼬꼬월드갤로그로 이동합니다. 11.10.11 96 0
279928 김태희 하니까 생각나는게.. [4] blackd갤로그로 이동합니다. 11.10.11 91 0
279927 아까 안드로이드 깔아달라던애 Dawnwalkre갤로그로 이동합니다. 11.10.11 60 0
279925 비트시프트를 32번하면 제자리로 돌아와? [3] 저격甲갤로그로 이동합니다. 11.10.11 72 0
279923 교회오빠하니 생각나는데 534F444D61737465갤로그로 이동합니다. 11.10.11 79 0
279921 케꼬꼬닭과 꼬꼬월드는 어떤 사이임? [4] 쿄스케갤로그로 이동합니다. 11.10.11 92 0
279919 인구는 많은데 우리나라 개발자는 턱없이 부족하다 [2] 꼬꼬월드갤로그로 이동합니다. 11.10.11 127 0
279917 오와 이런갤러리도 있었나 [7] 얼룩돼지갤로그로 이동합니다. 11.10.11 144 0
279916 님들 왜 프로그래밍 싫어함? 맨날 열악하다 그러고 적성에 맞는일을 해ㅡㅡ [5] 1(125.135) 11.10.11 145 0
279914 혹시......... [4] 타로(218.48) 11.10.11 63 0
279912 목요일에 시험인데 534F444D61737465갤로그로 이동합니다. 11.10.11 40 0
279910 난 꿈이 있다 1(125.135) 11.10.11 52 0
279908 c++ 에서 계속하시겠습니까? y,n 넣으려면 어떻게 해야하나요 [6] ㅂㅂ(114.200) 11.10.11 439 0
279905 java 너무 어렵네여.. [2] jsdf(183.100) 11.10.11 88 0
279903 전세계가 실업난 때문에 난리도 아니구나. [3] 거칠게갤로그로 이동합니다. 11.10.11 142 0
279902 형들 아까 C# 질문한건데 다시 물어볼껭 ㅠ [12] 아리햏갤로그로 이동합니다. 11.10.11 95 0
279901 이클립스 질문좀 ... 111(113.130) 11.10.11 39 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2