hjchen 发表于 2011-11-19 10:19:18

新手求助,在线等,谢谢

两个问题
1.    input a;
       reg a;
是将A定义为两种类型吗?不能在同一个程中使用吗?
2、在计数器中仿真中出现问题:
   1、如何定义计数值count的类型?
   2、出现延迟的原因是什么?怎么解决?
程序如下:
module counter(clk,reset,out,cout,cin);
input      clk,reset,cin;
output       out;
output       cout;
reg          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
仿真结果如图:

fpgaw 发表于 2011-11-19 15:13:43

发到这里 http://www.fpgaw.com/thread-14188-1-1.html

maminglong 发表于 2011-11-19 21:26:43

路过的同问

zombes 发表于 2011-11-20 19:51:54

input a;
       reg a;
前面是端口定义,表示a为8位宽度的输入,
后面表示定义一个寄存器型量a,其宽度为8

两者不能同时出现在一个模块中,a既然为输入,那么它在这个模块中就没有任何类型,不能定义成reg或者wire;有一种情况是这样的,output a;   reg 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]
查看完整版本: 新手求助,在线等,谢谢