开发工具:
文件大小: 30kb
下载次数: 0
上传时间: 2013-11-30
详细说明: 这是用vhdl编写信号发生器输出三角波,方波,锯齿波 由于用VHDL编写输出的是数字信号,所以要在后面加入D/A转换 实现方式 PLD(或FPGA)+D/A转换 用PLD(或FPGA)产生3种循环变化的数据量(这里用4位 实现幅值10=‘1010) 1 用0-10的循环加法计数 实现锯齿波 2 用0-10-0循环加减计数器 实现三角波 3 用0-10-0循环加减计数实现 方波 Library IEEE; Use ieee.std_logic_1164.all; Use ieee.std_logic_unsigned.all; Entity sig is Port( clk,reset: in std_logic; Mod: in std_logic_vector(1 downto 0); --MOD为模式选择 --00输出递增锯齿波 01输出递减锯齿波 --10 输出三角波 11 输出方波 dout: out std_logic_vector(3 downto 0)); End sig; Architecture one of sig is Signal count:std_logic_vect or(3 downto 0); --count 为计数 Signal addsub:std_logic; -- addsub 为0时 加法计数 Begin -- 为1时 减法计数 cout<= count; -- 将计数值送给输出 Process(clk,reset,mod) Begin If reset=’1’ then -- 异步复位 Count<=”0000”; Elsif clk’event and clk=’1’ then If count=”1010” then --同步复位 Count<=”0000”; End if; Case mod is When “00” => if count --所得递增锯齿波波形周期为10个时钟周期 count<= count+1; When “01” => count<= count-1; --所得递减锯齿波形周期为10个时钟周期 When “10” =>if (addsub=’0’) then --所得三角波形周期为20个时钟周期 count<= count+1; ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.