⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fcsr.v

📁 伪随机序列产生器-filtered 代进位反馈移位寄存器
💻 V
字号:
`timescale  1ns/1ns       module fcsr    (clk, d, mkey, ckey, reset,load, mstate, cstate, mseq);      parameter N = 3;        // Width of the shift register parameter T = 12; parameter  D= 7;   input    clk; input   [N-1:0]   mkey;            input   [N-2:0]   ckey; input   [N-1:0]   d; input reset; input load;  output   [N:0]  mstate;     output   [N-1:0]  cstate; output   [T-1:0]  mseq;   reg      [N:0]  mstate; wire      [N:0]  mstate_N;  // Next state of the mainregister output reg      [N-1:0]  cstate; wire      [N:0]  cstate_N;  // Next state of the carries register output reg      [T-1:0]  mseq;  reg [4:0] j;    assign mstate_N[0]=mstate[1]^d[0]&cstate[0]^d[0]&mstate[0]; assign mstate_N[1]=mstate[2]^d[1]&cstate[1]^d[1]&mstate[0]; assign mstate_N[2]=mstate[3]^d[2]&cstate[2]^d[2]*mstate[0]; assign mstate_N[3]=1'b0; assign cstate_N[0]=mstate[1]&cstate[0]^cstate[0]&mstate[0]^mstate[1]&mstate[0];  assign cstate_N[1]=mstate[2]&cstate[1]^cstate[1]&mstate[0]^mstate[2]&mstate[0];  assign cstate_N[2]=1'b0;  always @(posedge clk) begin   if(reset) begin     j<=0;     mstate<={1'b0, mkey[N-1:0]};     cstate<={1'b0, ckey[N-2:0]};     mseq<=0;   end   else if(load)begin       j<=0;       mstate<={1'b0, mseq[N-1:0]};       cstate<={1'b0, ckey[N-2:0]};       mseq<=0;   end   else begin     if(j==12) begin       j<=0;     end     else begin       j<=j+1;       mseq[j]<=mstate[0];       mstate<=mstate_N;       cstate<=cstate_N;     end   end end  endmodule   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -