名称:并串转换器和串并转换器VHDL代码Quartus仿真(文末获取)
软件:Quartus
语言:VHDL
代码功能:
设计项目
本项目将涉及VHDL中并行到串行和串行到并行转换器的开发和仿真。数字系统通常采用并行字节的数据,并通过一根传输,以节省线面积,减少串扰影响,提高时钟速度,或保持设备之间的兼容性。本练习将介绍组件实例化和在单个项目中使用多个VHDL模块文件。在VHDL中设计复杂的系统时,通过几个VHDL模块传播系统的功能块是很好和常见的做法,从而增加代码的简易性和功能性。
代码结构框图如下:
1.工程文件
2.程序文件
3.程序运行
4.RTL图
5.程序仿真
Testbench
Count仿真
串转并
并转串
Combination
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY combination IS PORT ( clk_in : IN STD_LOGIC;--输入clk parallel_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入并行数据 parallel_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--输出并行数据 ); END combination; ARCHITECTURE trans OF combination IS --例化串转并模块 COMPONENT SerialToparallel IS PORT ( clk_in : IN STD_LOGIC; data_input : IN STD_LOGIC; parallel_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END COMPONENT; --例化并转串模块 COMPONENT parallelToSerial IS PORT ( clk_in : IN STD_LOGIC; parallel_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0); data_output : OUT STD_LOGIC ); END COMPONENT; SIGNAL data_Serial : STD_LOGIC:='0'; -- Declare intermediate signals for referenced outputs SIGNAL parallel_out_signal : STD_LOGIC_VECTOR(7 DOWNTO 0):="00000000"; BEGIN -- Drive referenced outputs parallel_out <= parallel_out_signal; --调用串转并模块 SerialToparallel_u : SerialToparallel PORT MAP ( clk_in => clk_in, parallel_out => parallel_out_signal, data_input => data_Serial ); --调用并转串模块 parallelToSerial_u : parallelToSerial PORT MAP ( clk_in => clk_in, parallel_in => parallel_in, data_output => data_Serial ); END trans;
源代码
扫描文章末尾的公众号二维码