본문 바로가기

전체109

[Project] Verilog Term Project-루트계산기(2) #Project 1-조합회로로 루트계산기 만들기 앞서 설명한 루트계산기를 조합회로(combination logic)으로 구현해 보자. 조합회로로 주어진 모듈을 설계하려면 1 과정만에 결괏값이 나와야 한다. 즉 모듈에서 시퀀셜 한 과정이 이루어지면 안 되고 주어진 로직에서 한 번만에 연산이 이루어져서 출력값이 나와야 한다는 것이다. 따라서 로직합성과정에서 FF(플립플랍)를 생성해서는 안된다. 이러한 조건에서 한번 설계해 보자. 먼저 루트값을 계산하기 위해서는 소수 부분의 계산이 필수적인데 앞서 설명한 2가지 방법으로 소수계산을 진행해 보자. 필자의 경우에는 부동소수점 방법을 이용해 루트계산기를 설계하였다. #설계의 과정 설계의과정은 루트값을 구하고, 구한 값의 근삿값을 결정하고, 근삿값을 변환해서 segm.. 2023. 1. 11.
[공학수학1] 르장드르 방정식 이번에는 르장드르 방정식에 대해서 알아보자. 이 상미분방정식은 물리학에서 많이 사용되며 특히 구에대한 경계값문제를 해결하는데에 유용하다. 마찬가지로 특수한형태인 상미분방정식이 주어졌을때 어떻게 해결할건인가에 초점을 맞추어서 한번 알아보자. 위와 같은 형태가 주어졌을때 주어진 방정식의 해를 어떻게 구해야 할까? 위와같은 방정식의 형태는 일반적인 방법으로는 쉽게 풀리지않는다. 따라서 형태에 따라서 정형화된 해법을 숙지해서 방정식의 해를 좀더 쉽게 구하는것이 목적이다. 위와같은 방정식의 해를 pn(x)라 할때, n에 따른 방정식에 해는 다음과 같이 나타난다. 이런식으로 n에따라서 다항해가 나오는것을 확인할수있다. 이 식을 전부 외울필요성은 딱히 없는것같다. 그냥 상황에 맞게 n이 정해지면 그떄그떄 찾아보는것이.. 2023. 1. 11.
[공학수학1] 합성곱 정리(Convolution) 이번에는 합성곱정리(Convolution)에 대해서 한번 알아보자. 컨볼루션 적분은 공학수학을 배울 때는 크게 개념이 많이 사용되지 않지만 다른 전공에서 정말 자주 나오는 개념 중에 하나이다. 이 시기에 정확히 개념을 잡지 않으면 나중에 더 어려운 전공개념이 이해가 되지 않는 상황이 생길 수 있다. 나 역시 그랬으니... 따라서 기본적인 원리 및 개념과 어떤 공학적인 의미를 가지고 있는지 천천히 살펴보자. 1. 합성곱의 정의 합성곱은 다음과 같이 적분식으로 정의된다. 수학적인 의미는 다음과같다.하나의 함수를 타우축에 대해서 반전(reverse)시킨다. 그다음 t만큼 평행이동 시킨 뒤, f(타우)와 곱한 결과를 계속 더해나가는 방법이다. 이때 타우는 dummy variable으로 실제 적분을 하기 위해서 .. 2023. 1. 9.
[공학수학1] 프로베니우스 해법 이번에는 프로베니우스 해법에 대해서 알아보자 거듭제곱급수와 비슷하지만 약간 다른 방법이다. 급수를 이용한다는 것은 동일하지만 과정과 형태가 약간 다르다. 프로베니우스 해법의 개념은 거듭제곱해법의 개념보다 상위개념이라고 알아두면 이해하기에 편하다. 즉, 프로베니우스 해법의 부분집합이 거듭제곱해법이라고 이해해 두자. 거듭제곱으로 풀리지 않는 미분방정식을 프로베니우스 해법으로 풀 수 있기 때문에 확장된 거듭제곱급수라고 개념이라고 이해하자. 먼저 프로베니우스 해법을 적용하기위해서는 다음과 같이 식의 형태를 변화해서 해석해야 한다. 그다음 b(x), c(x)를 이용해서 우리가 원하는 계수를 찾는 과정을 한번 살펴보자. 위와 같이 구해야 하는 계수와 기본형에 따라서 어떤 해법이 쓰이는지 판단될 수 있다. 거듭제곱방.. 2023. 1. 9.
[공학수학1] 거듭제곱 급수해법 이번에는 거듭제곱 급수해법에 대해서 한번 알아보자. 저번에는 미분방정식을 보다 쉽게 다룰수있도록 s영역의 방정식으로 바꾸어서 미분방정식을 다루었다. 이렇게 s영역으로 바꾸는 과정을 라플라스 변환이라고 배웠다. 이번에는 변수계수를 갖는 선형상미분방정식의 풀이를 위한 표준적인해법인 거듭제곱 급수해법에 대해서 알아보자. 특히 이번방법은 라플라스 변환에서도 해법이 되지않는 공식에대해서 유의미하며 변수가계수인 방정식을 어떻게풀어야하는지에 목적을 가지고있다. -테일러 급수(Taylor series) 앞서배웠던 테일러 급수에 대해서 간단히 다시알아보자. 테일러 급수란 어떤도함수들의 한점에서의 값으로 계산된 항의 무한항의 급수로 해석함수를 나타내는 방법이다. 즉 어떤 해석함수를 다항함수들의 합으로 나타내는 방법이다. .. 2023. 1. 9.
[Project] Verilog Term Project-루트계산기(1) 이번에는 베릴로그 언어로 텀프로젝트를 수행한 내용을 한번 알아보자. 텀 프로젝트 주제는 입력값 0~1023까지의 입력을 받아서 각각의 루트값을 근사해서 결괏값을 출력하는 모듈을 만드는 것이다. 예를 들어 입력값 10진수 892가 입력되었을 때 root(892)=29.8663... 이므로 이 근삿값인 29.875로 근사해서 출력하는 모듈을 만드는 것이다. 소수부분과 정수 부분의 출력기준은 Q(5.3)을 기준으로 출력한다. 29.875=11101.111 이므로 MSB를 기준으로 각각 4개씩 끊어서 출력하면 1110/1111 이므로 이는 16진수로 표현하면 EF이다. 따라서 29.875이면 출력은 2개의 hex로 출력하며 각각의 헥스는 segment display 2개를 통해서 최종적으로 EF가 출력되게 하는.. 2023. 1. 8.