您好,歡迎來電子發(fā)燒友網! ,新用戶?[免費注冊]

您的位置:電子發(fā)燒友網>源碼下載>VHDL/Verilog/EDA源碼>

基于AHDL的函數信號發(fā)生器的設計(附源代碼)

大小:0.1 MB 人氣: 2017-12-05 需要積分:0

  AD558可將輸入的數字量(8位)轉化成0~2.56V的模擬電壓量;用CPLD器件產生四種循環(huán)變化的數據量:

  1、0~255(8Bit)循環(huán)加法計數;

  2、255~0(8Bit)循環(huán)堿法計數;

  3、0~255~0(8Bit)循環(huán)加減法計數;

  4、0,20H,40H,60H,80H,A0H,C0H,E0H編碼計數器。

  將計數器的八位輸出接到DAC的八位輸入,可以產生四種波形(頻率相同):

  1、遞增斜波;

  2、遞減斜波;

  3、三角波;

  4、遞增階梯波;

  本實驗完全用硬件描述語言實現,參考AHDL源程序

  t11.tdf

  SUBDESIGN t11

 ?。?/p>

  clk,reset,model[1..0]: INPUT;

  daout[7..0]: OUTPUT;

  )

  VARIABLE

  count[7..0],subadd :DFF;

  -- subadd :NODE;

  BEGIN

  count[].clk=clk;

  count[].clrn=reset;

  subadd.clk=clk;

  subadd.clrn=reset;

  daout[]=count[].q;

  -- sa[]=subadd[].q;

  CASE model[] IS

  WHEN 0 =》

  count[].d=count[].q+1;

  WHEN 1 =》

  count[].d=count[].q-1;

  WHEN 2 =》

  IF(subadd.q==GND) THEN

  count[].d=count[].q+1;

  IF(count[].q == 254) THEN

  subadd.d=VCC;

  ELSE

  subadd.d=GND;

  END IF;

  ELSE

  count[].d=count[].q-1;

  IF(count[].q 《= 1) THEN

  subadd.d=GND;

  ELSE

  subadd.d=VCC;

  END IF;

  END IF;

  WHEN 3 =》

  count[].d=count[].q+H“20”;

  END CASE;

  END;

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關規(guī)定!

      ?