软件:Quartus
语言:VHDL
代码功能:
本项目将涉及VHDL中并行到串行和串行到并行转换器的开发和仿真。
数字系统通常采用并行字节的数据,并通过一根传输,以节省线面积,减少串扰影响,提高时钟速度,或保持设备之间的兼容性。
本练习将介绍组件实例化和在单个项目中使用多个VHDL模块文件。
在VHDL中设计复杂的系统时,通过几个VHDL模块传播系统的功能块是很好和常见的做法,从而增加代码的简易性和功能性。
代码结构框图如下:
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1.工程文件
2.程序文件
3.程序编译
4.RTL图
5.程序仿真
Testbench
Combination仿真
Count仿真
串转并模块仿真
串转并模块testbench
并转串模块仿真
并转串模块testbench
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY combination IS PORT ( clk : IN STD_LOGIC;--输入clk par_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入并行数据 par_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--输出并行数据 ); END combination; ARCHITECTURE behave OF combination IS --串转并模块 COMPONENT SerialToparallel IS PORT ( clk : IN STD_LOGIC;--输入clk ser_in : IN STD_LOGIC;--串行输入 par_out : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--并行输出 ); END COMPONENT; --并转串模块 COMPONENT parallelToSerial IS PORT ( clk : IN STD_LOGIC;--时钟 par_in : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入并行数据 ser_out : OUT STD_LOGIC--输出串行数据 ); END COMPONENT; SIGNAL serial_data : STD_LOGIC:='0';--串行数据 BEGIN --调用并转串模块 parallelToSerial_i : parallelToSerial PORT MAP ( clk => clk, par_in => par_in, ser_out => serial_data ); --调用串转并模块 SerialToparallel_i : SerialToparallel PORT MAP ( clk => clk, par_out => par_out, ser_in => serial_data ); END behave;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=633
阅读全文
664