当前位置: 首页 > news >正文

网站建设营销型号的区别平面设计报价明细表

网站建设营销型号的区别,平面设计报价明细表,二级网站有什么好处,网站推广渠道怎么做FIFO#xff08;First-In-First_Out#xff0c;先入先出#xff09;是一种的存储器类型#xff0c;在 FPGA 开发中通常用于数据缓存、位宽转换或者跨时钟域#xff08;多 bit 数据流#xff09;。在使用异步 FIFO 时#xff0c;应注意复位信号是否遵循相关要求和规范First-In-First_Out先入先出是一种的存储器类型在 FPGA 开发中通常用于数据缓存、位宽转换或者跨时钟域多 bit 数据流。在使用异步 FIFO 时应注意复位信号是否遵循相关要求和规范避免数据丢失或损坏。本文主要介绍 Xilinx FPGA 对异步 FIFO 复位的时序要求并参考 IP 核示例工程设计异步 FIFO 的复位逻辑。 目录 1 复位类型 2 异步 FIFO 的复位 1 复位类型 Xilinx FIFO Generator 提供了复位端口用于复位计数器与输出寄存器。有两种复位的类型同步复位Synchronous Reset和异步复位Asynchronous Reset。 对于同步复位方式由于复位信号已经是同步的因此无需设计额外的同步逻辑。 The asynchronous reset (rst) input asynchronously resets all counters, output registers, and memories when asserted. When reset is implemented, it is synchronized internally to the core with each respective clock domain for setting the internal logic of the FIFO to a known state. This synchronization logic allows for proper timing of the reset logic within the core to avoid glitches and metastable behavior. 对于异步复位方式复位信号会分别被同步到读/写时钟域同步逻辑确保 FIFO 正确复位避免“毛刺”或者亚稳态。 异步复位应遵循以下 2 个设计规则 1复位必须在所有时钟有效时进行否则 FIFO 的状态无法预测 2复位信号的脉宽至少为 3 个慢时钟周期。 在复位期间应避免对 fifo 进行读写操作以防止数据丢失或损坏。在复位完成后需要等待一段时间才能对 fifo 进行读写操作。 开启 Safety Circuit 的 FIFO复位释放之后需至少等待 60 个慢时钟周期。 未开启 Safety Circuit 的 FIFO复位释放之后需至少等待 30 个慢时钟周期。 2 异步 FIFO 的复位 打开 IP 核自带的 Example Design参考激励文件异步 FIFO 的复位逻辑。 在 reset 释放之后 50 个写周期释放 reset_ext 信号。reset 连接到 FIFO 的异步复位端口reset_ext 则用于读/写控制逻辑的复位。 在 Example Design 的顶层文件中将 reset_ext 信号分别同步到读/写时钟域。这里不知道是不是参考工程的错误rst_async_rd1 ~ rst_async_rd3 使用了同步复位异步释放的方式。 以下是根据参考工程自己设计的异步 FIFO 的复位控制逻辑。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all;entity eth_rx_adjust isport(-- System levelnRst : in std_logic;sysclk : in std_logic;-- GMII IN data port--gmii_rxd_rxctl : in std_logic_vector(9 downto 0);--gmii_rxc : in std_logic;eth_phy_rxd : in std_logic_vector(7 downto 0);eth_phy_rxdv : in std_logic;eth_phy_rxc : in std_logic;-- eth_rx dataeth_rxd_sys : out std_logic_vector(7 downto 0);eth_rxdv_sys : out std_logic); end entity; architecture behav of eth_rx_adjust is -- internal component and signal declarations component fifo_8bit_2048 isport(din : in std_logic_vector(7 downto 0);wr_en : in std_logic;wr_clk : in std_logic;full : out std_logic;dout : out std_logic_vector(7 downto 0);rd_en : in std_logic;rd_clk : in std_logic;empty : out std_logic;rst : in std_logic;wr_data_count : out std_logic_vector(10 downto 0);rd_data_count : out std_logic_vector(10 downto 0)); end component;signal reset : std_logic : 1; signal reset_cnt : std_logic_vector(5 downto 0) : (others 0); signal reset_ext_cnt : std_logic_vector(5 downto 0) : (others 0); signal RESET_EXT : std_logic : 1; signal rst_async_wr1 : std_logic : 1; signal rst_async_wr2 : std_logic : 1; signal rst_async_wr3 : std_logic : 1; signal rst_async_rd1 : std_logic : 1; signal rst_async_rd2 : std_logic : 1; signal rst_async_rd3 : std_logic : 1; signal rst_int_wr : std_logic : 1; signal rst_int_rd : std_logic : 1;signal eth_fifo_wdata : std_logic_vector(7 downto 0); signal eth_fifo_wrreq : std_logic; signal eth_fifo_empty : std_logic; signal eth_fifo_rcnt : std_logic_vector(10 downto 0); signal eth_fifo_rdreq : std_logic; signal eth_fifo_rdata : std_logic_vector(7 downto 0); signal eth_fifo_rdvld : std_logic;attribute ASYNC_REG: string; attribute ASYNC_REG of rst_async_wr1: signal is true; attribute ASYNC_REG of rst_async_wr2: signal is true; attribute ASYNC_REG of rst_async_wr3: signal is true;attribute ASYNC_REG of rst_async_rd1: signal is true; attribute ASYNC_REG of rst_async_rd2: signal is true; attribute ASYNC_REG of rst_async_rd3: signal is true;--------------------------------------------------------- begin ---------------------------------------------------------process(nRst,eth_phy_rxc) beginif nRst 0 thenreset_cnt 000000;elsif rising_edge(eth_phy_rxc) thenif reset_cnt 001000 thenreset_cnt reset_cnt 1;elsereset_cnt reset_cnt;end if;end if; end process;process(nRst,eth_phy_rxc) beginif nRst 0 thenreset 1;elsif rising_edge(eth_phy_rxc) thenif reset_cnt 001000 thenreset 1;elsereset 0;end if;end if; end process;process(reset,eth_phy_rxc) beginif reset 1 thenreset_ext_cnt 000000;elsif rising_edge(eth_phy_rxc) thenif reset_ext_cnt 110010 thenreset_ext_cnt reset_ext_cnt 1;elsereset_ext_cnt reset_ext_cnt;end if;end if; end process;process(reset,eth_phy_rxc) beginif reset 1 thenRESET_EXT 1;elsif rising_edge(eth_phy_rxc) thenif reset_ext_cnt 110010 thenRESET_EXT 1;elseRESET_EXT 0;end if;end if; end process;-- Asynchronous reset, synchronous release for rst_async_wr1, rst_async_wr2, rst_async_wr3 process(RESET_EXT,eth_phy_rxc) beginif RESET_EXT 1 thenrst_async_wr1 1;rst_async_wr2 1;rst_async_wr3 1;elsif rising_edge(eth_phy_rxc) thenrst_async_wr1 RESET_EXT;rst_async_wr2 rst_async_wr1;rst_async_wr3 rst_async_wr2;end if; end process;-- Asynchronous reset, synchronous release for rst_async_rd1, rst_async_rd2, rst_async_rd3 process(RESET_EXT,sysclk) beginif RESET_EXT 1 thenrst_async_rd1 1;rst_async_rd2 1;rst_async_rd3 1;elsif rising_edge(sysclk) thenrst_async_rd1 RESET_EXT;rst_async_rd2 rst_async_rd1;rst_async_rd3 rst_async_rd2;end if; end process;rst_int_wr rst_async_wr3; rst_int_rd rst_async_rd3;-- -- eth_fifo_inst eth_fifo_instx: component fifo_8bit_2048 port map(din eth_fifo_wdata , -- in std_logic_vector(7 downto 0)wr_en eth_fifo_wrreq , -- in std_logicwr_clk eth_phy_rxc , -- in std_logicfull open , -- out std_logicdout eth_fifo_rdata , -- out std_logic_vector(7 downto 0)rd_en eth_fifo_rdreq , -- in std_logicrd_clk sysclk , -- in std_logicempty eth_fifo_empty , -- out std_logicrst reset , -- in std_logicwr_data_count open , -- out std_logic_vector(10 downto 0)rd_data_count eth_fifo_rcnt -- out std_logic_vector(10 downto 0) );process(rst_int_wr,eth_phy_rxc) beginif rst_int_wr 1 theneth_fifo_wdata (others 0);eth_fifo_wrreq 0;elsif rising_edge(eth_phy_rxc) theneth_fifo_wdata eth_phy_rxd;eth_fifo_wrreq eth_phy_rxdv;end if; end process;process(rst_int_rd,sysclk) beginif rst_int_rd 1 theneth_fifo_rdreq 0;eth_fifo_rdvld 0;elsif rising_edge(sysclk) thenif eth_fifo_rcnt 6 theneth_fifo_rdreq 1;elsif eth_fifo_rcnt 1 theneth_fifo_rdreq 0;end if;eth_fifo_rdvld eth_fifo_rdreq;end if; end process;process(rst_int_rd,sysclk) beginif rst_int_rd 1 theneth_rxd_sys (others 0);eth_rxdv_sys 0;elsif rising_edge(sysclk) theneth_rxd_sys eth_fifo_rdata;eth_rxdv_sys eth_fifo_rdvld;end if; end process; end architecture;
http://www.zqtcl.cn/news/959327/

相关文章:

  • 企业做推广哪些网站比较好环球资源网官方网站
  • 没有网站如何做落地页城市门户网站建设
  • 网易梦幻西游手游官方网站下载制作网站谁家做的好
  • 北京网站制作外包如何在易语言上做网站
  • 中国的网站做欧美风广告设计是干什么的
  • 做酱菜网站做网站什么是解析什么是跳转
  • 西安企业网站备案一般得多少天网站建设公司2018
  • 网站建设安全方案许昌正规网站优化公司
  • 厦门 外贸网站一般什么企业需要建站
  • 代理注册公司需要什么条件网络推广优化服务
  • 做淘宝客网站需要备案吗物流企业
  • 珠海正规网站制作系统东莞建站多少钱
  • 做网站框架图哪个在线网站好用中铁三局招聘官网
  • wordpress百度站内搜索wordpress 修改用户名
  • 网络企业网站建设方案做网站大概需要多少费用
  • 网站301是什么意思自动友链网
  • 淘宝客怎么建设自己网站wordpress links插件
  • 深圳设计网站公司网站芜湖网站建设工作室
  • 礼品类网站建设策划方案郑州手机网站制作
  • 江桥做网站wordpress代码高亮插件
  • 合肥网站制作哪家好建设网站培训班
  • 优化站诊断山东大型网站建设
  • 网页设计与制作个人网站网络开发工程师
  • 沈阳网站关键词优化哪家好外贸营销网站制作公司
  • 连云港做网站的临沂网站建设有哪些
  • 做毕设的网站万wordpress图片怎么居中
  • 首页网站模板网站外链分析怎么做
  • so域名的网站有哪些结合公众号小店做网站
  • 阜宁专业做网站做信息网站能挣钱吗
  • wordpress 怎么手动更新宝安网站 建设seo信科