集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: fpgaw

至芯科技【夏宇闻教授专栏】与你一起搞定FPGA设计!

[复制链接]
ccc 发表于 2012-4-19 05:10:25 | 显示全部楼层
verilog求模运算求解
`timescale 1ns / 1ps
module seg(
    input clk,
    input sw,
    output  [7:0] qg,qs,qb,qq
    );
reg [31:0] count;
reg [13:0] cnt;
reg        [3:0] 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  [7:0] seg;
input [3:0] 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里

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
夏宇闻 该用户已被删除
夏宇闻 发表于 2012-4-21 06:07:58 | 显示全部楼层
夏老师,您好!我想问下下面的警告是什么问题呢,要不要紧,该怎么解决 Warning: Ignored assignment: set_ ...
ylu 发表于 2012-4-10 09:43

您实例引用了锁相环pLL的参数化宏模块,可能您没有确定引脚等布线要求,综合布局过程中出现警告,使用了默认参数。因为不在现场,不清楚具体情况,我的观点不一定正确,仅供参考。
夏宇闻 该用户已被删除
夏宇闻 发表于 2012-4-21 06:14:45 | 显示全部楼层
verilog求模运算求解
`timescale 1ns / 1ps
module seg(
    input clk,
    input sw,
    output  [ ...
ccc 发表于 2012-4-19 05:10

您应该认真读一遍数字系统设计的书,理解并知道如何写状态机后才开始设计。您的模块中没有状态的概念,也就是说没有控制流,如何实现数据在寄存器之间的流动?
夏宇闻 该用户已被删除
夏宇闻 发表于 2012-4-21 06:18:36 | 显示全部楼层
本帖最后由 夏宇闻 于 2012-4-21 06:21 编辑
夏老师  你好   我调用了altgx   仿真时出现白色虚线    请问这表示什么  另外蓝色线是否代表高阻,红色表示 ...
tjy389945230 发表于 2012-4-19 09:18

您关于蓝、红色线的判断是正确的。白色虚线可能是是端口或信号定义了,但没有用到,所以仿真器不知道是什么值。我已经很久没用工具也许错了。您核对一下即可明白。
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

换一种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

起码要会独立编写一些比较复杂的接口协议或较复杂的算法模块才能找到IC设计的实习工作。只有三十小时的听课和实验是没有任何用的,必须投入半年以上全力投入的自学,也就是每天十小时以上的工作,或有人指导下三个月以上的全力投入,才有可能被设计公司接受参加实习。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-16 01:26 , Processed in 0.077612 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表