inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Verilog FPGA Program 3 (DDR Controller, Arty A7-35T)

mig7_write8 수정 부분 질문있습니다

48

방호영

작성한 질문수 1

0

pdf 페이지 기준 94페이지 질문입니다!

mig7_write8을 mig7_write32로 수정하는 과정에서 addr_cnt의 bitwidth가 6비트로 설정되는데,

32까지 증가라면 5비트 unsign으로 구현 가능할 것 같다는 생각에 질문 드립니다.

 

5비트로 구현시 별도의 flag가 필요하거나 전체 5비트틑 비교하는 로직이 추가되어야 할 것 같은데, 현업에 계신 관점에서 상위 비트를 하나 더 추가한 이유가 궁금합니다!

 

좋은 강의 잘 보았습니다

감사합니다

fpga verilog

답변 2

0

alex

안녕하세요.

코드를 살펴보면, addr_cnt 값과 32을 비교하는 코드가 있을 것입니다.

32는 6bits 이기 때문에 addr_cnt[5:0] 6bits로 설정되었습니다.

이런 부분은 코딩할 때 오류가 발생할 수 있으니 주의해서 프로그램해야 합니다.

bits를 크게 설정하는 것은 문제가 되지 않지만, 작게 설정하는 경우에는 문제를 발생시킬 수 있으니 주의해야 합니다.

감사합니다 ~!!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 방호영님 질문에 대해 도움을 드리겠습니다.

질문하신 내용은 mig7_write8mig7_write32로 수정하는 과정에서 addr_cnt의 비트 너비에 관한 것입니다. 5비트로 구현 시, 최대값 31까지 저장할 수 있어 이론적으로 충분할 것 같지만, 추가적인 비트가 사용된 이유는 특정 상황에서의 안정성을 고려한 것일 수 있습니다.

다음은 이와 관련된 논의 점입니다:
- 오버플로우 방지: 실무에서는 예상치 못한 버그나 오버플로우를 방지하기 위해 여유 있는 비트 너비를 제공하는 경우가 많습니다.
- 향후 확장성: 나중에 확장 가능성을 고려해 여유 있는 비트 너비를 초기부터 설계에 반영할 수 있습니다.
- 설계 일관성: 프로젝트 내 다른 부분과의 일관성을 유지하기 위한 선택일 수 있습니다. 설계의 복잡성을 줄이고 코드의 가독성과 유지보수성을 높이기 위해 일관된 길이를 유지하는 경우도 있습니다.

모든 실험적 설계 과정에서는 실질적인 한계치를 넘어서 구현할 수 있는 지점을 고려하는 것이 좋습니다.

아래 유사한 주제가 논의된 게시물을 참고하시면 도움이 될 것 같습니다.

이 게시물에서는 FPGA 내부 메모리 컨트롤러의 작동 방식과 관련된 다양한 논의가 이루어졌습니다. 특히 비트 너비에 관한 설계상의 고려 사항을 이해하는데 도움이 될 것입니다.

질문에 대한 답변이 여러 상황을 고려해야 하다 보니 만족스럽지 않을 수도 있습니다. 추가적인 질문이 있으시면 언제든지 올려주세요. 전문가의 지원을 받을 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

[HDL 32장-2부] 참고 링크 관련

1

35

2

강의 만료일 연장 신청

0

31

2

기초예제 파일 불러오기 문의

0

25

2

Zybo 환경에서 PL RTL UART 보드 검증 방법

0

30

2

혹시 별도의 자료가 있나요?

0

32

2

Zynq z7 FPGA single-ended 관련

0

38

1

Differential Amp의 4가지 종류

0

41

1

[HDL 22장] F/F CE 관련 질문

1

45

2

UART0, 1 중 선택

1

49

2

fpga 개발보드

0

28

2

vivado 2022.1 version memory IP 구조

0

38

1

datamoverbram모듈질문

1

62

2

latency 개념 구현

1

84

3

13강에 언급된 강의 내용 질문

1

61

2

비바도 all os버전

1

67

2

초기화를 reset_n 이 '1'일 때가 아닌 '0' 일 때 실행시키는 이유 질문

1

68

2

다운로드용량

1

68

2

Address 증가에 대해 의문이 있습니다.

0

371

1

Memory Address 구현 질문

0

282

1

ui_clk값을 낮출수 있을까요?

0

327

1

DDR Controller 핀 맵핑

0

644

2

HW Bitstream 다운로드 시 에러 문의

1

543

2

Clock Period 설정방법

0

558

1

Memory controller 설계 관련 질문

0

1439

1