분류 전체보기 (28) 썸네일형 리스트형 4. Interconnect_2 오늘 포스팅은 Bus로 시작을 하려고한다.이전 포스팅에서 Data transfer에 관여하는 component들이 interconnect고 그 중 대표적인 예시가 AMBA라는 ARM사에서 만든 standard Protocol이라고 했다. 그렇다면 Bus의 성능 결정 요소는 무엇일까? 정답은 동시에 진행할 수 있는 Data transfer의 개수이다. (얼마나 빠르게 Data를 transfer하는지) Topology가 정해졌을때 component들이 data를 어떻게 주고받을지 (=Protocol)를 잘 짜줘야하는데soc의 한 component를 IP로 개발했을때 다른 회사에서 사용할 수 있게 하기 위해서 가장 중요한것은 Logic Wrapper처리이다. Bus를 붙이기위해 어떤 interface를 설계해.. 4. Four bit ripple carry adder 지난시간에 Adder를 설계해보고 실제로 시뮬레이션까지 돌려보았다. https://ksh9-9.tistory.com/14 Logic circuit_4: Combination Logic(1)논리회로는 combination logic과 sequential logic 2개로 분류할 수 있다.input이 들어가면 바로 output이 나오는 combination logic에 대해 며칠에 거쳐 포스팅할 예정이다.또한, 해당 내용 포스팅이 끝나면 관련ksh9-9.tistory.com 오늘은 지난시간에 설계한 Adder를 인스턴스화시켜서 4bit ripple carry adder를 설계해보고 위에 첨부한 포스팅에서 설계한 Delay가 적은 4bit Adder까지 동일하게 설계한 후에 동일한 결과가 나오는지 확인까지 해.. Digital Signal Processing6- Reconstruction 마지막 DSP 포스팅에서는 time domain에서 sampling을하면 freq domain에서 어떤 변화가 있는지 실제 예시를 들어 알아보았다.이번 포스팅에서는 Reconstruction에 대해 정리를 해 볼 생각이다.A라는 사람이 어떤 신호를 sampling해서 freq domain에서 보냈다고 가정해보자.B라는 사람이 이 신호를 freq domain에서 수신 후 time domain에서 사용하려고 한다면 어떻게 해야할까? 이에 관련된 내용이 바로 Reconstruction이다. "복원"을 해야한다는 것이다. 이전 포스팅 내용들을 봤다면 알겠지만, time domain에서 sampling을하면 freq domain에서는 신호 진폭만 조금 달라지고 주기를 가진채 무한히 반복된다는것을 알 수 있다.이 .. 3. Design Full Adder 전 포스팅에서 gate하나를 vivado를 통해 simulation까지 해보았다. 이번 포스팅에서는 논리회로 시간에 combination logic부분을 다뤘었는데 해당 내용을 실제로 설계해보고 시뮬레이션까지 돌려보는것을 해보도록 하겠다. 전 포스팅에서 어떻게 만드는지를 설명안한것같아 step by step으로 한번 설명해보면, 1. Create Project -> 위치 설정후 생성 순서대로 따라가면 이런 화면이 나온다. 여기서 Create File을 눌러준 후설계할 이름을 적어준 뒤 ok 누르기 다 만들고나서 다시 Add source를 눌러 3번째꺼를 눌러준다. (test bench용도) 이렇게 만들어주고, source칸에 이렇게 보이면 성공이다. 이제 해당 부분 더블 클릭해서 Verilog .. 2. Verilog_ Simulation by using Vivado logic design unit을 module이라고 한다. unit에서 알 수 있듯이 HW의 기본단위를 module로 이해하면된다. module의 경우 위와같은 형식으로 코딩해주면되며, 예시로 and gate를 한 번 시뮬레이션 설계해보고 시뮬레이션까지 돌려보자. vivado에서 source file과 tb file을 위와같이 만든 후 simulation을 돌려보면, 다음과 같이 예상한대로 파형을 볼 수 있다. 이제 상세하게 한번 과정들을 알아보자.1. Port port는 module의 입/출력 신호이다. port_direction / port_type / port_name_list 이순서대로 베릴로그 코딩을 하며,위와같이 짜면 된다. 2. Data Types0 : Zero1 : onex : d.. 1. Verilog_Preview 원래는 논리회로 카테고리에 베릴로그 실습한거를 같이 올리려고했는데 그냥 새롭게 카테고리하나 만들어서 처음부터 차근차근 정리하는게 좋을 것 같아 이렇게 방향성을 정했다. Verilog HDL의 HDL은 Hardware Description Language로 말그대로 HW를 기술하는 언어이다. HW 설계 언어로는 크게 2가지가 있는데, Verilog와 VHDL이 존재한다.Verilog는 C와 유사한 문법을 사용하며 하드웨어 설계를 고수준 언어로 표현.VHDL은 하드웨어 동작을 기술할 때 더 세밀한 제어가 가능하다.주로 Verilog는 behavioral design에 집중하며, VHDL은 structural design에 집중하는데 필자는 Verilog밖에 사용해보지 않아서 사실 VHDL은 잘 모른다. Be.. Logic circuit_4: Combination Logic(1) 논리회로는 combination logic과 sequential logic 2개로 분류할 수 있다.input이 들어가면 바로 output이 나오는 combination logic에 대해 며칠에 거쳐 포스팅할 예정이다.또한, 해당 내용 포스팅이 끝나면 관련 몇가지 예시들을 Verilog 코딩을 통해 simulation까지 돌려볼 예정이다. 본론으로 돌아와서 회로 설계는 어떻게 할까?1. Design spec을 확인한다. (input/output bit수 결정 ....)2. Truth table을 작성한다.3. k-map을이용해 최적화를 한다.4. 최적화한것을 보고 Logic gate를 맞춰 그린다.위와 같은 과정을 거쳐 회로를 설계하는게 일반적인 방법이다. 예시를 통해 한번 따라가보자. 1. Design.. 3. Interconnect_1 어떠한 시스템을 설계했을때 중요한게 무엇일까?Core를 담당하는 HW자체의 설계도 분명히 중요하지만, 이 하드웨어 코어까지 Data를 transfer하는 과정또한 Core 설계 못지않게 중요하다. 하드웨어에서 계산이 빠르 끝난다고해도 이 하드웨어까지 데이터를 옮기는데 걸리는 시간이 cpu에서 계산하는 시간보다 길다면 아무리 하드웨어에서의 연산이 빠르다고 해도 이용할 가치가 전혀 없는 과정이기 때문이다. 그렇기 때문에 오늘은 on chip interconnect에 관해 포스팅을 해보겠다. (내용이 길어질 것 같아 해당 부분은 part를 나눠서 포스팅 할 것 같다.) CPU가 memory나 Usb, UART등의 IO port와 data를 주고 받는것(Load/ Store)은 memory mapped io방식.. 이전 1 2 3 4 다음