集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1629|回复: 5

新手求助,在线等,谢谢

[复制链接]
hjchen 发表于 2011-11-19 10:19:18 | 显示全部楼层 |阅读模式
两个问题
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
fpgaw 发表于 2011-11-19 15:13:43 | 显示全部楼层
maminglong 发表于 2011-11-19 21:26:43 | 显示全部楼层
路过的同问
zombes 发表于 2011-11-20 19:51:54 | 显示全部楼层
input [7:0] a;
       reg [7:0] a;
前面是端口定义,表示a为8位宽度的输入,
后面表示定义一个寄存器型量a,其宽度为8

两者不能同时出现在一个模块中,a既然为输入,那么它在这个模块中就没有任何类型,不能定义成reg或者wire;有一种情况是这样的,output [7:0] a;   reg [7:0] a,是可以的,此时的a是输出,同时又是寄存器类型。
zombes 发表于 2011-11-20 19:56:25 | 显示全部楼层
assign count=&out&cin;//jinwei  (此处是cout吧)
可以看出 cout是wire型的,只要out或者cin发生变化,它就跟着变化,跟时钟或其他触发无关
定义成 wire cout;
关于延时与毛刺,贴出测试输入 查看原因
zombes 发表于 2011-11-20 19:56:32 | 显示全部楼层
assign count=&out&cin;//jinwei  (此处是cout吧)
可以看出 cout是wire型的,只要out或者cin发生变化,它就跟着变化,跟时钟或其他触发无关
定义成 wire cout;
关于延时与毛刺,贴出测试输入 查看原因
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

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

GMT+8, 2024-5-15 18:15 , Processed in 0.072820 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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