분류 전체보기 (28) 썸네일형 리스트형 Logic Circuit3: Gate_Optimization 어떤 출력이 10이라는 값이 나왔다고 해보자. 이 값이 도출되기 위한 과정으로 2+2+2+2+2 일수도 있고 2*5가 될수도 있고 엄청나게 무한한 경우의 수가 존재한다.회로도 똑같다. 동일한 output값을 내보내도 그 안에 들어있는 회로가 어떻게 구성되어 있는지는 매우 다양하다. 최대한 효율적으로 회로를 설계해야 경쟁력이 있게 된다. 그렇다면 어떻게 최적화를 시켜야 할까?Boolean Algebra를 이용해서 사람이 직접 간단하게 회로를 바꿀 수 있다. 하지만, 사람이 식 하나하나를 보면서 최적화를 하다보면 실제로 이게 best로 줄인거인지도 확인이 안될 뿐더러 실수도 잦기 때문에, 카르노맵이라는 것이 등장하게 되었다. 카르노맵을 사용할 때 유의해야할 점 몇가지를 정리한 후 실제 예시를 들어 회로 최.. Digital Signal Processing_5 - Sampling_2 전 포스팅에서 예고했던대로 오늘은 time domain에서 sampling을 할때 freq domain에서 어떤 변화가 발생하는지 실제 예시를 들고 nyquist theorem이 왜 필연적인지 설명해보는 시간을 갖도록 하겠다. 예시로는 다음과 같은 y(t)를 Fourier Transform을 할 때의 freq domain을 살펴 볼 것이다. convolution을 그래프를 이용해 활용하면 직관적으로 편하게 볼 수 있으므로, 미리 x(t)의 fourier transform을 확인해보자. 예전 포스팅에서 convolution의 physical한 의미는 inner product + shift라고 말한 적이 있다.위와같은 X(w)를 convolution 해보면, 이런 결과를 얻을 수 있다.convolution을.. 2. For advanced performance of Hardware 오늘은 하드웨어의 성능을 향상시키는 방법을 정리해볼 예정이다.본격적인 내용 정리에 앞서 필요한 개념들에 대해 먼저 이야기를 나눠보자.가장 먼저 Latency와 Throughput에 대해 정확하게 알아야한다.Latency는 첫번째 input값이 output까지 나오는데 걸리는 시간이다.Throughput은 output쪽에서 output sampling을 얼마나 자주하는지에 관한 것으로, [Sample/sec]로 이해하면 된다.그렇다면 뭐가 더 중요할까?필자의 생각은 둘 다 중요하지만 throughput이 더 중요하다고 생각한다. 한 번 output이 나오기 시작하는 시점부터 throughput에 의해 output이 계속해서 나오기 때문이다. 그렇다고해서 Latency가 너무 길게 되면 이것도 좋지 않지만,.. 1. Clock & Timing _ Violation Sequential Circuit이란 이전 state + Input값으로 Output이 결정되는 회로이다. 입력에 의해 출력이 바로 결정되는 Combination Circuit과 Memory로 보통 구성되며, F/F사이의 combination logic이 path를 이루게 된다. Vivado에서 RTL coding을 한 후 Simulation을 돌리게 되면 어떤 종류의 시뮬레이션인지에 따라 다르지만 timing violation이 발생하는것을 종종 목격할 수 있다. 실제 HW를 사용하기 때문에 그 안에서 신호가 움직이는데 걸리는 시간이 있기 때문에 즉, delay가 발생하기 때문에 발생하는 문제인데 여기서 사용되는 개념이 Slack이다.다른말로 Margin이라고도 하는데 Slack의 정확한 식은 Requ.. Preview 필자는 가속기 설계쪽으로 진로를 잡은 상태이다. 이번 학기에 제일 기대하면서 관련 수업을 들었고, 실제로 이번학기 공부를 할 때 해당 수업의 과제나 텀프로젝트에 시간을 제일 많이 쏟았다. 공부하면서 해당 분야에 대해 제대로 알려면 공부 해야될게 굉장히 많다고 느꼈고, 새로운 내용도 알아야 하지만 그 이전에 기반을 정말 단단히 다져야한다는 것을 느꼈다.사실 공부 블로그를 운영을 해야겠다고 느낀 시점이 이것을 깨달았을 때부터인데, 나 혼자 내용을 정리하면서 핵심 내용들을 명확하게 스스로 말할 수 있게끔 해야 한다고 느꼈다. 특히 이 분야가 애매하게 알고 있는 것 같으면서 개념 정의를 못한 경우가 많아 수업을 들을 때 스스로 되돌아 보는 시간이 많았었다. 논리회로, 컴퓨터구조, 마프, 그 이후 임베디드 컴퓨팅.. Digital Signal Processing_4 - Sampling DSP 4번째 포스팅이다. 지난 포스팅에는 freq domain에서 어떤 일이 발생하는지 확인해보았고, 오늘은 sampling에 대해 포스팅 할 생각이다. (아마 3번에 나눠 포스팅 할 것 같다.) Sampling이란 무엇인가? Analog 신호를 Digital 신호로 변환하는 과정이다. 컴퓨터는 연속신호를 처리할 수 없기 때문에 이산신호로 바꿔주는 과정이 반드시 필요하다. 이 때 사용하는 개념이 Sampling인 것이다. 예시로, 온라인 게임을 해 본 사람들은 FPS가 무엇인지 알 것이다. frame per sec를 의미하는 이 단어는 높을수록 화면이 부드럽게 움직이는 것을 알 수 있다. 이 때 이 fps가 sampling을 이용한 것이다. Sampling에는 두가지 관점의 sampling이 있다.1... Digital Signal Processing_3- Freq Domain Analysis 정말 오랜만에 DSP 내용을 정리해보려고한다. (종강도 했으니 이제 자주 업데이트할 예정이다.)앞으로 정리할 내용들에 대해 Preview 후, 1,2번째에 다뤘던 내용들을 Review후 오늘의 주제에 대해 다뤄보겠다. DSP는 한줄로 적으면, Y=HX에 대해 공부하는 것이다.LTI system에서 y[n] = h[n] * x[n]이라는것을 신호및시스템을 공부한 사람들이라면 다들 알 것이다. 이 때, freq domain에서 바라보면 Y(w) = H(w)X(w)이다. time domain상 convolution은 freq domain에서 곱하기가 되는것인데,내가 앞으로 정리할 내용은 여기에서 X와 H에 관한 내용들이다. DSP의 Digital Signal에 해당하는 X와 Processing에 해당하는 H에.. Logic Circuit_2 기본적으로 컴퓨터는 binary만 이해할 수 있기 때문에 encoding과정을 거쳐 값을 binary로 바꾸어 주게 된다. 이 때 사용하는것이 그 유명한 ASCII code로 128bit 즉, 7자리로 표현이 가능한데, 보통은 7bit만을 이용하지 않고, Error Detection Code로 parity를 추가하여 data를 이용하게 된다. (이번학기 무선통신공학때 자세히 배운 내용인데 시간이 된다면 나중에 이것도 큰 주제로 잡고 다뤄보도록하겠다.) 그렇다면, 값을 어디에 저장하게 될까? 답은 Memory 이다.HW내부에서 Processing(계산)을 담당하는 부분에 값을 넣고, 빼야 하기 때문에 이 메모리라는것은 매우 중요하다.Memory는 종류가 다양한데, 1. Register2. SRAM (Cac.. 이전 1 2 3 4 다음