소개
게시글
질문&답변
2022.02.09
사칙연산 예제에서 질문드립니다.
$signed(a) + b; 로 실행한 결과 원하는 결과가 나오지 않습니다. 생각해보니 애초에 15를 signed로 만들어줄려면 비트가 하나 더 필요하군요... 정말 기본적인 생각을 안하고있었네요.. ㅠ
- 1
- 2
- 248
질문&답변
2022.02.09
clock gating 및 assign 구문 질문드립니다.
질문이 있습니다. d_ff실습에서 아래 코드와 같이 output값을 reg값으로 선언해 값을 저장하고 , testbench wire값들을 선언해 DUT를 인스턴시하는과정에서 reg output값과 연결해줘도 상관없지않나요? 저는 이렇게 생각하는것이 원칙적인? 방법인거 같은데... 밑과 같이 시도해보았는데 에러가떠서... 제생각이 잘못된건지 질문드립니다. (사진) (사진)
- 1
- 3
- 463
질문&답변
2022.02.09
clock gating 및 assign 구문 질문드립니다.
책 완독하고 간단하게 정리해봤습니다. 질문 2 : wire clk_for_dut = clk && clk_enable 이식에서 clk와 clk_enable 모두 reg타입인데 결과값이 wire로 나올 수 있나요 ? (&&의 논리연산 때문인가요? 0or1) >> 연속할당문 assign문의 왼쪽은 항상 wire(net)형이다. 우측은 operand와 operator로 구성되는데 operand에는 wire/reg형 모두 쓸 수 있다. 연속할당문은 항상 능동적이다. 할당문은 항상 오른쪽 피연산자들의 값이 바뀌자마자 왼쪽의 wire에 값을 할당한다. wire clk_for_dut = clk && clk_enable은 함축된 표현이며, 풀어쓰면 wire clk_for_dut; assign clk_for_dut = clk && clk_enable으로 표현된다. 우측의 clk와 clk_enable이 reg형인 이유는 testbench에서 clk와 clk_enable 을 initial을 통하여 초기값을 할당하여 그 값을 유지해야 되기 때문이다. 참고로 initial구문과 always구문에서 한 문장의 좌측은 무조건 reg형이어야 한다. Verilog에서 reg형(레지스터)는 단지 값을 저장할 수 있는 변수를 의미한다. wire과 달리 레지스터는 신호의 유도를 필요로 하지 않는다. Verilog 레지스터는 하드웨어 레지스터처럼 클럭을 필요로 하지도 않는다. Verilog의 레지스트 reg형과 하드웨어의 레지스터는 다른 의미를 가지고 있으니 혼동하지 말자. 만약 assign문의 clk과 clk_enable문이 reg형이 아니라 wire문이라고 가정하면 다음과 같은 의미를 가질 것이다. (사진) 질문 3 >> 위의 그림과 같이 testbench에서 clk과 clk_for_dut를 연결해준것 뿐이다. 참고로 DUT의 input은 항상 wire값으로 선언된다. (사진)
- 1
- 3
- 463
질문&답변
2021.12.25
마지막 설치 부분
sunday님이 올려주신 방법을 해보고 결과 알려드릴게요 ㅠㅠㅠ
- 1
- 2
- 253