inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

[HDL 20장] Internal Memory Interface 에 대해 이해해보자 (FPGA 의 BRAM 을 이해하기 - 실습편)

시뮬레이션에서 클럭 rising edge 순간 판단 대상이 되는 신호도 함께 천이 됩니다. 이런 경우 논리 상태에 대해 궁금합니다.

550

HYUNCHUL JOO

작성한 질문수 2

1

시뮬레이션 결과를 보시면 클럭 rising edge 순간에 판단 대상이 되는 신호도 함께 천이 됩니다. 이런 경우 시뮬레이션 결과처럼 실제 fpga 구현 되었을 때 문제가 없을까요?

임베디드 fpga verilog-hdl

답변 1

0

설계독학맛비

안녕하세요 :)

Functional Simulation 에는 Timing 정보가 들어있지 않아서, edge 동기화 되서 waveform 이 보여집니다. 강의에서는 Post Simulation 을 보여드린 적은 없지만, 구글링 하시면 이해가 되실꺼에요. ("Netlist 추출 + Timing 정보"  와 함께하는 Simulation)

시뮬레이션 결과를 보시면 클럭 rising edge 순간에 판단 대상이 되는 신호도 함께 천이 됩니다. 이런 경우 시뮬레이션 결과처럼 실제 fpga 구현 되었을 때 문제가 없을까요?

우선, 제가 공유드린 소스코드 전부 Waveform 의 결과와 동일하게 동작하고 있다. 즉 Simulation 결과 처럼 실제 FPGA 에 구현이 되고 있는 상태입니다.

여기서 Waveform 에서 확인한 모듈을 실제 FPGA 에 구현되었을때, 문제가 없으려면 기본적으로 Tool 에서 Reporting 하는 Util, Timing, Power 등등 의 Violation 이 존재하면 안됩니다.

FPGA 의 장점이, 언제든 올려볼 수 있다. 이기 때문에

Waveform 의 Function 을 확인하시고, 실제로 바로 올려서 결과를 확인하는 Flow 로 개발합니다.  (Post sim 과 같은 중간 단계를 굳이 거치지 않고 개발합니다.)

결론

FPGA Implementation 후에 Violation 이 존재하지 않는다면, Waveform 의 Functional sim 결과와 동일하게 동작합니다.

ps.

Violation 이 존재하지 않는다.. 가 현업가시면 쉬운 조건은 아님을 직접 깨달으시길 바랄께요. (취뽀하셔라. 혹은 현업이시라면 경험해보셔라 라는 긍정의 의미입니다.)

즐공입니다. :)

0

HYUNCHUL JOO

상세한 답변으로 제가 모르고 있었던 부분도 알게 되었습니다.

꼼수일지 모르지만 always 문에서

if(조건) a <= 1;  보다 if(조건) a <= #1 1;

이런 식으로 표현하니 시뮬레이션 타이밍 차트를 볼 때 조금 구분이 되더라구요.

좋은 하루 되세요. 감사합니다.

0

설계독학맛비

꼼수 아니에요! 이렇게 보기도 합니다. 

응용하실 생각을 하시다니, 훌륭합니다.

즐공하세요 :)

latency 개념 구현

1

126

3

비바도 all os버전

1

91

2

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

1

98

2

다운로드용량

1

82

2

비바도리눅스설치

1

97

2

전체path복사넣기

1

73

2

Vivado 2025.2 리눅스 설치 후 실행 에러와 솔루션 (libxv_commontasks.so)

1

178

2

explorer.exe오류

1

119

3

mobaxterm설치오류

1

102

2

./build시, waveform 'divide color' 사용

1

61

2

Latch와 관련하여 (Time borrowing, Latch-based design)

1

145

2

clean 명령어가 안되는데, 따로 저장해줘야 하는지 궁금합니다.

0

73

1

안녕하세요 설치 관련 질문 드립니다.

1

72

3

16장 mealy 설계.

1

80

2

14장 Cycle 관련, Testbench 코드.

1

75

2

21강(16장) 초기값 설정이 적용되는 시점 질문

1

68

1

20강(15장) - 밀리 머신 관련하여 질문 드립니다.

1

76

2

build에러 질문

0

63

2

1장 ./build에서 에러가 나요

1

82

2

FPGA 강의 보드 문의 드립니다.

1

115

2

5장 DFF특성에 대한 질문

1

87

3

vivado linux 사용 이유.

1

150

2

메모리의 형태가 전체설계에 미치는 영향이 궁금합니다.

1

114

2

디스코드 멤버쉽 등업 관련 문제

1

96

2