1. 문제 및 설명
- 32비트 벡터의 각 비트에 대해, 입력 신호가 1에서 0으로 변하는 경우를 검출하시오
- 출력 비트는 1 -> 0 전이가 발생한 다음 사이클에서1로 설정
- 출력 비트는 reset이 high일 때 양의 클록 에지에서 0으로 리셋
- 위 두 이벤트가 동시에 발생할 경우, reset이 우선
- 아래는 예제 파형이다.

2. 모듈 정의
module top_module (
input clk,
input reset,
input [31:0] in,
output [31:0] out
);
3. 답
module top_module (
input clk,
input reset,
input [31:0] in,
output [31:0] out
);
integer i;
reg [31:0] temp;
always@(posedge clk)
begin
temp <= in;
if(reset)
begin
out <= 32'b0;
end
else
begin
for (i = 0; i< $bits(in); ++i)
out[i] <= out[i]?out[i]:(~in[i]&temp[i]);
end
end
endmodule'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Count15 (0) | 2026.01.03 |
|---|---|
| [HDLBits] Dualedge (0) | 2026.01.03 |
| [HDLBits] Edgedetect2 (0) | 2026.01.01 |
| [HDLBits] Edgedetect (0) | 2026.01.01 |
| [HDLBits] Exams/ece241 2013 q7 (0) | 2026.01.01 |