集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
楼主: fpgaw

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

[复制链接]
夏宇闻 该用户已被删除
夏宇闻 发表于 2011-11-15 20:50:04 | 显示全部楼层
本帖最后由 夏宇闻 于 2011-11-15 20:59 编辑
夏老师,最近使用xilinx V6 的pll时遇到如下问题:ERROR:Xst:2035 - Port  has illegal connections. This  ...
北极土著 发表于 2011-11-15 10:11

通常PLL输入端只有时钟输入,不需要PLL复位输入,如果您一定需要,也要符合PLL宏模块的配置规定,不能乱来。系统复位信号可以直接从按钮通过引脚引入FPGA中,作为状态机的异步或同步复位信号。通常情况下与产生片内时钟信号的PLL无关。
hjchen 发表于 2011-11-19 18:50:00 | 显示全部楼层
老师你好,我是新手有两个问题想请教您:
1.    input [7:0] a;
       reg [7:0] a;
是将A定义为两种类型吗?不能在同一个程中使用吗?
2、在计数器中仿真中出现问题:
     1、如何定义计数值count的类型?
     2、出现延迟的原因是什么?怎么解决?
程序如下:
module counter(clk,reset,out,cout,cin);
  input        clk,reset,cin;
  output       [width-1:0]  out;
  output       cout;
  reg          [width-1:0]  out;
  reg          cout;
  parameter width=8;
  always @(posedge clk or posedge reset)
    begin
       if(reset)         out='b0;
         else            out=out+1;            
    end
   assign count=&out&cin;//jinwei
   endmodule

本帖子中包含更多资源

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

x
夏宇闻 该用户已被删除
夏宇闻 发表于 2011-11-20 05:01:53 | 显示全部楼层
老师你好,我是新手有两个问题想请教您:
1.    input [7:0] a;
       reg [7:0] a;
是将A定义为两种类 ...
hjchen 发表于 2011-11-19 18:50

1、A是从端口输入的信号,对本模块而言它只能是wire类型的。不能是Reg类型的。
2、计数器的设计可以把进位用拼接操作写在沿触发的always块内,赋值应该用非阻塞赋值。
你若认真读一遍我编写的书,理解基本语法和学会写testbench就不会问这些问题了。
ccc 发表于 2011-11-20 09:12:16 | 显示全部楼层
老师你好,调用ise硬核乘法器,计算乘法所用的时间(延时),是固定的吗?还是和模块里的设计有关?
ccc 发表于 2011-11-20 09:12:49 | 显示全部楼层
在modelsim中跑仿真的时候,会在transcript窗口中打印很多的log信息。
这些信息也被写到一个叫“transcript”文件中。
现在由于仿真跑了很长时间这个文件非常大。
请问如果控制这个文件的大小?
谢谢!
hjchen 发表于 2011-11-20 09:46:31 | 显示全部楼层
回复 173# 夏宇闻


    老师你好,您的书我在看,刚开始学习半个月,可能看的不仔细吧,我的第二个问题没有描述清楚麻烦您重新解答一遍:
我使用了非阻塞赋值后的结果是这样的。如图:

现在的问题是
100ns内有10个clk信号,可是out为什么是从0开始?而且在103.96ns的时候out=10?
谢谢您!

本帖子中包含更多资源

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

x
夏宇闻 该用户已被删除
夏宇闻 发表于 2011-11-20 19:17:38 | 显示全部楼层
老师你好,调用ise硬核乘法器,计算乘法所用的时间(延时),是固定的吗?还是和模块里的设计有关?
ccc 发表于 2011-11-20 09:12

乘数和被乘数大小和位数不同,积的位数不同,乘法器运算所用的时间不同。延时与乘法器硬核配置的位数和控制线等有关。
夏宇闻 该用户已被删除
夏宇闻 发表于 2011-11-20 19:25:07 | 显示全部楼层
本帖最后由 夏宇闻 于 2011-11-20 19:33 编辑
回复  夏宇闻


    老师你好,您的书我在看,刚开始学习半个月,可能看的不仔细吧,我的第二个问题没有 ...
hjchen 发表于 2011-11-20 09:46

你做的是布局布线后的仿真吧?用什么仿真工具?从波形看复位后输出0,第1个时钟正沿后,延迟几ns后输出1,…很正确,103.96ns后输出10很正确。有什么可奇怪的?
夏宇闻 该用户已被删除
夏宇闻 发表于 2011-11-20 19:33:01 | 显示全部楼层
在modelsim中跑仿真的时候,会在transcript窗口中打印很多的log信息。
这些信息也被写到一个叫“transcrip ...
ccc 发表于 2011-11-20 09:12

你可以把对调试有用的信息打印到文件中,不需要的信息不记录在文件中,只输出到屏幕,或者什么都不显示,你可以编脚本文件控制仿真器的各种操作。具体如何操作查一下工具命令即可。
yhf561 发表于 2011-11-27 21:42:59 | 显示全部楼层
夏老师好啊,请教您一个问题:我在编写模块,用顶层模块调用子模块的时候,总出现Error (10228): Verilog HDL error at sigdata.v(4): module "sigdata" cannot be declared more than once,就是子模块老出错,请问子模块和顶层模块是放在以顶层模块命名的工程里面的吧?我应该怎么解决这个问题呢?谢谢!
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|集成电路技术分享 ( 京ICP备20003123号-1 )

GMT+8, 2024-7-7 22:15 , Processed in 0.071658 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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