**-------------------------------------------文件信息----------------------------------------------------------<br />** 文件名称:shift_reg2.v<br />** 创建者:广州致远电子有限公司<br />** 创建日期:2009.02.24<br />** 版本号:version0.0.1<br />** 功能描述:双向移位寄存器描述,基于EasyFPGA030 V1.04<br />** 按键的值不断以周期1S在寄存器中移动,移动的方向跟sel端口相关<br />** <br />**--------------------------------------修改文件的相关信息--------------------------------------------------<br />** 修改人:<br />** 修改日期: <br />** 版本号:<br />** 修改内容:<br />**<br />*******************************************************************************/<br />module shift_reg2(<br /> clk, //时钟输入,48MHz<br /> reset, //复位输入,低电平有效<br /> sel, //选择移动方向,0:按下,1:未按下<br /> D, //输入由开关决定,0:按下,1:未按下<br /> Q, //输出,0:点亮,1:熄灭<br /> );<br />input clk; //输入输出定义<br />input reset;<br />input sel;<br />input D; <br />output [3:0] Q;<br /><br />reg [3:0] Q; //寄存器说明<br /><br />wire clk_out;<br /><br />always @(posedge clk_out) //D触发器描述<br />begin<br /> if(sel)<br /> Q <= {Q[2:0],D};<br /> else<br /> Q <= {D, Q[3:1]};<br />end<br /><br />clk_div clk_div_0( //分配得到2S的时钟,便于观察<br /> .clk(clk), //时钟输入,48M<br /> .reset(reset), //异步复位输入,高电平复位<br /> <br /> .clk_out(clk_out) //分频时钟输出<br /> );<br /><br />endmodule<br />
|