1. 문제 및 설명
- 아래 규칙을 가지는 512개의 셀로 이루어진 시스템 q[511:0]을 구현하시오
- 각 셀은 0 또는 1의 상태를 가지는 1차원 배열로 구성된다.
- 각 셀의 다음 상태는 현재 양옆 이웃 셀 두 개의 XOR 값으로 결정된다.
- load 입력이 활성화되면, 시스템의 상태는 data[511:0] 값으로 로드 되어야한다.
- q[-1], q[512] 는 0으로 간주한다.

2. 모듈 정의
module top_module(
input clk,
input load,
input [511:0] data,
output [511:0] q );
3. 답
module top_module(
input clk,
input load,
input [511:0] data,
output [511:0] q );
reg [511:0] q_next;
always@(*)
begin
q_next = {q[510:0],1'b0}^{1'b0,q[511:1]};
end
always@(posedge clk)
begin
if(load)
q <= data;
else
q <= q_next;
end
endmodule'Verilog > HDLbits' 카테고리의 다른 글
| [HDLBits] Fsm1 (0) | 2026.02.01 |
|---|---|
| [HDLBits] Rule110 (0) | 2026.01.25 |
| [HDLBits] Exams/ece241 2013 q12 (0) | 2026.01.25 |
| [HDLBits] Exams/2014 q4b (0) | 2026.01.22 |
| [HDLBits] Exams/m2014 q4k (0) | 2026.01.22 |