用Verilog设计一个verilog 移位寄存器器(下面是要求) 跪求代码

移位寄存器 verilog代码_百度知道
移位寄存器 verilog代码
output out,set,clr求一个移位寄存器 verilog代码要求输入输出端口如下input in,异步清零同步置位带使能写出来的编译通过+100分,clk
//always@(posedge clk or negedge clr) begin: out &lt,in[7;= in[7;//&#47: out &no shift
3&#39,clk:0])
3&#39,要是不会我就撞墙了
&#47: shift_reg
if(;shift 1bit
3'asychro reset_n low enable
out &input clock=
{in[1.. ,/input [7;/input datainput clk:0]:0]set,en.;//b0;&#47,clr:2];&#47.
/ /&#47:set num of shift bitoutput [7,out).:0].;enable signal
case(set[2;/= 8'= in[7:0]in,in[7: out &
/input clear low enableinput [2;/ /d2:1]};b0;= {in[0];input enable high enableb1!clr)
&#47:0]: out &
else if(en) begin &#47:0]outmodule shift(中间这段自己写;shift 2bit
其他类似问题
为您推荐:
其他3条回答
这个程序串行输入:0]=8&#39,
input in,/使能 begin out&=out&lt,&#47,并行8位输出module yiwei(in,clk!clr)/ always@(posedge clk or negedge clr) begin if(;&#47,=0;1;/置位 else if(en)&#47,out);b] out, out[0]& output [7;/ reg [7/ end else out&异步清零 begin out& end else begin if(en & set) out&==&lt
对啊,给出具体要求。位数,串并转换关系,有什么特殊要求。。。
你要串入并出,还是并入串出你的输入in是几位的,out是几位的
您可能关注的推广
移位寄存器的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁基于Verilog设计的双向32位移位寄存器_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于Verilog设计的双向32位移位寄存器
上传于||暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
你可能喜欢理论知识复习题-Verilog HDL_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
理论知识复习题-Verilog HDL
上传于||暂无简介
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩34页未读,继续阅读
你可能喜欢第6章 Verilog HDL设计进阶习题_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第6章 Verilog HDL设计进阶习题
上传于||暂无简介
大小:904.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢Verilog成长记(15)
使用工具:Xilinx ISE 14.7
移位寄存器,不但可以寄存数码,还可以在脉冲信号的作用下,寄存数码可以根据需求发生偏移。在本次设计中使用分频信号来充当脉冲信号,控制在人眼可视范围内(始终频率低于10Hz)寄存自动发生发生偏移,代码如下:
module Design_Code(
&span style=&white-space:pre&& &/span&input clk,&span style=&white-space:pre&& &/span&//input by &V10&
&span style=&white-space:pre&& &/span&input clr,
&span style=&white-space:pre&& &/span&input data,
&span style=&white-space:pre&& &/span&output reg [3:0] out
    );
&span style=&white-space:pre&& &/span& 
reg [26:0]
assign mclk = c[5];&span style=&white-space:pre&&
&/span&// The Data of Simulation&span style=&white-space:pre&& &/span&
//assign mclk = c[26];&span style=&white-space:pre&&
&/span&//Easy for person to distinguish
always @ (posedge clk)
&span style=&white-space:pre&& &/span&begin
&span style=&white-space:pre&&
&/span&//c&= c + 1;
&span style=&white-space:pre&&
&/span&if(clr)
&span style=&white-space:pre&&
&/span&c&=0;
&span style=&white-space:pre&&
&/span&else
&span style=&white-space:pre&&
&/span&c &= c+1'b1;
&span style=&white-space:pre&& &/span&end
always @ (posedge mclk or posedge clr)
&span style=&white-space:pre&& &/span&begin
&span style=&white-space:pre&&
&/span&if(clr)
&span style=&white-space:pre&&
&/span&out &= 4'b0;
&span style=&white-space:pre&&
&/span&else
&span style=&white-space:pre&&
&/span&out &= {data, out[3:1]};
&span style=&white-space:pre&& &/span&end
endmodule在本次设计中使用到了非阻塞赋值“&=”。它与阻塞赋值“=”是有区别的。
阻塞赋值:算式y=b,一旦执行当前的赋值语句,赋值目标变量y几颗获得等号右边表达式的计算值。在这里值得注意的是,如果一块语句中含有多条阻塞赋值语句,那么当执行某一条语句时其他语句被阻塞,将禁止执行。阻塞赋值的执行有点像串行执行。
非阻塞赋值:算式y&=b,必须在语句块结束时完成整体赋值。在执行某一条语句时,对于语句块的其他赋值算式不进行限制,换句话说,语句块中的非阻塞赋值算式是并行执行的。
注意:由于assign不能引导语句块,故只能使用阻塞赋值。
注意:阻塞赋值与非阻塞赋值不可以混合使用。
测试文件:
initial begin
// Initialize Inputs
end注意:在写仿真部分时always与initial不能相互嵌套。使用复位信号(例如:clr)时,x先使能复位信号,一段时间后取消复位信号(避免系统一直处于复位状态)
仿真结果:
在这里可能需要仿真的时间比较长,可以通过调节仿真器的属性更改仿真时间,操作如下
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3749次
排名:千里之外
原创:33篇
(1)(12)(16)(4)}

我要回帖

更多关于 移位寄存器 代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信