FPGA Introduction Course Training #10 – Porting algorithms to hardware

YouTube-Channel-Art-Template.png


fpga introduction course training #10 - 1

– 알고리즘을 FPGA로 구현하면 data path와 control unit으로 나뉜다.

fpga introduction course training #10 - 2.PNG
– 나누기를 구현한다고 하자. N 나누기 D를 하면 몫이 Q, 나머지가 R인 경우.
– Data path에는 입력이 들어가서 출력이 나올 것.
– 작동을 위한 clk이 필요하고, 리셋을 위한 rst이 필요함.
– 그리고 동작 여부를 나타내는 idle/doing/done signal이 필요함.
– 나눗셈 시작을 위한 start signal이 필요함

fpga introduction course training #10 - 3.PNG
– 나눗셈 알고리즘은 위와 같음. Verilog에서 필요한 연산을 확인함.

fpga introduction course training #10 - 4.PNG
– 위 그림은 data path를 설계한 것.
– 중요한 모듈 두 개로 ALU와 register file을 확인할 수 있음.
– ALU는 앞서 확인한 기본적인 연산을 수행함. 어떤 연산을 수행할 것인지는 초록색으로 표시된 control word에 의해 결정됨.
– Control word는 finite state machine에 의해 조작됨.

fpga introduction course training #10 - 5.PNG
– Finite state machine 구성하기 위해서는 알고리즘을 finite state machine을 변환해야 함. 위 그림은 나눗셈 알고리즘을 finite state machine으로 변환한 것. for문 안에 있는 if문을 다시 sub finite state machine으로 구성한다.

Advertisements
Tagged with: , , , , , , , , , , ,
Posted in FPGA

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

누적 방문자 수
  • 90,796 hits
%d bloggers like this: