一个位于位的交换问题
时间:10-02
整理:3721RD
点击:
module rom0(clk,a,q);
input clk;
input[3:0] q;
output reg [3:0]a;
always @(posedge clk)
begin
case (q)
q[0]:a[0]=q[0];
q[1]:a[1]=q[2];
q[2]:a[2]=q[1];
q[3]:a[3]=q[3];
endcase
end
endmodule
这是我自己写的一个程序。错误和逻辑肯定很多错误。
我想得到的一个结果就是,输入端的第1位数据在输出端的第1位输出,输入端的第2位数据在输出端的第3位输出,第3位的数据在输出端第2个输出,第4位的数据在第4位输出。差不多就是这个意思。请问我应该怎么改。
input clk;
input[3:0] q;
output reg [3:0]a;
always @(posedge clk)
begin
case (q)
q[0]:a[0]=q[0];
q[1]:a[1]=q[2];
q[2]:a[2]=q[1];
q[3]:a[3]=q[3];
endcase
end
endmodule
这是我自己写的一个程序。错误和逻辑肯定很多错误。
我想得到的一个结果就是,输入端的第1位数据在输出端的第1位输出,输入端的第2位数据在输出端的第3位输出,第3位的数据在输出端第2个输出,第4位的数据在第4位输出。差不多就是这个意思。请问我应该怎么改。
怎么像RS触发器啊
思路是正确的 这个方法是可行的 可以在quartus上仿真一下