下列Verilog HDL程序所描述电路功能是( )module ShiftReg (Q,Din,CP,CLR_); input Din; //Serial Data inputs input CP, CLR_; //Clock and Reset output reg [3:0] Q; //Register output always @ (posedge CP or negedge CLR_) if (!CLR_) Q <= 4b0000; else begin //Shift right Q[0] <= Din; Q[3:1] <= Q[2:0]; endendmodule
举一反三
- 下面是一个4位的双向移位寄存器程序,该程序正确吗?module UniversalShift (S1,S0,Din,Dsl,Dsr,Q,CP,CLR_); input S1, S0; //Select inputs input Dsl, Dsr; //Serial Data inputs input CP, CLR_; //Clock and Reset input [3:0] Din; //Parallel Data input output [3:0] Q; //Register output reg [3:0] Q; always @ (posedge CP or negedge CLR_) if (~CLR_) Q <= 4b0000; else case ({S1,S0}) 2b00: Q <= Q; //No change 2b01: Q <= {Dsr,Q[3:1]}; //Shift right 2b10: Q <= {Q[2:0],Dsl}; //Shift left 2b11: Q <= Din; //Parallel load input endcaseendmodule
- 下列Verilog HDL程序所描述电路功能是 .module _4bit_cnt (CP,nCR,Q,Mod); input CP, nCR, Mod; output reg [3:0] Q; always @ (posedge CP or negedge nCR) if (~nCR) Q <= 4b0000; else if (Mod==1) Q <= Q + 1b1; elseQ <= Q - 1b1; endmodule
- 下列Verilog HDL程序所描述的电路是( )module MED(Q, DATA,CLK)input DATA,CLK;output Q;reg Q;always @ (posedge CLK)beginQ <= DATA; endendmodule? RAM|T触发器|寄存器|D触发器
- 中国大学MOOC: 如下Verilog HDL程序所描述的是一个触发器,对它的描述正确的是( )module FF(Q,DATA,CLK)input DATA,CLK;output Q;reg Q;always @ (posedge CLK)beginQ <= DATA; endendmodule
- 要实现异步复位(低电平有效)、时钟使能(高电平有效)、上升沿触发的D触发器设计:module dff_s (data,rst,en,clk,q);input data,rst,en,clk;output reg q;always (1) begin if( 2 ) q<=1'b0;; else if (3) q<=data;endendmodule(1)应该填写( )。 A: @(posedge clk ) B: @(posedge clk or posedge rst or en) C: @(posedge clk or negedge rst) D: @(posedge clk or negedge rst or en)