ccc 发表于 2012-4-19 05:10:25

verilog求模运算求解
`timescale 1ns / 1ps
module seg(
    input clk,
    input sw,
    output qg,qs,qb,qq
    );
reg count;
reg cnt;
reg       g,s,b,q;

always@(posedge clk,negedge sw)
      begin
                if(!sw)
                        begin
                              count <= 0;
                              cnt <= 0;
                        end
                else if(count == 50_000_000)   //delay 1s
                        begin
                              count <= 0;
                              cnt <= cnt + 1;
                              g <=      cnt % 10;
                              s <=      cnt / 10 % 10;
                              b <=      cnt / 100 % 10;
                              q <=      cnt / 1000 % 10;
                        end      
                else if(cnt == 9999)
                        cnt <= 0;                                       
                else
                        count <= count + 1;
      end
//assign                g =      cnt % 10;
//assign                s =      cnt / 10 % 10;
//assign                b =      cnt / 100 % 10;
//assign                q =      cnt / 1000 % 10;
      
assign qg = seg(g);
assign qs = seg(s);
assign qb = seg(b);
assign qq = seg(q);

      
function seg;
input temp;
      case(temp)
                4'd0      :      seg = 8'h3f;
                4'd1      :      seg = 8'h06;
                4'd2      :      seg = 8'h5b;
                4'd3      :      seg = 8'h4f;
                4'd4      :      seg = 8'h66;
                4'd5      :      seg = 8'h6d;
                4'd6      :      seg = 8'h7d;
                4'd7      :      seg = 8'h07;
                4'd8      :      seg = 8'h7f;
                4'd9      :      seg = 8'h6f;
      default      :      seg = 8'hxx;
      endcase
endfunction

endmodule
这是我写的代码是一个计算0-9999的计数器,在用数码管显示的,现在这个代码有错误通不过检测
错误提示:
ERROR:Xst:867 - "seg.v" line 23: Operator % is only supported when the second operand is a power of 2.
在线等高手求解!谢谢!

tjy389945230 发表于 2012-4-19 09:18:34

夏老师你好   我调用了altgx   仿真时出现白色虚线    请问这表示什么另外蓝色线是否代表高阻,红色表示未知
图片可能看不清    仿真图在word里

夏宇闻 发表于 2012-4-21 06:07:58

夏老师,您好!我想问下下面的警告是什么问题呢,要不要紧,该怎么解决 Warning: Ignored assignment: set_ ...
ylu 发表于 2012-4-10 09:43 http://www.fpgaw.com/images/common/back.gif
您实例引用了锁相环pLL的参数化宏模块,可能您没有确定引脚等布线要求,综合布局过程中出现警告,使用了默认参数。因为不在现场,不清楚具体情况,我的观点不一定正确,仅供参考。

夏宇闻 发表于 2012-4-21 06:14:45

verilog求模运算求解
`timescale 1ns / 1ps
module seg(
    input clk,
    input sw,
    output[ ...
ccc 发表于 2012-4-19 05:10 http://www.fpgaw.com/images/common/back.gif
您应该认真读一遍数字系统设计的书,理解并知道如何写状态机后才开始设计。您的模块中没有状态的概念,也就是说没有控制流,如何实现数据在寄存器之间的流动?

夏宇闻 发表于 2012-4-21 06:18:36

本帖最后由 夏宇闻 于 2012-4-21 06:21 编辑

夏老师你好   我调用了altgx   仿真时出现白色虚线    请问这表示什么另外蓝色线是否代表高阻,红色表示 ...
tjy389945230 发表于 2012-4-19 09:18 http://www.fpgaw.com/images/common/back.gif
您关于蓝、红色线的判断是正确的。白色虚线可能是是端口或信号定义了,但没有用到,所以仿真器不知道是什么值。我已经很久没用工具也许错了。您核对一下即可明白。

ccc 发表于 2012-4-22 05:39:43

quartus II里 LPM不全怎么办?

夏宇闻 发表于 2012-4-24 19:13:18

quartus II里 LPM不全怎么办?
ccc 发表于 2012-4-22 05:39 http://www.fpgaw.com/images/common/back.gif
换一种FPGA或自己编写功能模块。

zenghy555 发表于 2012-4-29 14:13:00

夏老师,您好!我是一个在校学生,有一点Verilog基础,毕业想从事IC设计工作,请问我需要学习哪些相关的知识或技能呢?

zenghy555 发表于 2012-4-29 14:13:11

夏老师,您好!我是一个在校学生,有一点Verilog基础,毕业想从事IC设计工作,请问我需要学习哪些相关的知识或技能呢?

夏宇闻 发表于 2012-5-1 09:53:34

夏老师,您好!我是一个在校学生,有一点Verilog基础,毕业想从事IC设计工作,请问我需要学习哪些相关的知识 ...
zenghy555 发表于 2012-4-29 14:13 http://www.fpgaw.com/images/common/back.gif
起码要会独立编写一些比较复杂的接口协议或较复杂的算法模块才能找到IC设计的实习工作。只有三十小时的听课和实验是没有任何用的,必须投入半年以上全力投入的自学,也就是每天十小时以上的工作,或有人指导下三个月以上的全力投入,才有可能被设计公司接受参加实习。
页: 22 23 24 25 26 27 28 29 30 31 [32] 33 34 35 36 37 38 39 40
查看完整版本: 至芯科技【夏宇闻教授专栏】与你一起搞定FPGA设计!