微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > DS18B20的Verilog程序,请问这个能仿真出时序吗,谢谢大家了

DS18B20的Verilog程序,请问这个能仿真出时序吗,谢谢大家了

时间:10-02 整理:3721RD 点击:
module temperature(clk,dq,d,cont,temp);
input clk;
input dq;
output d;
output cont;
output[9:0] temp;
reg d;
reg cont;
reg[9:0] temp;
reg data;
reg[6:0] num;
reg[6:0] count;
reg[9:0] t;
always @(posedge clk)
begin
  num=num+1;
  if(num>'b1000100)
    begin num='b0000000;
     if(count=='b1001011)
       begin count='b0000000;end
     else
       begin count=count+1;end
     end
   else
   begin num=num+1;end
if(count>='b0000000&&count 'b0000110&&count ='b0000000&&num ='b0000000&&num ='b0000000&&num ='b0000000&&num ='b0011110&&count ='b0100101&&count ='b0000000&&num ='b0000000&&num ='b0000000&&num ='b0000000&&num<'b0001010)
         begin data=0;cont=1;end
     else
         begin cont=0;end
    end
else if(count=='b0111100)
   begin
     if(num<='b0000000&&num<'b0001010)
      begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[0]=dq;end
    end
else if(count=='b0111101)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[1]=dq;end
    end
else if(count=='b0111110)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[2]=dq;end
    end
else if(count=='b0111111)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[3]=dq;end
    end
else if(count=='b1000000)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[4]=dq;end
    end
else if(count=='b1000001)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[5]=dq;end
    end
else if(count=='b1000010)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[6]=dq;end
    end
else if(count=='b1000011)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[7]=dq;end
    end
else if(count=='b1000100)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[8]=dq;end
    end
else if(count=='b1000101)
   begin
     if(num<='b0000000&&num<'b0001010)
     begin data=0;cont=1;end
      else
          begin cont=0;end
      if(num=='b0001110)
          begin t[9]=dq;end
    end
  d=data;
  temp=t;
end
endmodule
这个程序编绎是没有出错的,但是我不知道怎么仿真,那个输入怎么输入,谢谢大家了用的是Quartus9.0
     
     
     
     
     
     
     
     
     
     
     
     

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top