夏宇闻 发表于 2011-10-25 21:42:58

夏老师您好,请问下Quartus II 有没有给设计自动分配引脚的功能,如果有,怎么使用呀?
418478935 发表于 2011-10-25 17:31 http://www.fpgaw.com/images/common/back.gif
您不做任何配置,可综合的顶层模块的输入和输出端口综合和布局布线后,将自动连接到引脚。

418478935 发表于 2011-10-26 14:16:05

您不做任何配置,可综合的顶层模块的输入和输出端口综合和布局布线后,将自动连接到引脚。
夏宇闻 发表于 2011-10-25 21:42 http://www.fpgaw.com/images/common/back.gif


    夏老师好,我比较愚钝,比如我写个简答的加法器,两个4位的输入,一个时钟,一个5位的输出。别的什么都不设置,直接编译,编译成功后,打开 pin-planner 看,里面的所有引脚都是空白的呀。
而且会有一个Critial Waring : Critical Warning: No exact pin location assignment(s) for 14 pins of 14 total pins。这种情况下是不是没有分配引脚呢?

再次打扰老师,实在不好意思。

夏宇闻 发表于 2011-10-26 16:55:01

夏老师好,我比较愚钝,比如我写个简答的加法器,两个4位的输入,一个时钟,一个5位的输出。别的 ...
418478935 发表于 2011-10-26 14:16 http://www.fpgaw.com/images/common/back.gif


    但是如果您按下Show Fitter pIacement您能看到布线工具为您随意分配的引脚,当然位置不会令您满意,也不能算是真的连接,但可供您确定正式引脚提供参考。

418478935 发表于 2011-10-27 10:05:34

但是如果您按下Show Fitter pIacement您能看到布线工具为您随意分配的引脚,当然位置不会令您满意 ...
夏宇闻 发表于 2011-10-26 16:55 http://www.fpgaw.com/images/common/back.gif


    谢谢夏老师耐心解答了,再次感谢:handshake

qianniuwei 发表于 2011-10-28 16:21:06

夏老师您好:
    assign q=(al=1?)d:0;老师您说是个与门,但是与门的输出只有0或1,怎么会是的呢?所以感觉应该是个二选一多路选择器,而不是与门。老师我的想法对吗?谢谢老师

ccc 发表于 2011-10-28 20:17:43

verilog里逻辑运算符&&和按位逻辑运算符&有什么区别啊

夏宇闻 发表于 2011-10-28 23:06:35

本帖最后由 夏宇闻 于 2011-10-28 23:27 编辑

夏老师您好:
    assign q=(al=1?)d:0;老师您说是个与门,但是与门的输出只有0或1,怎么会是的呢?所以感 ...
qianniuwei 发表于 2011-10-28 16:21 http://www.fpgaw.com/images/common/back.gif
你的想法不对。你画一下真值表就知道了,这就是一个与门。如果是二选一多路器,那么只有一路d可以变化,而另一路永远为0。
注意al==1?, 不是al=1?

夏宇闻 发表于 2011-10-28 23:16:45

verilog里逻辑运算符&&和按位逻辑运算符&有什么区别啊
ccc 发表于 2011-10-28 20:17 http://www.fpgaw.com/images/common/back.gif
&&是逻辑与,无论变量的位数多少操作结果只有真和伪,即逻辑值1或0;而&是按位与操作,两个多位的逻辑变量按位与操作后可求得一个多位的数值。仔细读书就应该能明白的,难道您没有认真读书和思考?

qiyanan12 发表于 2011-10-31 10:39:18

夏老师你好,这是我的一个电子钟程序,当我下载到板子上仿真的时候出现了没有定义的数码管亮了,定义的数码管亮度很暗,但显示的结果是对的
,请指点一下
module clock1(clr,clk,segdat,sl);
input clr,clk;
output segdat;
output sl;
reg count;
regsec,min;
regsegdat_reg;
regsl_reg;
regdisp_dat;
reg second;
reg cn;

parameter CLK_FREQ = 26'd50_000_000;//系统时钟
parameter DCLK_FREQ = 26'd2;      //输出频率10Hz

always@(posedge clk)
   begin
   if(count<(CLK_FREQ/DCLK_FREQ))
    count <= count + 1'b1;
else
   begin
   count <= 0;
   second <= ~second;
end
end
always@(count)
   begin
   case(count)
      2'b00:
                  begin
                     disp_dat= sec;      
                     sl_reg = 4'b1110;      
                  end
                2'b01:
                  begin
                     disp_dat=sec;      
                     sl_reg=4'b1101;               
                  end
                2'b10:
                  begin
                     disp_dat=min;      
                  sl_reg=4'b1011;               
                  end
                2'b11:
                  begin
                     disp_dat=min;      
                     sl_reg=4'b0111;               
                  end
    endcase
   end


