今度は ChatGPT に DDS の Verilog コードを聞いてみた [Other]
今度は DDS の Verilog コードを聞いて見ました。
質問はこれです。
Please tell me about Verilog DDS source code.
帰ってきた結果です。
module dds(clk, rst, en, sine, cosine);
input clk, rst, en;
output [15:0] sine, cosine;
reg [15:0] sine, cosine;
reg [15:0] phase;
always @(posedge clk) begin
if (rst) begin
phase <= 0;
end else if (en) begin
phase <= phase + 1;
end
end
always @(posedge clk) begin
if (rst) begin
sine <= 0;
cosine <= 0;
end else if (en) begin
sine <= $sin(phase);
cosine <= $cos(phase);
end
end
endmodule
質問はこれです。
Please tell me about Verilog DDS source code.
帰ってきた結果です。
module dds(clk, rst, en, sine, cosine);
input clk, rst, en;
output [15:0] sine, cosine;
reg [15:0] sine, cosine;
reg [15:0] phase;
always @(posedge clk) begin
if (rst) begin
phase <= 0;
end else if (en) begin
phase <= phase + 1;
end
end
always @(posedge clk) begin
if (rst) begin
sine <= 0;
cosine <= 0;
end else if (en) begin
sine <= $sin(phase);
cosine <= $cos(phase);
end
end
endmodule
今度は ChatGPT に Verilog コードを聞いてみた [Other]
今度は Verilog のコードを聞いて見ました。
質問はこれです。
Verilog counter code
帰ってきた結果です。
module counter(clk, rst, en, count);
input clk, rst, en;
output [3:0] count;
reg [3:0] count;
always @(posedge clk) begin
if (rst) begin
count <= 0;
end else if (en) begin
count <= count + 1;
end
end
endmodule
ちゃんとリセットもイネーブルの信号も入っています。
質問はこれです。
Verilog counter code
帰ってきた結果です。
module counter(clk, rst, en, count);
input clk, rst, en;
output [3:0] count;
reg [3:0] count;
always @(posedge clk) begin
if (rst) begin
count <= 0;
end else if (en) begin
count <= count + 1;
end
end
endmodule
ちゃんとリセットもイネーブルの信号も入っています。