verilog crc小程序有关问题
发布时间:2010-06-13 21:36:47 文章来源:www.iduyao.cn 采编人员:星星草
verilog crc小程序问题
1.verilog如何把 INPUT [7:0]DATA的 八位数据中统计出1的个数,能用while循环实现吗?我试了好久。。。总出错。。。
2. 我的程序如下 问题我用红线标出
module crc_unit_16 (clk,ready,indata,reset,crc);
input clk;
input ready;
input [7:0]indata;
input reset;
output [15:0] crc; //CRC checksum
//Registers for CRC
reg d1, d2, d3, d4, d5, d6, d7, d8, d9, d10, d11, d12, d13, d14, d15, d16;
reg num;
reg temp;
reg [7:0]ini;
wire xor1, xor2, xor3;
assign xor1 = temp^ d16;
assign xor2 = d5 ^ xor1;
assign xor3 = d12 ^ xor1;
assign crc[0] = d1;
assign crc[1] = d2;
assign crc[2] = d3;
assign crc[3] = d4;
assign crc[4] = d5;
assign crc[5] = d6;
assign crc[6] = d7;
assign crc[7] = d8;
assign crc[8] = d9;
assign crc[9] = d10;
assign crc[10] = d11;
assign crc[11] = d12;
assign crc[12] = d13;
assign crc[13] = d14;
assign crc[14] = d15;
assign crc[15] = d16;
always @ (posedge clk or posedge reset) begin
if (reset) begin
d1 <= 0;
d2 <= 0;
d3 <= 0;
d4 <= 0;
d5 <= 0;
d6 <= 0;
d7 <= 0;
d8 <= 0;
d9 <= 0;
d10 <= 0;
d11 <= 0;
d12 <= 0;
d13 <= 0;
d14 <= 0;
d15 <= 0;
d16 <= 0;
end
if(ready) begin
ini=8'b10000000;
num=4'b1000;
while(num!=0)begin
if(ini&indata!=0)temp=1;//我测试过,运行进不了循环。。。
else temp=0;
d1 <= xor1;
d2 <= d1;
d3 <= d2;
d4 <= d3;
d5 <= d4;
d6 <= xor2;
d7 <= d6;
d8 <= d7;
d9 <= d8;
d10 <= d9;
d11 <= d10;
d12 <= d11;
d13 <= xor3;
d14 <= d13;
d15 <= d14;
d16 <= d15;
ini=ini>>1;
end
end
end
endmodule
最后的crc码。。。总是0000000000..0
是循环出了问题?还是赋值出了问题啊?
------解决方案--------------------
Verilog is not C!
Hardware is parallel in its nature. You can't use while loop here. To implement CRC, all you need is a LFSR. You can use "generate" in verilog language to implement a flexible LFSR.
------解决方案--------------------
再看看书吧,我估计没有哪本书写的 while可综合吧
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
DSP运算错误
在CCS3.3环境下对TMS320C6416进行编程和在线调试,莫名其妙地几个三角函数不能正常运算出结果,有的是运算错了,有的直接...
-
谁用过AD7714模数转换芯片的请进来指教
各位硬件高手,我是第一次用AD7714芯片,这个程序已经调试很久了,一直没有调试成功。
所以我把...
-
有没有给个模型文件就能用一定的材料造出来这个东西的工厂?
应该有吧?叫什么?比如用金属或者塑料造出这种东西。
就像给个PCB文件就...
-
我想获得380v三相电机的电流,一般是怎么个思路?
我想获得380v三相电机的电流,一般是怎么个思路?
数据在51单片机里计算,然后输出到液晶...
-
求模拟可视对讲系统整体实现方案
要开发一套模拟可视对讲系统,寻求成熟方案合作,合作方式灵活,可以委外开发、可以出售方案等!
有意向...
-
关于书上的用vhdl做t触发器的例子的问题
代码如下
library ieee;
use ieee.std_logic_1164.all;
entity tff is
port(
t,clk,rese...
-
2440的掉电复位电压和时间是多少
在手册上居然没有找到,在这里咨询一下了,帮帮忙,在线等待···
在手册的哪里,电压和最...
-
求助ARM程序中断后跑飞问题
小弟刚学ARM,自己编了下列程序,用ADS编译下载到裸板后,指示灯轮流闪,程序运行正常,给外部中...
-
FPGA用AS模式下载的问题
请教一下quartus下下载的问题
用jtag模式都正确,下载.jic文件也可以
但是用as模式后就会出现不能识别id...
-
有关系统软硬件划分建模
现在在进行一个研究,想对一个小型的嵌入式操作系统进行软硬件划分,将操作系统中的部分功能用FPGA上的硬件...