always @(posedge second )
   begin
   if(!clr)
       begin
       sec=8'h0;
       cn=0;
       end
   else
       begin
       cn=0;
       sec=sec+1'b1;
       if(sec==4'd10)
       begin
          sec=4'd0;
          sec=sec+1'b1;
          if(sec==4'd6)
             begin
               sec=4'd0;
               cn=1;
             end
       end
       end
    end
always @(posedge cn)
    begin
   if(!clr)
       begin
       min=8'h0;
       end
   else
       begin
       min=min+1'b1;
       if(min==4'd10)
       begin
          min=4'd0;
          min=min+1'b1;
          if(min==4'd6)
             begin
               min=4'd0;
             end
       end
       end
    end
always@(disp_dat or sl)
   begin
   case(disp_dat)
   4'h0:segdat_reg=8'hc0;
   4'h1:segdat_reg=8'hf9;
   4'h2:segdat_reg=8'ha4;
   4'h3:segdat_reg=8'hb0;
   4'h4:segdat_reg=8'h99;
   4'h5:segdat_reg=8'h92;
   4'h6:segdat_reg=8'h82;
   4'h7:segdat_reg=8'hf8;
   4'h8:segdat_reg=8'h80;
   4'h9:segdat_reg=8'h90;
   default:segdat_reg=8'hc0;
   endcase
   
   end
assign segdat=segdat_reg;
assign sl=sl_reg;
endmodule

qiyanan12 发表于 2011-10-31 16:04:25

夏老师你好,这是我的一个电子钟程序,当我下载到板子上仿真的时候出现了没有定义的数码管亮了,定义的数码管亮度很暗,但显示的结果是对的
,请指点一下
module clock1(clr,clk,segdat,sl);
input clr,clk;
output segdat;
output sl;
reg count;
regsec,min;
regsegdat_reg;
regsl_reg;
regdisp_dat;
reg second;
reg cn;

parameter CLK_FREQ = 26'd50_000_000;//系统时钟
parameter DCLK_FREQ = 26'd2;      //输出频率10Hz

always@(posedge clk)
   begin
   if(count<(CLK_FREQ/DCLK_FREQ))
    count <= count + 1'b1;
else
   begin
   count <= 0;
   second <= ~second;
end
end
always@(count)
   begin
   case(count)
      2'b00:
                  begin
                     disp_dat= sec;      
                     sl_reg = 4'b1110;      
                  end
                2'b01:
                  begin
                     disp_dat=sec;      
                     sl_reg=4'b1101;               
                  end
                2'b10:
                  begin
                     disp_dat=min;      
                  sl_reg=4'b1011;               
                  end
                2'b11:
                  begin
                     disp_dat=min;      
                     sl_reg=4'b0111;               
                  end
    endcase
   end


always @(posedge second )
   begin
   if(!clr)
       begin
       sec=8'h0;
       cn=0;
       end
   else
       begin
       cn=0;
       sec=sec+1'b1;
       if(sec==4'd10)
       begin
          sec=4'd0;
          sec=sec+1'b1;
          if(sec==4'd6)
             begin
               sec=4'd0;
               cn=1;
             end
       end
       end
    end
always @(posedge cn)
    begin
   if(!clr)
       begin
       min=8'h0;
       end
   else
       begin
       min=min+1'b1;
       if(min==4'd10)
       begin
          min=4'd0;
          min=min+1'b1;
          if(min==4'd6)
             begin
               min=4'd0;
             end
       end
       end
    end
always@(disp_dat or sl)
   begin
   case(disp_dat)
   4'h0:segdat_reg=8'hc0;
   4'h1:segdat_reg=8'hf9;
   4'h2:segdat_reg=8'ha4;
   4'h3:segdat_reg=8'hb0;
   4'h4:segdat_reg=8'h99;
   4'h5:segdat_reg=8'h92;
   4'h6:segdat_reg=8'h82;
   4'h7:segdat_reg=8'hf8;
   4'h8:segdat_reg=8'h80;
   4'h9:segdat_reg=8'h90;
   default:segdat_reg=8'hc0;
   endcase
   
   end
assign segdat=segdat_reg;
assign sl=sl_reg;
endmodule
页: 3 4 5 6 7 8 9 10 11 12 [13] 14 15 16 17 18 19 20 21 22
查看完整版本: 至芯科技【夏宇闻教授专栏】与你一起搞定FPGA设计!