
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值是否等于预置值。
仅供参考,谢谢
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)