基于VHDL的uart设计(3)

2018-12-08 20:38

-- Retrieval info: CONSTANT: ADD_RAM_OUTPUT_REGISTER STRING \-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING \-- Retrieval info: CONSTANT: LPM_NUMWORDS NUMERIC \-- Retrieval info: CONSTANT: LPM_SHOWAHEAD STRING \-- Retrieval info: CONSTANT: LPM_TYPE STRING \-- Retrieval info: CONSTANT: LPM_WIDTH NUMERIC \-- Retrieval info: CONSTANT: LPM_WIDTHU NUMERIC \

-- Retrieval info: CONSTANT: OVERFLOW_CHECKING STRING \-- Retrieval info: CONSTANT: UNDERFLOW_CHECKING STRING \-- Retrieval info: CONSTANT: USE_EAB STRING \

-- Retrieval info: USED_PORT: clock 0 0 0 0 INPUT NODEFVAL clock -- Retrieval info: USED_PORT: data 0 0 8 0 INPUT NODEFVAL data[7..0] -- Retrieval info: USED_PORT: empty 0 0 0 0 OUTPUT NODEFVAL empty -- Retrieval info: USED_PORT: full 0 0 0 0 OUTPUT NODEFVAL full -- Retrieval info: USED_PORT: q 0 0 8 0 OUTPUT NODEFVAL q[7..0] -- Retrieval info: USED_PORT: rdreq 0 0 0 0 INPUT NODEFVAL rdreq -- Retrieval info: USED_PORT: wrreq 0 0 0 0 INPUT NODEFVAL wrreq -- Retrieval info: CONNECT: @data 0 0 8 0 data 0 0 8 0 -- Retrieval info: CONNECT: q 0 0 8 0 @q 0 0 8 0

-- Retrieval info: CONNECT: @wrreq 0 0 0 0 wrreq 0 0 0 0 -- Retrieval info: CONNECT: @rdreq 0 0 0 0 rdreq 0 0 0 0 -- Retrieval info: CONNECT: @clock 0 0 0 0 clock 0 0 0 0 -- Retrieval info: CONNECT: full 0 0 0 0 @full 0 0 0 0

-- Retrieval info: CONNECT: empty 0 0 0 0 @empty 0 0 0 0

-- Retrieval info: LIBRARY: altera_mfaltera_mf.altera_mf_components.all -- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo.vhd TRUE -- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo.inc FALSE -- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo.cmp TRUE -- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo.bsf FALSE

-- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo_inst.vhd FALSE

-- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo_waveforms.html TRUE -- Retrieval info: GEN_FILE: TYPE_NORMAL Fifo_wave*.jpg FALSE -- Retrieval info: LIB_FILE: altera_mf

FIFO的编译结果

FIFO的功能仿真结果

FIFO的时序仿真结果

uart发射器

LIBRARY ieee;

USE ieee.std_logic_1164.all; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY transmit IS PORT( clkt : IN STD_LOGIC; 时钟输入 reset : IN STD_LOGIC; 复位 lock : IN STD_LOGIC; 锁存 din : IN STD_LOGIC_VECTOR(7 downto 0); 并行输入 trans : OUT STD_LOGIC; 串行输出 trans_end : OUT STD_LOGIC ); 输出状态 END transmit;

ARCHITECTURE behavioral OF transmit IS BEGIN

pro:process(clkt,reset,lock)

variable number:STD_LOGIC_VECTOR(3 downto 0); variable count:STD_LOGIC_VECTOR(3 downto 0); variable buf:STD_LOGIC_VECTOR(7 downto 0); begin

if reset='1' then 复位操作 number:=\

trans_end<='1';

trans<='1';

count:=\ elsifrising_edge(clkt)then

if (lock='1') and (number<\

if number=\ then 接受并行数据并锁存 if count<\

count:=count+1; else

count:=\ trans_end<='0';

trans<='1';

number:=number+1; buf:=din;

end if;

elsif number = \ 输出起始位 if count<\ count:=count+1; else

count:=\ trans_end<='0';

trans<='0';

number:=number+1; end if;

elsif number>=\ if count<\ count:=count+1; else

count:=\

number:=number+1; trans_end<='0';

trans <= buf(7) ;

buf := buf(6 downto 0)&'0';

end if;

elsif number = \ 输出结束位

if count<\

count:=count+1; else

count:=\trans_end<='0';

trans<= '1' ;

number:=number+1;

输出数据位 end if;

elsif number = \ then if count<\ count:=count+1; else

count:=\trans_end<='1';

trans<= '1' ; number:=number+1; end if; end if;

elsif lock='0' then count:=\ trans_end<='1';

trans<='1';

number:=\ end if; end if;

end process; end behavioral;

uart发射器编译结果


基于VHDL的uart设计(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生创新训练计划每月小结01

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: