디지털논리회로 프로젝트-(quinemccluskey C언어로 구현)
*민*
다운로드
장바구니
소개글
연세대학교 학생입니다. 확실이 신뢰할 수 있는 자료 입니다. 디지털 논리회로 시간에 퀸멕클러스키 씨언어 구현 프로젝트입니다. 압축파일에는 레포트랑 씨언어 파일이 있습니다, 본문에 소스 일부 첨부하였습니다,목차
<b>QuineMcCluskey씨언어구현.hwp</b>9쪽1 . 관련된 이론 (Quine-McCluskey)
2. 알고리즘 구현상에 이론 적용
3. 프로그램 결과
4. 프로젝트 후 소감 & reference
<b>퀸맥클러스키.cpp</b>
본문내용
2. 알고리즘 구현상에 이론 적용※ 소스에 주석을 달면서 그 과정이 2번하고 같은 거 같아 2번을 어떻게 쓸지 고민을 많이 했다. 또 다 붙이면 감점이라고 해서 말이다 그래서 각 이론으로 세분화 시켜서 그 이론에 따라 소스를 적용해서 적어보았다.
위에서 언급한 이론 과정에 내가 짠 소스를 적용해서 설명하겠습니다.
1) Prime Implicant Identification
1단계에서 필요한 이론은
*1의 개수에 따라 그룹화하기 이다. 이 과정은 ①구체적으로 입력 값 중에서 1인 것을 이진수로 변환한 다음 ②1의 개수를 구한 다음 ③1의 개수를 몇 개인지 세고 마지막으로 ④1의 개수에 따라 그룹화 한다. 여기서 ⑤주의할 점은 비트수를 계산해서 ⑥십진수를 이진수로 변화하는 과정에서 앞의 0이 생략되어 이 0을 생성시켜 비트 수에 맞추어줘야 나중에 계산이 가능하다.
// 입력 중에서 1인 것을 이진수로 변환한다.
// 이를테면, 01000000이라면 m1이 1이므로 001을 scr배열에 저장한다.
for(i = 0; i < numofin; i++)
{
if (input[i] == `1`)
{temp = new char[numbit];
itoa(i, temp, 2); // 이진수로 변환하는 함수를 표현했다. <--------①
shift(temp, numbit-strlen(temp), numbit); // 위에 설명 참조 <--------⑥
dist = numberOf(temp, numbit); // 1이 몇 개인지 세는 함수를 표현했다.<----③
scr[dist][num[dist]++] = temp;} // 1의 개수에 따라 저장되는 위치가 다르다.<------④
}
// 입력 개수로부터 로그를 이용하여 비트수를 계산한다. 밑수가 2인 로그함수가 표현되서 밑수가 10인것을 썼다.
numbit = log10(i)/log10(2);<--------⑤
// 이진수로 표현된 수의 1의 개수를 구하는 함수를 표현했다.
int numberOf(char *temp, int numbit)
{
int num = 0;
for(int i = 0; i < numbit; i++) <-------------------②
{ if (temp[i] == `1`)
num++; }
return num;}
// itoa 함수 사용하면 2 -> 10으로 변환한다. 그러나 여기서 앞의 0이 생략돼 버린다. 비교를 위해선 010과 같이 나와야 하므로
// 비트수에 맞게 0을 삽입하여 주는 함수를 표현했다. 예를 들어 4비트 인경우는 2를 이진수로 바꾸면 0010이 되게 말이다.
void shift(char *temp, int num, int numbit)
참고 자료
1) 문태수, 구춘근, 김문옥 “디지털 논리회로 설계 『디지털 공학』”- 일진사 (2000. 8. 15)2) Victor P. Nelson "DIGITAL LOGIC CIRCUIT ANALYSIS & DESIGN" - PRENTICE HALL (1995)
3) 정회경 배재대 컴퓨터공학과 슬라이드 자료 - http://mie.paichai.ac.kr
4) 김주호 서강대 Design Automation II chapter 7 수업자료 - http://cscadws2.sogang.ac.kr/
courses/DA/lecture/chap7/index.htm
5) beginning visual c++6 - lvor horton / 정동원 역 - 정보문화사
6) c++ 기초에서 활용까지 - 배영승 저 - 박문각
압축파일 내 파일목록
QuineMcCluskey씨언어구현.hwp
퀸맥클러스키.cpp
퀸맥클러스키.cpp
이 자료와 함께 구매한 자료
- [논리회로] 퀸맥클러스키 10페이지
- 퀸맥클러스키 0페이지
- 논리회로 퀸맥(Qm)방법과 페트릭 방법입니다. 0페이지
- [디지털공학] Quine-McCluskey Method (C코드) 10페이지
- 퀸 맥클러스키를 이용한 최소항 산출 프로그램 0페이지