기초전자회로실험 - FPGA Implementation of Shift Register (쉬프트레지스터) 예비레포트
허어억
다운로드
장바구니
소개글
"기초전자회로실험 - FPGA Implementation of Shift Register (쉬프트레지스터) 예비레포트"에 대한 내용입니다.목차
1.실험제목2.실험목적
3.실험장비
1) Digilent Nexys4 FPGA Board
2) Vivado Design Suite 2014.4
3) Xilinx
4) Altera
4.관련이론
1) Hardware Description Language(HDL)
2) verilig의 요소의미
3) Verilog HDL 문법
4) verilog 기초연산자
5) Always ,Initial 문 (순차회로)
6) Shift Register
5. 실험 방법
6. Vivado simulation
7.참고문헌
본문내용
D플립플롭만으로 구현된 쉬프트 레지스터의 특성인 직렬식 입력과 출력 동작에 안정적인 parallel in 동작도 수행할 수 있게 게이트를 추가하여 재구성한 회로다. 새로 추가된 것은 nand와 not 게이트이고, 플립플롭의 PRE’와 CLR’ 속성이다. 직렬식 입력과 출력은 위에서 확인했으니, 병렬식 입력만 어떤 식으로 이루어지는지 확인하면 된다. 위의 회로에서 병렬입력 A, B, C와 CLR, PRE간의 관계를 알아보자. A플립플롭부터 확인해보면, CLR’ = (A’Load)’ 의 양 변에 보수를 취하면, 이중부정의 법칙에 의해 CLR = A’Load이다. PRE’ = (ALoad)’ 의 양 변에 보수를 취하면, 이중부정의 법칙에 의해 PRE = ALoad이다. 나머지 B, C플립플롭도 마찬가지로 위와 동일하다. (단, 알파벳 A대신 각자 자신의 알파벳으로 대치) Load = 1일 때, CLR = A’, PRE = A다. 즉, A가 0이면 는 리셋되고, A가 1이면 는 세트된다. CLR과 PRE 모두 1이 아니기에 와 ’출력 간의 보수 관계를 유지할 수 있다. 즉, 이 때 병렬 입력 A,B,C의 신호를 각 출력 , , 에 적재한다. Load = 0일 때, CLR과 PRE 모두 0이므로 병렬입력 A,B,C는 동작에 아무영향을 줄 수 없고, D플립플롭의 고유동작으로 전환되기 때문에 클록의 trigger edge마다 오른쪽으로 데이터들의 쉬프트가 발생한다. (쉬프트 동작 중에 플립플롭으로부터 병렬 입력 A,B,C를 격리 -> 쉬프트 중인 데이터들의 손실 방지) [9]5. 실험 방법 :
1) 실험실 컴퓨터에 설치된 Vivado design Suite 프로그램을 연다.
2) 프로젝트 폴더를 생성하고 코드를 주입할 보드명을 선택한다.
3) Design Sources 폴더에 vhd파일을 생성하고 설계할 모듈동작을 verilog코드로 작성(구현)하고 synthesis를 실행한다. 여기서 synthesis는 코드를 합성시키면서 디버깅을 하며, 코드에 문제가 없으면 실질적인 가상회로의 동작방식을 완성시킨다. C언어의 컴파일 과정과 비슷하다고 보면 된다.
4) Simulation Sources 폴더에 testbench파일을 만들어, 설계된 회로에 넣을 입력값이나 클록신호를 verilog코드로 작성한다. 그 다음 시뮬레이션을 실행시켜서 알고리즘이 맞게 작성되었는지 확인한다.
참고 자료
https://m.blog.naver.com/rlaghlfh/221092364207https://ko.wikipedia.org/wiki/%ED%95%98%EB%93%9C%EC%9B%A8%EC%96%B4_%EA%B8%B0%EC%88%A0_%EC%96%B8%EC%96%B4
https://m.blog.naver.com/PostView.nhn?blogId=km641&logNo=221477131956&proxyReferer=https:%2F%2Fwww.google.com%2F
https://www.google.com/search?q=half+adder&tbm=isch&ved=2ahUKEwiai4CSqeXpAhVFfpQKHQSRA1QQ2-cCegQIABAA&oq=half+adder&gs_lcp=CgNpbWcQAzICCAAyAggAMgIIADICCAAyAggAMgIIADICCAAyAggAMgQIABAeMgQIABAeOgQIIxAnOgUIABCxAzoHCCMQ6gIQJzoFCAAQgwFQnv0KWJKcC2C0nQtoBXAAeACAAZ0BiAGxEJIBBDAuMTWYAQCgAQGqAQtnd3Mtd2l6LWltZ7ABCg&sclient=img&ei=52vXXtr7KcX80QSEoo6gBQ&bih=920&biw=1861#imgrc=nYL_6_xMJha5MM
https://rebas.kr/215
http://esslab.hanyang.ac.kr/uploads/security_circuit_design/lecture_note/8046f8d687beab9b5bc99594ff3be505/%5BSecu-2%5D%20Verilog%20%EA%B8%B0%EC%B4%88%EB%AC%B8%EB%B2%95.pdf
https://m.blog.naver.com/PostView.nhn?blogId=elrlemrm&logNo=220039468819&proxyReferer=https:%2F%2Fwww.google.com%2F
https://m.blog.naver.com/PostView.nhn?blogId=lagrange0115&logNo=220729360287&proxyReferer=https:%2F%2Fwww.google.com%2F
https://idlecomputer.tistory.com/90