解帧器

STM解帧器代码
module jiezhen_stm1
(dtin,clk,dtout,reset
);
input dtin;
input clk,reset;
output [7:0] dtout;
reg flag;
reg [1:0] cnt ,state;
reg [2:0] cnt_bit;
reg [8:0] cnt_tier;
reg [3:0] cnt_row;
reg [7:0] pbuf;
reg [31:0] sp;
wire temp;
assign dtout=pbuf;
assign temp = cnt_bit[2]&cnt_bit[1]&cnt_bit[0];
always@(posedge clk or posedge reset)
if(reset)
begin
cnt <= 0;
sp <= 32’hf6f62828;
state <=2’b00;
cnt_bit <=3’b0;
cnt_tier <=9’b0;
cnt_row <=4’b0;
flag <=0;
end
else if((state2’b00)&(sp32’hf6f62828))
begin
cnt_bit <=3’b000;
cnt_tier <=9’b000000101;
cnt_row <=4’b0000;
state <=2’b01;
flag <=1’b1;
sp[31:0] <={sp[30:0],dtin};
end
else
begin
cnt_bit<=cnt_bit+1;
sp[31:0] <={sp[30:0],dtin};
if(temp)
begin
if(cnt_tier269)
begin
cnt_tier<=0;
if(cnt_row
4’b1000)
cnt_row<=0;
else
cnt_row<=cnt_row+1;
end
else
cnt_tier<=cnt_tier+1;
pbuf[7:0]<=sp[7:0];
end

	 end

always@(posedge clk)
if(temp&~(state2’b00))
case(state)
2’b01:
begin
if((cnt_row
4’b0000)&(cnt_tier9’b000_000_000)&~(sp[7:0]8’hf6))
state<=2’b00;
else if((cnt_row
4’b0000)&(cnt_tier
9’b000_000_101))
begin
if(flag)
flag=0;
else if(sp[7:0]8’h28)
state <= 2’b10;
else
state <= 2’b00;
end
end
2’b10:
begin
if ((cnt_row
4’b0)&(cnt_tier9’b000_000_100)&(sp32’hf6f62828))
begin
state <= 2’b11;
cnt <=0;
end
end
2’b11:
begin
if((cnt_row4’b0000)&(cnt_tier9’b000_000_100))
begin
if(sp32’hf6f62828)
state<=2’b10;
else if(cnt
2’b11)
state<=2’b00;
else
cnt<=cnt+1;
end
end
endcase
endmodule

代码有bug
WARNING:HDLCompiler:413 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 61: Result of 4-bit expression is truncated to fit in 3-bit target.
WARNING:HDLCompiler:413 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 71: Result of 5-bit expression is truncated to fit in 4-bit target.
WARNING:HDLCompiler:413 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 74: Result of 10-bit expression is truncated to fit in 9-bit target.
WARNING:HDLCompiler:413 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 113: Result of 3-bit expression is truncated to fit in 2-bit target.
ERROR:HDLCompiler:1401 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 50: Signal flag in unit jiezhen_stm1 is connected to following multiple drivers:
Driver 0: output signal flag of instance Flip-Flop (flag).
Driver 1: output signal flag of instance Flip-Flop (_i000064).
ERROR:HDLCompiler:1401 - “D:\lianxi\jiezhen\jiezhen_stm1\jiezhen_stm1.v” Line 39: Signal cnt[1] in unit jiezhen_stm1 is connected to following multiple drivers:
请教如何解决呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值