打印

verilog 请进!

[复制链接]
1925|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lake198664|  楼主 | 2007-8-27 01:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    小弟在写一个Verilog程序,想让它在CLK1K高电平时输出一个数,而在低电平时输出另一个数,为什么仿针波形看到的全是低电平时产生的数,而看不到高电平时的数呢?急救啊!另附程序如下!请各位大虾指点!

module ssj (
            //input
            clk1k,
            //output
            datan,
            dataa,
            datar
            );
input clk1k;
output [9:0]datan;
output [5:0]dataa;
output [2:0]datar;

wire [9:0]datan;
wire [5:0]dataa;
wire [2:0]datar;

reg [9:0]temp1;
reg [5:0]temp2;
reg [2:0]temp3;
/********************************/
always @(temp1 or temp2 or temp3)
    begin
      if(clk1k==1)
        begin
            temp1<=10'b00_0100_1110;
            temp2<=6'b11_0000;
            temp3<=3'b101;
        end
      else
        begin
            temp1<=10'b00_0100_1111;
            temp2<=6'b01_1000;
            temp3<=3'b101;
        end
    end
assign      datan=temp1;
assign        dataa=temp2;
assign        datar=temp3;
        
/**********************************/
endmodule

相关帖子

沙发
pearcaoer| | 2007-8-27 13:02 | 只看该作者

always @(temp1 or temp2 or temp3)

always @(temp1 or temp2 or temp3)

这行有问题
改为
always @(temp1 or temp2 or temp3 or clk1k)

使用特权

评论回复
板凳
wuzm02| | 2007-8-28 13:05 | 只看该作者

always @(clk1k)

把结果当敏感变量??

always @(temp1 or temp2 or temp3)

=〉
always @(clk1k)

使用特权

评论回复
地板
McuPlayer| | 2007-8-29 00:28 | 只看该作者

楼主是不是别的地方也发过啊

我怎么记得昨天回贴过啊,晕菜
3楼说的对,你把**生蛋和蛋生**的问题搞乱套了。

使用特权

评论回复
5
lake198664|  楼主 | 2007-8-30 03:44 | 只看该作者

谢谢!

呵呵,不好意思,那天搞不出来有点急了,不过现在已经调出来了,谢谢各位指点!

使用特权

评论回复
6
西岳使者| | 2007-10-13 20:12 | 只看该作者

我给你这个程序写了个test,成功了,也是我第一次写verilog

我给你这个程序写了个test,成功了,也是我第一次写verilog

使用特权

评论回复
7
flydpl| | 2007-10-18 20:08 | 只看该作者

呵呵,慢慢学

多看看编译出错信息,一般是能分析出来的

使用特权

评论回复
8
harlemjia| | 2007-10-20 18:37 | 只看该作者

always@(clk1k)就可以了

使用特权

评论回复
9
wwh_nuaa| | 2007-10-21 23:24 | 只看该作者

up


always @(temp1 or temp2 or temp3)

改为always @(clk1k)
 

使用特权

评论回复
10
zgl7903| | 2007-10-23 12:20 | 只看该作者

直接用赋值语句更好

assign datan = clk1 ? 10'b00_0100_1110 : 10'b00_0100_1111 ;
assign dataa = clk1 ? 6'b11_0000 : 6'b01_1000;
assign datar = clk1 ? 3'b101 : 3'b101;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

113

帖子

0

粉丝