Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
Untitled diff
作成日
9 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
1 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
60 行
すべてコピー
1 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
60 行
すべてコピー
module cordic(clk, z0, xn, yn);
module cordic(clk, z0, xn, yn);
input clk;
input clk;
input [10:0] z0;
input [10:0] z0;
output [16:0] xn, yn;
output [16:0] xn, yn;
parameter N= 10; // number of iterations
parameter N= 10; // number of iterations
reg [(N-1):0] d;
reg [(N-1):0] d;
reg [16:0] x [N:0];
reg [16:0] x [N:0];
reg [16:0] y [N:0];
reg [16:0] y [N:0];
reg [10:0] z [N:0];
reg [10:0] z [N:0];
reg [10:0] arctan [(N-1):0];
reg [10:0] arctan [(N-1):0];
initial begin
initial begin
x[0] = 'b0_10011_0110_1110_1001; // 0.60725 in binary
x[0] = 'b0_10011_0110_1110_1001; // 0.60725 in binary
y[0] = 0;
y[0] = 0;
コピー
コピー済み
コピー
コピー済み
z[0] = z0;
arctan[0] = 'b010_1101_0000; // 45.0;
arctan[0] = 'b010_1101_0000; // 45.0;
arctan[1] = 'b001_1010_1001; // 26.6;
arctan[1] = 'b001_1010_1001; // 26.6;
arctan[2] = 'b000_1110_0000; // 14.0;
arctan[2] = 'b000_1110_0000; // 14.0;
arctan[3] = 'b000_0111_0001; // 7.1;
arctan[3] = 'b000_0111_0001; // 7.1;
arctan[4] = 'b000_0011_1001; // 3.6;
arctan[4] = 'b000_0011_1001; // 3.6;
arctan[5] = 'b000_0001_1100; // 1.8;
arctan[5] = 'b000_0001_1100; // 1.8;
arctan[6] = 'b000_0000_1110; // 0.9;
arctan[6] = 'b000_0000_1110; // 0.9;
arctan[7] = 'b000_0000_0110; // 0.4;
arctan[7] = 'b000_0000_0110; // 0.4;
arctan[8] = 'b000_0000_0011; // 0.2;
arctan[8] = 'b000_0000_0011; // 0.2;
arctan[9] = 'b000_0000_0001; // 0.1;
arctan[9] = 'b000_0000_0001; // 0.1;
end
end
integer i;
integer i;
always @(posedge clk)
always @(posedge clk)
コピー
コピー済み
コピー
コピー済み
begin
z[0] = z0;
begin
for(i=0; i<N; i=i+1)
for(i=0; i<N; i=i+1)
begin
begin
d[i] = (z[i][10] == 0) ? 0 : 1;
d[i] = (z[i][10] == 0) ? 0 : 1;
if(d[i] == 0) begin
if(d[i] == 0) begin
x[i+1] = x[i] - (y[i] >> i);
x[i+1] = x[i] - (y[i] >> i);
y[i+1] = y[i] + (x[i] >> i);
y[i+1] = y[i] + (x[i] >> i);
z[i+1] = z[i] - arctan[i];
z[i+1] = z[i] - arctan[i];
end
end
else begin
else begin
x[i+1] = x[i] + (y[i] >> i);
x[i+1] = x[i] + (y[i] >> i);
y[i+1] = y[i] - (x[i] >> i);
y[i+1] = y[i] - (x[i] >> i);
z[i+1] = z[i] + arctan[i];
z[i+1] = z[i] + arctan[i];
end
end
$display("i=%2d, x[i]=%b, y[i]=%b, z[i]=%b, d[i]=%2d, arctan[i]=%b", i,x[i],y[i],z[i],d[i],arctan[i]);
$display("i=%2d, x[i]=%b, y[i]=%b, z[i]=%b, d[i]=%2d, arctan[i]=%b", i,x[i],y[i],z[i],d[i],arctan[i]);
end
end
end
end
assign xn = x[N]; // xn = cos(z0)
assign xn = x[N]; // xn = cos(z0)
assign yn = y[N]; // yn = sin(z0)
assign yn = y[N]; // yn = sin(z0)
endmodule
endmodule
保存された差分
原文
ファイルを開く
module cordic(clk, z0, xn, yn); input clk; input [10:0] z0; output [16:0] xn, yn; parameter N= 10; // number of iterations reg [(N-1):0] d; reg [16:0] x [N:0]; reg [16:0] y [N:0]; reg [10:0] z [N:0]; reg [10:0] arctan [(N-1):0]; initial begin x[0] = 'b0_10011_0110_1110_1001; // 0.60725 in binary y[0] = 0; arctan[0] = 'b010_1101_0000; // 45.0; arctan[1] = 'b001_1010_1001; // 26.6; arctan[2] = 'b000_1110_0000; // 14.0; arctan[3] = 'b000_0111_0001; // 7.1; arctan[4] = 'b000_0011_1001; // 3.6; arctan[5] = 'b000_0001_1100; // 1.8; arctan[6] = 'b000_0000_1110; // 0.9; arctan[7] = 'b000_0000_0110; // 0.4; arctan[8] = 'b000_0000_0011; // 0.2; arctan[9] = 'b000_0000_0001; // 0.1; end integer i; always @(posedge clk) begin z[0] = z0; for(i=0; i<N; i=i+1) begin d[i] = (z[i][10] == 0) ? 0 : 1; if(d[i] == 0) begin x[i+1] = x[i] - (y[i] >> i); y[i+1] = y[i] + (x[i] >> i); z[i+1] = z[i] - arctan[i]; end else begin x[i+1] = x[i] + (y[i] >> i); y[i+1] = y[i] - (x[i] >> i); z[i+1] = z[i] + arctan[i]; end $display("i=%2d, x[i]=%b, y[i]=%b, z[i]=%b, d[i]=%2d, arctan[i]=%b", i,x[i],y[i],z[i],d[i],arctan[i]); end end assign xn = x[N]; // xn = cos(z0) assign yn = y[N]; // yn = sin(z0) endmodule
変更されたテキスト
ファイルを開く
module cordic(clk, z0, xn, yn); input clk; input [10:0] z0; output [16:0] xn, yn; parameter N= 10; // number of iterations reg [(N-1):0] d; reg [16:0] x [N:0]; reg [16:0] y [N:0]; reg [10:0] z [N:0]; reg [10:0] arctan [(N-1):0]; initial begin x[0] = 'b0_10011_0110_1110_1001; // 0.60725 in binary y[0] = 0; z[0] = z0; arctan[0] = 'b010_1101_0000; // 45.0; arctan[1] = 'b001_1010_1001; // 26.6; arctan[2] = 'b000_1110_0000; // 14.0; arctan[3] = 'b000_0111_0001; // 7.1; arctan[4] = 'b000_0011_1001; // 3.6; arctan[5] = 'b000_0001_1100; // 1.8; arctan[6] = 'b000_0000_1110; // 0.9; arctan[7] = 'b000_0000_0110; // 0.4; arctan[8] = 'b000_0000_0011; // 0.2; arctan[9] = 'b000_0000_0001; // 0.1; end integer i; always @(posedge clk) begin for(i=0; i<N; i=i+1) begin d[i] = (z[i][10] == 0) ? 0 : 1; if(d[i] == 0) begin x[i+1] = x[i] - (y[i] >> i); y[i+1] = y[i] + (x[i] >> i); z[i+1] = z[i] - arctan[i]; end else begin x[i+1] = x[i] + (y[i] >> i); y[i+1] = y[i] - (x[i] >> i); z[i+1] = z[i] + arctan[i]; end $display("i=%2d, x[i]=%b, y[i]=%b, z[i]=%b, d[i]=%2d, arctan[i]=%b", i,x[i],y[i],z[i],d[i],arctan[i]); end end assign xn = x[N]; // xn = cos(z0) assign yn = y[N]; // yn = sin(z0) endmodule
違いを見つける