Article Category

분류 전체보기 (303)
영어 (9)
관심 (11)
프로젝트 (1)
내 폴더 (183)
Ver 1.0 (94)
Windows API (0)
리눅스 (17)
TCP/IP (0)
디지털 공학 (16)
임베디드 (36)
역 어셈블링 (7)
C/C++ (18)
수면과 과학 (0)

 

'Ver 1.0/임베디드'에 해당되는 글 36건

  1. 2006.11.14 JK플립플롭에서 Clear와 PRE의 역활
  2. 2006.11.09 VHDL(VHSIC Hardware Description Language)
  3. 2006.10.21 BCD코드의 2진수 표현 회로작성
  4. 2006.10.16 피보나치 수열
  5. 2006.10.11 카르노맵(Karnaugh Map)
  6. 2006.09.23 임베디드 SW개발 전문가

JK플립플롭에서 Clear와 PRE의 역활

7476 JK flip Flop 의 동작 원리

7476 JK flip Flop은 Preset, Clear 단자를 갖는 플립플롭으로서  CLK에 상관없이 출력을 1로 만들거나, 0으로 만들 수 있는 별도의 비동기식 제어신호 PR(preset)과 CLR(clear) 단자를 가지고 있다. 만일 PR=0이 입력되면 진리표에도 나타나 있듯이 CLK을 포함한 모든 다른 입력 값에 상관없이 무조건 플립플롭의 출력은 1이 되며, 만일 CLR=0이 입력되면 출력은 무조건 0이 된다.

☞ 플립플롭의 비동기식 입력 Preset, Clear의 사용

원래 플립플롭들은 전원이 처음 투입될 때 상태값(출력값)이 0이 될지 1이 될지 알 수 없다. 따라서 플립플롭의 비동기식 입력 Preset과 Clear은 플립플롭을 원하는 상태로 초기화하고자 할 때 주로 사용된다. 예를 들어 그림 7-12에 나타낸 JK 플립플롭의 상태를 초기에 Q=0으로 만든 다음, 동기식 입력 J와 K의 값에 따른 기능을 수행하도록 회로를 만들려면, CLR 단자에 잠시 0을 인가하여 플립플롭의 상태를 Q=0으로 만들고 난 다음 CLR 단자에 1을 인가해주어야 한다.



출처(김혜련샘 까페) :  http://cafe.daum.net/studysunflower

VHDL(VHSIC Hardware Description Language)

VHDL(VHSIC Hardware Description Language)......

1) 배경                                              (ALTERA사용설명서)   

VHDL은 80년대초 미 국방성(DoD; Department of Depense)의 요구에 따라 연구되기 시작하여 1987년 12월에 IEEE 1076 표준안으로 발표되어 1992년에 표준화 되었다. 미 국방성에서 하드웨어 기술 언어를 개발하고 표준화 해야 할 필요성을 느끼기 시작한 것은 무기 체제에 채용되는 전자장비의 개선과 유지보수 하는데 과도한 경비의 지출이 요구되었기 때문이다. 최신 무기체제의 개발은 보통 2-30년이 소요되며 개발도중 발전된 기술을 채용하기 위해서는 그 이상의 시간이 걸리는 것이 보통이었다. 결과적으로 새기술을 채용하고 유지하는데 드는 비용은 처음에 예상했던 것보다 상상외로 과도한것이 되어 버린다. 새기술을 비록 DoD에서 소유 하더라도 기존의 무기체제에 적용하기 위해서는 많은 어려움을 격게 되는것이 사실이었다. 만일 DoD에서 새롭게 개발된 기술을 기존의 무기체계에 도입하기로 결정 했다면 몇가지 고려할 사항이 필요해 진다. 기존의 무기에 새기술이 이용된 부품을 채택하려면 원래의 장비 제작자는 새부품에 맞도록 공정을 새로 구성해야 하며, 기존 부품의 수명 기간동안 예비 부품들을 유지하는데 필요한 경비의 부담을 안게 된다. 이러한 이중의 경비 부담은 부품들 사이에 하드웨어적인 표준이 이루어 지고 있지 않기 때문에 발생하는 것이다. 따라서 DoD는 하드웨어의 기술하는데 필요한 언어를 표준화 함으로서 서로다른 전자장치들을 서로 결합하는데 특별한 해석없이 이루어지도록 해야할 필요가 있었던 것이다.

