今天在网上看见有人问,关于并行输入并行输出和串行输入并行输出功能的逻辑语言描述,把并入并出和串入并出分别用组合逻辑和时序逻辑实现就可以了,以带有两位并行输入和两位输出为例用verilog实现如下:
//serial为serial input,control为paraller/serial control, P为两位并行输入,Q为两位输出
module shift(clk,serial,control,P,Q);
input clk,serial,control;
input [1:0] P;
output [1:0] Q;
reg [1:0] temp; //temp 为寄存器,暂存串行输出数据
always @(control)
begin
if(control == 1'b1)
Q = P;
else
Q = temp2;
end
always @(posedge clk)
begin
if(control == 1'b0)
begin
temp[0] <= serial;
temp[1] <= temp0;
end
else
begin
temp <= temp;
end
end
初学者体会不深 如有问题希望大家指出,谢谢!
文章评论(0条评论)
登录后参与讨论