본문 바로가기

반응형

ALU

(4)
[Verilog HDL] 20. 제어 가능한 ALU IP 만들기 - 최종 테스트 앞에서 수정한 레지스터 파일을 ALU core와 연결하여 최종 ALU IP를 만들어 보자. ALU core 에 필요한 모든 입출력은 apb_regfile module에서 만들어 주기 때문에 apb_regfile과 alu module을 연결하고 apb_regfile의 APB interface 신호들을 top으로 연결해 주면 alu_ip module이 완성된다. 최종 alu_ip module의 code는 아래와 같다. 파일 이름은 alu_ip.v로 저장한다. module alu_ip #( parameter ADDR_WIDTH=8, parameter DATA_WIDTH=16 ) ( input wire PCLK, input wire PRESETn, input wire [ADDR_WIDTH-1:0] PADDR, ..
[Verilog HDL] 18. 제어 가능한 ALU IP 만들기 - 레지스터 맵 HW IP (Intellectual Property)는 SoC에서 사용 가능한 HW block을 의미한다. SoC에서 사용 가능하다는 것은 CPU에서 IP에 대한 제어를 할 수 있다는 것이다. 즉 software에서 HW IP를 제어하고 필요한 기능을 수행할 수 있어야 하는 것이다. APB interface에서 살펴 보았듯이 SoC 에서 HW IP는 bus를 통해 CPU와 연결되어 있고 그 중 간단한 bus interface중 하나가 APB이다. 이번 장에서는 ALU에 APB register file을 추가하여 ALU 기능을 수행 하기 위한 register를 만들고 CPU에서 이 register file을 read/write 함으로써 ALU의 필요한 기능을 수행할 수 있도록 해보겠다. 일단 ALU를 제어..
[Verilog HDL] 12. IP, Bus, SoC 지금 까지 설계한 ALU는 특정 기능을 하는 하드웨어 블록이다. 이를 SoC에서 활용할 수 있을 때 우리는 이러한 하드웨어 블록을 IP (Intellectual Property)라고 한다. 소프트웨어와 구별하기 위하여 hardware IP라고도 한다. 그럼 이러한 IP는 SoC 에서 어떻게 이용할까? 기본적으로 IP를 제어하는 또 다른 IP가 필요한데 보통 CPU가 이러한 역할을 담당한다. CPU는 bus를 통해 IP에 access하여 IP에 할당된 특정 주소에 읽고 쓰기를 할 수 있다. 여기서 bus라고 하는 것은 SoC 또는 embedded system에서 데이터가 이동하는 통로이다. CPU나 ALU같은 hardware IP들은 bus를 통해 서로 연결된다. bus를 통해 데이터를 주고 받으려면 서로..
[Verilog HDL] 11. ALU (Arithmetic Logic Unit) 설계 ALU는 CPU에서 덧셈, 뺄셈 등과 같은 산술 논리 연산을 담당하는 하드웨어 블록이다. 지금 까지 배운 덧셈기, 뺄셈기, 시프터를 이용하여 ALU설계를 해보자. 일반적인 ALU의 개념은 아래 링크를 참조한다. https://ko.wikipedia.org/wiki/%EC%82%B0%EC%88%A0_%EB%85%BC%EB%A6%AC_%EC%9E%A5%EC%B9%98 산술 논리 장치 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 산술논리장치의 일반적인 입출력은 다음과 같이 구성할 수 있다. 1) 입력 operand A : 산술 연산의 대상이 되는 입력 값 operand B : 산술 연산의 대상이 되는 입력 값 opcode OP : 산술 연산의 종류를 결정..

반응형