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

📄 countu3d5.v.bak

📁 FPGA的集成开发环境ISE中课仿真的Verilog代码集锦
💻 BAK
字号:
module countu3d5(rst, clk, up, dn, din, dout, par, carry, borrow);
 input rst, clk, up, dn;
 input [7:0] din;
 output [7:0] dout;
 output par, carry, borrow;
 reg [7:0] dout;
 reg par, carry, borrow;
 wire [8:0] cnt_up, cnt_dn;   
 reg [7:0] cnt_nxt;
      assign  cnt_dn = dout - 3'b101;  
      assign  cnt_up = dout + 2'b11;   
      always@(up or dn or din or cnt_dn or cnt_up)
         case ({up,dn})
               2'b 00 : cnt_nxt = din;
               2'b 01 : cnt_nxt = cnt_dn;
               2'b 10 : cnt_nxt = cnt_up;
               2'b 11 : cnt_nxt = cnt_nxt; 
         endcase

      always @(posedge clk or negedge rst)
      begin
        if(!rst) begin
            dout<=0;
            par<=0;
            carry<=0;
            borrow<=0;
        end
        else begin
            par <= ^cnt_nxt;
            carry <= up & cnt_up[8];
            borrow <= dn & cnt_dn[8];
            dout <= cnt_nxt;
        end
      end
endmodule
/*
always@(posedge clk or negedge rst)
begin
if(!rst) begin
  dout <= 0;
  par <= 0;
  carry <= 0;
  borrow <= 0;
end
else begin
case {up, dn}
2'b00: dout<=din;
2'b01: {carry, dout}<=dout + 2'b11;
2'b10: {borrow, dout}<=dout - 3'b101;
2'b11: dout<=dout;
endcase
par <= ^dout;
end
assign par = ^dout;
end
*/

⌨️ 快捷键说明

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