用Verilog HDL编程设计8位左右移移位寄存器电路。

用Verilog HDL编程设计8位左右移移位寄存器电路。,第1张

module shift_reg8(clk, ldn, d, k, q)

input clk

input ldn, k

input [7:0]d

output [7:0]q

always@(posedge clk or ldn)

begin

if(ldn == 1'握扰滑李轮b0)

q <= d

else

if(k == 1'b0)

q <= {q[6:0], 1'段腊b0}

else

q <= {1'b0, q[7:1]}

end

endmodle

module select(sel,in,out)

input [1:0]sel

input [7:0]in

output [7:0]out0,out1,out2,out3

reg [7:0]out0,out1,out2,out3

always @(*)

case(sel)

2'b00:out0=in

2'b01:out1=in

2'b10:out2=in

2'猜纳b11:out3=in

default:

begin

out0=8'b0

out1=8'b0

out2=8'穗野没b0

out3=8'脊脊b0

end

endcase

endmodule

你 所谓的并行,是不是说将一串8位二进制码,如上图中x输入转换为并行

然后判断输入x是否等于预置值1010_1101?

还是题目中键4、樱袭3 并行输入信号•键 1、2 预置数据

每次并行检测2位,比如判断x输入两位是否等于10,后两位等于10,再两位等于11,最后两型知位等于01?

如果是这样,可以将x串行输入,进行个串并转换,例如用一个寄存器reg1[1:0]保存其卜颂消值。

always @ (posedge clk or negedge rst)

if(!rst)

reg1 <= 2'h0

else

reg1 <= {x, reg1[1]}

然后对比reg1值是否等于预置值。

仅供参考,谢谢


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12415398.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存