Altera Home Page
文档资料 许可
在线购买 下载

  主页   |   产品   |   支持   |   最终市场   |   技术中心   |   教育与活动   |   公司介绍   |   在线购买  
  mySupport   |   器件   |   软件   |   IP   |   设计范例   |   参考设计  

 产品
   Quartus II
      SOPC Builder
      MAX+PLUS II
      ModelSim-Altera
  
 资源中心
      简介
      安装&许可
      脚本
       电路板设计& I/O
      网表阅读器 & 综合
      编译增强特性
      优化
      功耗管理
   TimeQuest时序分析器
      标准时序分析器
      仿真 & 确认
      片内调试
      HardCopy设计
  
 软件资源
      操作系统支持
      驱动安装
  
 下载与许可
      下载
   许可
  
 Quartus II EDA 支持
      Quartus II 接口
   综合工具
          Design Compiler
          DC FPGA
          FPGA Compiler II
          LeonardoSpectrum
          Precision RTL Synthesis
          Synplify
   仿真工具
   验证工具
   时序分析工具
   再综合工具
   电路板级工具
  
 老版软件EDA支持
      供应商类
      工具类
      功能类
  

Example of Creating a Black Box for a Verilog HDL Custom Megafunction Variation with the FPGA Compiler II Software

To specify that the FPGA Compiler II software should treat the lvds_rx_wrapper.v file that you created in Example of Creating a Verilog HDL Custom Variation of the altlvds_rx Function as a black box, refer to the following code sample from the top-level design file. In this example, the top-level design file is top_level_lvds.v. To modify the source code for the top_level_lvds.v file to define the module name and port type and to specify that the module is a black box, you can use the lvds_rx_wrapper_bb.v empty module declaration and add it to the top_level_lvds.v top-level design file as shown in the following code sample:

// LVDS Top Level Function
module top_level_lvds ( receiver_in,
                  receiver_inclock,
                  receiver_deskew,
                  transmitter_out,
                  transmitter_outclock );
input  [1:0]    receiver_in;
input           receiver_inclock;
input           receiver_deskew;
output [1:0]    transmitter_out;
output          transmitter_outclock;
wire            rx_outclock;
wire   [7:0]    rx_out;

// rtl or glue logic
// instantiate the lvds receiver wrapper
lvds_rx_wrapper U0      (
                          .rx_deskew (receiver_deskew),
                          .rx_inclock (receiver_inclock),
                          .rx_in (receiver_in),
                          .rx_out (receiver_out),
                          .rx_outclock (receiver_outclock));
// instantiate the lvds transmitter wrapper
lvds_tx_wrapper U1 (
                          .tx_in (receiver_out),
                          .tx_inclock (receiver_outclock),
                          .tx_out (transmitter_out),
                          .tx_outclock (transmitter_outclock));
endmodule
// module declarations for the instantiated components
module lvds_rx_wrapper (
  rx_in,
  rx_inclock,
  rx_deskew,
  rx_outclock,
  rx_out);
  input   [1:0]  rx_in;
  input          rx_inclock;
  input          rx_deskew;
  output         rx_outclock;
  output  [7:0]  rx_out;
endmodule
module lvds_tx_wrapper (
  tx_in,
  tx_inclock,
  tx_out,
  tx_outclock);
  input   [1:0]   tx_in;
  input           tx_inclock;
  output  [1:0]   tx_out;
  output          tx_outclock;
endmodule

 

 

  请填写反馈意见
  注册索取最新邮件通知