比较选择器, 我的这个程序里面 要用到比较多的if语句,当满足某一条件时,执行某一句,因为用了比较多的比较器和 if 语句,导致逻辑
电路比较复杂,导致RTL原理图只能看到最上层模块,底层的看不到。求大神指导一下,该怎么优化程序。
下面是我的部分代码:
- always @(posedge clock )begin
- if (rst) begin
- guassian_output <= 25'b0;
-
- end else if (random>0 && random<=100) begin
- guassian_output <= 731*(random-0)+447000 ;
-
- end else if(random>100 && random<=400) begin
- guassian_output <= 684*(random-100)+520000;
- <span class="Apple-tab-span" style="white-space: pre; "> </span>
- <blockquote><span class="Apple-tab-span" style="white-space:pre"> </span>end else if (random>400 && random<=1900) begin
复制代码就这样一共弄了26个if语句!
能不能给个提示 ,要怎么做呢
例:
设每100为一档,共0~1000,则可从中间取区间值进行比较。
if(a>500)
if (a>800)
if(a>900) ......
else ...........
else if(a>700)............
else if(a>600).........
else ...........
else if(a>300)
if(a>400).........
else ............
else if (a>200).........
else if(a>100) .........
else.............
这样可以减少至少一半的比较器
一周热门 更多>