《多进制数字频率调制系统VHDL程序.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《多进制数字频率调制系统VHDL程序

为了抛砖引玉,我先送上几个源代码 多进制数字频率调制(MFSK)系统VHDL程序 --文件名:MFSK --功能:基于VHDL硬件描述语言,完成对基带信号的MFSK调制 --说明:这里MFSK的M为4 library ieee; use ieee.std_logic_arith.all; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity MFSK is port(clk :in std_logic; --系统时钟 start :in std_logic; --开始调制信号 x :in std_logic; --基带信号 y :out std_logic); --调制信号 end MFSK; architecture behav of MFSK is process(clk) process(clk,yy) --此进程完成对输入基带信号x的MFSK调制 begin if clk’event and clk=’1’ then if start=’0’ then y=’0’; -- if语句完成2位并行码到4种载波的选通 elsif yy=00 then y=not f(3); elsif yy=01 then y=not f(2); elsif yy=10 then y=not f(1); else y=not f(0); end if; end if; end process; end behav; --对输入的基带信号x进行串/并转换,得到2位并行信号的yy begin if clk’event and clk=’1’ then if start=’0’ then q=0; elsif q=0 then q=1;xx(1)=x;yy=xx; elsif q=8 then q=9;xx(0)=x; else q=q+1; end if; end if; end process; FPGA驱动LCD显示中文字符“年”程序 --文件名:lcd_driver.vhd。 --功能:FGAD驱动LCD显示中文字符“年”。 --最后修改日期:2004.3.24。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity lcd_driver is Port ( clk : in std_logic; --状态机时钟信号,同时也是液晶时钟信号,其周期应该满足液晶数据的建立时间 reset:in std_logic; lcdda : out std_logic; --寄存器选择信号 lcdrw : out std_logic; --液晶读写信号 lcden : out std_logic; --液晶时钟信号 data : out std_logic_vector(7 downto 0)); --液晶数据信号 end lcd_driver; architecture Behavioral of lcd_driver is type state is (set_dlnf,set_cursor,set_dcb,set _cgram,write _cgram,set_ddram,write_data); signal current_state:state; type ram2 is array(0 to 7) of std_logic_vector(7 downto 0); constant cgram:ram2:=(,,, ,,,,);--年字符数据存储器 signal clkk : std_logic; begin lcden = clk ; --液晶时钟信号 lcdrw = ’0’ ; --写数据 control:process(clk,reset,current_state) --液晶驱动控制器 variable cnt1: std_logic_vector(2 downto 0); begin if reset=’0’then current_state=set_dlnf; cnt1:=(others = ’1’); lcdda=’0’; elsif rising

文档评论(0)

sf197103 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档