BCD코드의 2진수 표현 회로작성

장장 4시간에 걸쳐 완성했다.
처음에는 문제자체가 이해가 잘 안되서 2진수 2개를 더하라는 문제로 착각 했다가.
아무리 생각해도 이상한거 같아서 다시 봤더니 bcd코드를 2진화 하는 문제였다.
문제를 제대로 이해하고 나서 만드는데 이제는 문제에 대한 이해가 부족해서 계속 삽질만 하다가.
결국은 원초적인 계산방법으로 해내고 말았다.(바로 전장에 진리표가 나와있었다;)
아! C도 과제 있는데, 얼렁 해야겠다.


피보나치 수열

내 머리로는 더이상 간략화 불가..;

#include <stdio.h>
int main(void)
{
int num, a,b,c,t1,t2,t3;
printf("피보나치 수열을 구해봅니다.\n");
printf("몇개를 구해 볼까요? : ");
a=0;//초기화
b=1;//초기화
c=0;//초기화
scanf("%d",&num);
  while(num){
   a=b+c;
   printf("%d (%d-%d-%d)\n",a,a,b,c);
   t1=a;
   t2=b;
   t3=c;
   c=t1;
   b=t3;
   a=t2;  
  num--;
  }
return 0;
}

원리 : 빨강색 먼저 실행 후 파란색 실행;;

실행화면


피보나치 수열을 구해봅니다.
몇개를 구해 볼까요? : 10
1
1
2
3
5
8
13
21
34
55

역시 난 머리가 안 좋아;
간략화 한거 힌트 얼핏 봤는데 변수 3개로만 할 수 있었다.
근데 원래 이게 내가 처음 생각 했던건데 중간에 잠깐 햇갈려서; 뭐 아무도 안믿겠지만;

#include <stdio.h>
int main(void)
{
int num, a,b,c;
printf("피보나치 수열을 구해봅니다.\n");
printf("몇개를 구해 볼까요? : ");
a=0;//초기화
b=1;//초기화
c=1;//초기화
scanf("%d",&num);
printf("%d\n%d\n",b,c);
while(num){
a=b+c;
printf("%d\n",a);
b=c;
c=a;
  num--;
  }
return 0;
}

A는 연산이 필요 없으니 값을 가지고 있을때는 출력때밖에 없다 ;;


실행화면(결과는 동일)


피보나치 수열을 구해봅니다.
몇개를 구해 볼까요? : 10
1
1
2
3
5
8
13
21
34
55

카르노맵(Karnaugh Map)

강의 시간에 쉬워서 단순하게 넘어갔던 드모르강 법칙이 갑자기 햇갈려서 그거 신경쓰다가 놓쳐버린
부분인데. 도서관에서 드모르강이랑 이거랑 장장 3시간에 걸쳐서 파고 들었지만, 실패..
방금 들어와서 인터넷에서 뒤졌는데. 제대로 설명한 곳이 없어서 허탈해 하던 중 자세하게 나온 사이트를 가까스로 찾았다.
어느정도 이해 했다. 다행히 과제는 할 수 있겠다.
역시나 학교쪽에 좋은 자료가 많은거 같다.

url : http://princess.kongju.ac.kr/DigitalMain/dvlec/textbook/chap03/digital03_3_frame.htm

임베디드 SW개발 전문가

사이트 링크 : http://exam.ihd.or.kr/exam_introduce/intro_02_2.htm

생긴지 얼마 안되서 실기는 없고 필기시험만 있다. 그래서 쉽단다.
뭐 개인적으로 IT에서 자격증은 있으나마나한 종이 조각으로 생각 하고는 있지만,
뭔가 목표설정/유지를 위한 수단으로서는 괜찮은 것 같아서 9회차 시험에 응시 해보려고 한다.

예상 문제 A형(pdf) : http://exam.ihd.or.kr/pds/getFile.asp?id=679&tb=tbl_PDS_040100&code=
예상 문제 B형(pdf) : http://exam.ihd.or.kr/pds/getFile.asp?id=680&tb=tbl_PDS_040100&code=


[2006년 일정]
등급
횟차
접수
시험일자
합격자발표
Professional
7회
05.01 ~ 05.22
06.04
06.16
8회
07.31 ~ 08.09
09.03
09.15
9회
10.23 ~ 11.01
12.03
12.15
prev 1 2 3 4 next