transform.v

来自「Verilog HDL编写的串并转换。采用iout类型口。包含源文件和测试文件。」· Verilog 代码 · 共 40 行

V
40
字号
module transform (clk, rst, sp, Ds, Dp);inout Ds;inout [7:0] Dp;input clk, rst, sp;reg Dst,sign;reg [7:0] Dpt;reg [3:0] counter1, counter2;assign Ds=sp?1'bz:Dst;assign Dp=!sp?8'bz:Dpt;  always @ (posedge clk or negedge rst)	if(!rst)                   //寄存器初始化	   begin			Dpt<=0;			Dst<=0;			sign<=1;			counter1<=0;			counter2<=0;		end	else	if(sp&&(counter1<=7))//串转并		begin		   Dpt[0]<=Ds;           //将串型输入赋给临时并型寄存器的最低位		   Dpt[7:1]<=Dpt[6:0];   //临时并型寄存器的低7位向左移一位。		   counter1<=counter1+1;	   end	else if(!sp&&sign)         //先于转换,将并型输入信号暂存到dpt中,并将sign赋0,以防反复向dpt赋值。	   begin	  	   Dpt<=Dp;	  	   sign<=0;	  	end	else if(!sp&&(counter2<=7))//并转串	   begin  	      	      Dpt[7:1]<=Dpt[6:0];  //临时并型寄存器的低7位向左移一位。	      Dst<=Dpt[7];         //把最高位赋给输出。	      counter2<=counter2+1;	   end   	     endmodule	 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?