pl_dpsk2.vhd

来自「利用VHDL语言实现在」· VHDL 代码 · 共 27 行

VHD
27
字号
library ieee;
use ieee.std_logic_arith.all;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity PL_DPSK2 is
port(clk    :in std_logic;          --系统时钟
     x    :in std_logic;       --整形后的方波输入信号
     y    :out std_logic);     --绝对码输出信号
end PL_DPSK2;
architecture behav of PL_DPSK2 is
signal q:integer range 0 to 511:=0;    --计数器
signal xx1,xx2:std_logic;              --寄存相对码
begin
process(clk,x)   --此进程完成相对码到绝对码的转换
begin
if clk'event and clk='1' then 
   if q=0 then q<=1;xx1<=x;xx2<=xx1;  --用xx2寄存前一个码元周期内的相对码信号
                                        --用xx1寄存当前周期的相对码信号
   elsif q=1 then q<=2; 
      if xx1=xx2 then y<='0';--如果相对码没有变化,则解调出'0'
       else y<='1';  --如果相对码发生变化,则解调出'1'
       end if;
   else q<=q+1;
   end if;
end if;
end process;
end behav;  

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?