完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
times New="New" Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">基于VHDL硬件描述语言的基带码发生器程序设计与仿真
常用基带码发生器程序 --文件名:HS_UJDM --功能:基于VHDL硬件描述语言,产生常用基带码 --最后修改日期:2004.3.27 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity HS_UJDM is Port (clk : in std_logic; --系统时钟 Start : in std_logic; --始能信号 dat : in std_logic_vector(15 downto 0); --二进制数据输入端 NRZ : out std_logic; --非归零信号输出端 DRZ : out std_logic; --单极性归零信号输出端 SRZ : out std_logic_vector(1 downto 0); --双极性归零信号输出端 AMI : out std_logic_vector(1 downto 0); --交替极性信号输出端 CFM : out std_logic; --差分信号输出端 CMI : out std_logic; --编码信号反转码信号输出端 FXM : out std_logic); --分相码(曼彻斯特码)信号输出端 end HS_UJDM; architecture Behavioral of HS_UJDM is begin process(clk,start) variable latch_dat : std_logic_vector(15 downto 0); --十六位二进制信号锁存器 variable latch_sig : std_logic; --高位信号锁存器 variable latch_cfm : std_logic; --差分码信号寄存器 variable latch_cnt : std_logic; --基带码同步信号 variable count_fri : integer range 0 to 8; --分频计数器(码宽定义) variable count_mov : integer range 0 to 16; --移位计数器 begin if start='0' then latch_cnt:='0'; --异步复位 latch_cfm:='0'; latch_sig:='0'; count_fri:=7;count_mov:=16; --异步置位 latch_dat:="0000000000000000"; elsif rising_edge(clk) then count_fri:=count_fri+1; --分频计数器+1 if count_fri=8 then count_fri:=0; --计数到8 if count_mov<16 then count_mov:=count_mov+1; --移位计数器+1 latch_sig:=latch_dat(15); --二进制码高位移入latch_sig中 latch_dat:=latch_dat(14 downto 0)&'0'; --二进制数据向高位移动一位,低位补零 else latch_dat:=dat;count_mov:=0; --载入下一轮将发送的数据 latch_cfm:='0';latch_sig:='0';latch_cnt:='0'; --寄存器复位 end if; if latch_sig='1' then latch_cfm:=not(latch_cfm); --差分码信号寄存器中信号取反 end if; end if; if count_fri<4 then latch_cnt:='1'; --基带码同步信号的占空比调节 else latch_cnt:='0'; end if; end if; --码形转换部分 NRZ<=latch_sig; --非归零码信号 DRZ<=latch_sig and latch_cnt; --单极性归零码信号 SRZ(0)<=latch_cnt; --双极性归零码信号 SRZ(1)<=not(latch_sig); --SRZ(1)=‘1’表示负极性 AMI(0)<=latch_sig and latch_cnt; --极性交替码信号 AMI(1)<=not(latch_cfm); --AMI(1)=‘1’表示负极性 CFM<=latch_cfm; --差分码信号
m5n989Sw.doc
(80 KB, 下载次数: 7
)
|
|
相关推荐
2 个讨论
|
|
谢谢
|
|
|
|
|
|
FPGA零基础学习系列精选:半导体存储器和可编程逻辑器件简介
222 浏览 0 评论
cmos的slvs-ec协议40针引脚该如何连接到xilinx a7开发版上?
354 浏览 0 评论
1303 浏览 1 评论
373 浏览 0 评论
【星嵌电子XQ138F-EVM开发板体验】(原创)8.安全FPGA防御黑客病毒(芯片设计制造级防护)源代码
1391 浏览 0 评论
1070 浏览 22 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-3-29 12:49 , Processed in 0.520096 second(s), Total 40, Slave 30 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 深圳华秋电子有限公司
电子发烧友 (电路图) 粤公网安备 44030402000349 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号