射频和无线供应商和资源的家

一站式满足您的射频和无线需求

2位并行串行转换VHDL源代码

本页的VHDL源代码涵盖2位并行串行VHDL代码并提供链接到2位串行到并行转换。

硬件描述语言(VHDL)代码

——库声明
图书馆IEEE;
使用IEEE.STD_LOGIC_1164.ALL;
使用IEEE.STD_LOGIC_ARITH.ALL;
使用IEEE.STD_LOGIC_UNSIGNED.ALL;

——实体声明
实体Piso2bit_mod是
端口(clk:在std_logic;——处理时钟
重置:在std_logic;——复位信号
Valid_in:在std_logic中;——输入有效信号
Din: in std_logic_vector(1 downto 0);——输入数据
Dout: out std_logic;——输出数据
Valid_out: out std_logic);——输出有效信号
Piso2bit_mod结束;

——建筑从这里开始
Piso2bit_mod的行为是

——信号声明
类型状态为(rst, s0, s1);
信号ps, ns:状态;
信号din_s: std_logic_vector(1到0);

开始
——更新当前状态的过程
过程(时钟、复位)
开始
如果reset = '1',则
Ps <= rst;
Din_s <= "00";
Elsif rising_edge(clk)然后
Ps <= ns;
如果valid_in = '1',则
Din_s <= din;
如果;
如果;
结束过程;

——更新下一个状态的进程
过程(ps, valid_in)
开始
案例ps为
当RST => if valid_in = '1'那么
Ns <= s0;
其他的
Ns <= rst;
如果;
当s0 => ns <= s1;
当s1 => if valid_in = '1'那么
Ns <= s0;
其他的
Ns <= rst;
如果;
当others => ns <= rst;
结束;
结束过程;

过程(ps)
开始
案例ps为
当RST => dout <= '0';——这里输出为0
Valid_out <= '0';

当s0 => dout <= din_s(1);这里输出是输入的第2位
Valid_out <= '1';

当s1 => dout <= din_s(0);这里输出是输入的第1位
Valid_out <= '1';

当others => dout <= '0';
Valid_out <= '0';

结束;
结束过程;

端行为;

有用的链接到VHDL代码

参考以下以及左侧面板上提到的有用的VHDL代码的链接。
D触发器
T触发器
读写RAM
4 x1 MUX
4位二进制计数器
Radix4蝴蝶
16 qam调制
2bit并行串行

射频和无线教程

无线局域网802.11交流802.11广告wimax无线个域网z - waveGSMLTEUMTS蓝牙超宽频物联网卫星天线雷达


分享本页

翻译本页
Baidu