📄 randn.v
字号:
module randn(clk,
Cin,
Dout,
out);
parameter Width=4;
input clk;
input [Width-1:0] Cin;
output [Width-1:0] Dout;
output out;
reg [Width-1:0] Dout;
wire [Width-1:0] Buff;
wire shift;
function Count;
input [Width-1:0] A;
integer K;
begin
Count=0;
for(K=0;K<Width;K=K+1)
if(A[K])Count=Count+1;
end
endfunction
always@(posedge clk)
begin
if(Dout==0)Dout<=1;
else
Dout<={shift,Dout[Width-1:1]};
end
assign Buff=Dout & Cin;
assign shift=Count(Buff)%2;
//assign shift=Buff[3]^Buff[2]^Buff[1]^Buff[0];
assign out=Dout[0];
endmodule
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -