做什么用的分隔错误

V

VitalyM4

Guest
嗨!

我创建分频器(255/divisor),它工作的所有案件时
, 除一个良好除数等于1,那么结果是0,而不是255。

代码:模块组(

SCAN_EN_SCLK,/ *扫描启用* /

SCAN_IN_SCLK,/ *扫描输入* /

SCAN_OUT_SCLK,/ *扫描输出* /

rb_por_cr,/ *异步复位* /

的SCLK,/ *分频时钟* /

除数,/ *除数* /

我们,/ *写使能-启动分割* /

结果/ *分工的结果* /

);

/ *港口方向和类型* /

输出[6:0]的结果;

第[6:0]的结果;输入[7:0]除数;

线材[7:0]除数;

SCLK的投入;

丝的SCLK;

我们的投入;

丝我们;

输入rb_por_cr;

输入SCAN_EN_SCLK;

输入SCAN_IN_SCLK;

输出SCAN_OUT_SCLK;/ *内部信号宣言* /

第[8:0] cur_divident;

第[6:0] cur_divisor;

第[2:0] bit_count;

整数i;

第[2:0]最大;/ *功能说明* // *创建逻辑结果的MSB 1 * /

总是@(除数)

开始

最大= 0;

为(1 = 7,我“0; =的i - 1)

如果(除数[一] == 1'b1及I“=最大)

最大=一;

末端线材[7:0] tmp_div =除数“”(8最大值);

/ *部门* /

总是@(negedge rb_por_cr或posedge的SCLK)

如果(!rb_por_cr)

开始

cur_divident“= 8'd0;

cur_divisor“= 8'd0;

bit_count“= 3'd0;

结果“= 7'd0;

末端

否则,如果(我们)

开始

cur_divident“= 9'd255,tmp_div;

cur_divisor“= tmp_div”“1;

bit_count“= 8的最大值;

结果“= 7'd0;

末端

否则,如果(bit_count“3'b000)

开始

如果(cur_divident [8] == 1'b0)

开始

cur_divident“= cur_divident,cur_divisor;

结果[bit_count - 1'b1]“= 1'b1;

末端

其他的

开始

结果[bit_count - 1'b1]“= 1'b0;

cur_divident“= cur_divident cur_divisor;

末端bit_count“= bit_count - 1;

cur_divisor“= cur_divisor”“1;

末端
endmodule

 
VitalyM4说:

嗨!我创建分频器(255/divisor),它工作的所有案件时,除一个良好除数等于1,那么结果是0,而不是255。模块组(

SCAN_EN_SCLK,/ *扫描启用* /

SCAN_IN_SCLK,/ *扫描输入* /

SCAN_OUT_SCLK,/ *扫描输出* /

rb_por_cr,/ *异步复位* /

的SCLK,/ *分频时钟* /

除数,/ *除数* /

我们,/ *写使能-启动分割* /

结果/ *分工的结果* /

);

/ *港口方向和类型* /

输出[6:0]的结果;

第[6:0]的结果;输入[7:0]除数;

线材[7:0]除数;

SCLK的投入;

丝的SCLK;

我们的投入;

丝我们;

输入rb_por_cr;

输入SCAN_EN_SCLK;

输入SCAN_IN_SCLK;

输出SCAN_OUT_SCLK;/ *内部信号宣言* /

第[8:0] cur_divident;

第[6:0] cur_divisor;

第[2:0] bit_count;

整数i;

第[2:0]最大;/ *功能说明* // *创建逻辑结果的MSB 1 * /

总是@(除数)

开始

最大= 0;

为(1 = 7,我“0; =的i - 1)

如果(除数[一] == 1'b1及I“=最大)

最大=一;

末端线材[7:0] tmp_div =除数“”(8最大值); 乌拉圭回合使零如果最大为零...多数民众赞成在发生什么1 .....你还是你可以与其它的东西......
多数民众赞成的原因
, 乌拉圭回合取得零所有的时间!!!!!!!/ *部门* /

总是@(negedge rb_por_cr或posedge的SCLK)

如果(!rb_por_cr)

开始

cur_divident“= 8'd0;

cur_divisor“= 8'd0;

bit_count“= 3'd0;

结果“= 7'd0;

末端

否则,如果(我们)

开始

cur_divident“= 9'd255,tmp_div;

cur_divisor“= tmp_div”“1;

bit_count“= 8的最大值;

结果“= 7'd0;

末端

否则,如果(bit_count“3'b000)

开始

如果(cur_divident [8] == 1'b0)

开始

cur_divident“= cur_divident,cur_divisor;

结果[bit_count - 1'b1]“= 1'b1;

末端

其他的

开始

结果[bit_count - 1'b1]“= 1'b0;

cur_divident“= cur_divident cur_divisor;

末端bit_count“= bit_count - 1;

cur_divisor“= cur_divisor”“1;

末端
endmodule我知道,出现了一些网页,您可以设置红利和除数和查看所有阶段的非恢复表决。
是否有人知道地址吗?提前感谢!
 
Thx。
本人固定这样。对于所有谁可能需要它!

代码:模块组(

SCAN_EN_SCLK,/ *扫描启用* /

SCAN_IN_SCLK,/ *扫描输入* /

SCAN_OUT_SCLK,/ *扫描输出* /

rb_por_cr,/ *异步复位* /

的SCLK,/ *分频时钟* /

除数,/ *除数* /

我们,/ *写使能-启动分割* /

结果/ *分工的结果* /

);

/ *港口方向和类型* /

输出[7:0]的结果;

第[7:0]的结果;输入[7:0]除数;

线材[7:0]除数;

SCLK的投入;

丝的SCLK;

我们的投入;

丝我们;

输入rb_por_cr;

输入SCAN_EN_SCLK;

输入SCAN_IN_SCLK;

输出SCAN_OUT_SCLK;/ *内部信号宣言* /

第[8:0] cur_divident;

第[6:0] cur_divisor;

第[2:0] bit_count;

整数i;

第[2:0]最大;/ *功能说明* // *创建逻辑结果的MSB 1 * /

总是@(除数)

开始

最大= 0;

为(1 = 7,我“0; =的i - 1)

如果(除数[一] == 1'b1及I“=最大)

最大=一;

末端线材[7:0] tmp_div =除数“”(7 -最大值);

/ *部门* /

总是@(negedge rb_por_cr或posedge的SCLK)

如果(!rb_por_cr)

开始

cur_divident“= 8'd0;

cur_divisor“= 8'd0;

bit_count“= 3'd0;

结果“= 7'd0;

末端

否则,如果(我们)

开始

cur_divident“= 9'd255,tmp_div;

cur_divisor“= tmp_div”“1;

bit_count“= 8的最大值;

如果(最大== 0)

结果“= 8'hFF;

其他的

结果“= 7'd0;

末端

否则,如果(bit_count“3'b000)

开始

如果(cur_divident [8] == 1'b0)

开始

cur_divident“= cur_divident,cur_divisor;

`ifdef debug_modeling

断言(bit_count = 3'b000)的结果[bit_count - 1'b1]“= 1'b1;否则$致命(0,”司误差范围内选定“);

`其他

结果[bit_count - 1'b1]“= 1'b1;

`endif

末端

其他的

开始

`ifdef debug_modeling

断言(bit_count = 3'b000)的结果[bit_count - 1'b1]“= 1'b0;否则$致命(0,”司误差范围内选定“);

`其他

结果[bit_count - 1'b1]“= 1'b0;

`endif

cur_divident“= cur_divident cur_divisor;

末端bit_count“= bit_count - 1;

cur_divisor“= cur_divisor”“1;

末端
endmodule

 
你相信这会为所有的场景工程??

是否有任何与除数8'b10001000&10001011区别???

 
普拉说:

你相信这会为所有的场景工程??是否有任何与除数8'b10001000&10001011区别???
 
可能是我在匆忙洛希尔忽略了实际问题!

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="很高兴" border="0" />是的
, 你说得对!

我认为结果是剩余的255/divisor

<img src="http://www.edaboard.com/images/smiles/icon_sad.gif" alt="悲哀的" border="0" />如果您使用的是在实际设计相同的,那么你需要重新编写它有效地摆脱额外的比较!

<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="中性" border="0" />
 
普拉说:如果您使用的是在实际设计相同的,那么你需要重新编写它有效地得到

摆脱额外的比较!
<img src="http://www.edaboard.com/images/smiles/icon_neutral.gif" alt="中性" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top