vivado 怎么调用原语
时间: 2023-11-01 07:07:21 浏览: 487
在 Vivado 中,您可以通过以下步骤调用原语:
1. 打开 Vivado 工具,并创建一个新的项目。
2. 在项目导航器中,选择您要添加原语的设计文件。
3. 在设计文件中,右键单击空白处并选择 "Add Sources"。
4. 在 "Add Sources" 对话框中,选择 "Add or create design sources" 选项,并单击 "Next"。
5. 在 "Add or create design sources" 对话框中,选择 "Add Files" 选项,并单击 "Next"。
6. 在 "Add Files" 对话框中,浏览并选择包含原语代码的文件,并单击 "Finish"。
7. 在 Vivado 设计界面中,您应该能够看到添加的原语代码。
请注意,具体的调用原语的方法取决于您使用的原语和设计工具。因此,在调用原语之前,请确保您已经阅读了原语的文档和 Vivado 工具的相关文档。
相关问题
vivado调用pll原语
### 如何在 Vivado 中使用 PLL 原语进行设计
#### 创建和配置 PLL 实例
为了在 Vivado 中正确调用并使用 PLL 原语,通常会通过 IP Catalog 来集成 MMCM 或者 PLL 模块。然而,在某些情况下也可以直接实例化 PLL 并手动设置参数。
当需要直接操作 PLL 时,可以在 RTL 设计文件中声明 PLL 组件,并按照特定的方式对其进行端口映射。下面是一个简单的 VHDL 和 Verilog 示例来展示如何实现这一点:
#### 使用 PLL 原语的 VHDL 示例
```vhdl
library unisim;
use unisim.vcomponents.all;
entity pll_example is
port (
clk_in1 : in std_logic;
reset : in std_logic;
locked : out std_logic;
clk_out1: out std_logic
);
end entity;
architecture Behavioral of pll_example is
begin
pll_inst : PLLE2_ADV generic map(
BANDWIDTH => "OPTIMIZED",
CLKFBOUT_MULT => 5,
DIVCLK_DIVIDE => 1,
CLKOUT0_DIVIDE => 10,
CLKIN1_PERIOD => 3.33
)
port map (
RST => reset,
CLKFBDCM => '0',
CLKFBIN => open,
CLKINSEL => '1',
CLKIN1 => clk_in1,
CLKFBOUT => open,
CLKOUT0 => clk_out1,
LOCKED => locked
);
end architecture;
```
#### 使用 PLL 原语的 Verilog 示例
```verilog
`timescale 1ns / 1ps
module pll_example (
input wire clk_in1,
input wire reset,
output reg locked,
output wire clk_out1
);
// Instantiate the Xilinx PLL primitive
PLLE2_ADV #(
.BANDWIDTH ("OPTIMIZED"), // Jitter programming (default="OPTIMIZED")
.CLKFBOUT_MULT (5), // Multiply value for all CLKOUT (f_vco = f_clkin * CLKFBOUT_MULT)
.DIVCLK_DIVIDE (1), // Divide amount for all CLKOUTs (f_vco/f_allclkout = DIVCLK_DIVIDE)
.CLKOUT0_DIVIDE (10), // Divide amount for CLKOUT0 (f_clkout0 = f_vco/CLKOUT0_DIVIDE)
.CLKIN1_PERIOD (3.33) // Input clock period specified in nS.
) pll_inst (
.RST(reset),
.CLKFBDCM(1'b0),
.CLKFBIN(),
.CLKINSEL(1'b1),
.CLKIN1(clk_in1),
.CLKFBOUT(),
.CLKOUT0(clk_out1),
.LOCKED(locked)
);
endmodule
```
上述代码展示了如何利用 PLL 原语来进行基本的输入输出时钟配置[^1]。注意 `CLKIN1_PERIOD` 参数应根据实际使用的外部晶振频率调整,例如对于一个周期为 3.33 ns 的信号,则表示其工作于约 300 MHz 频率下。
此外,还需要确保所选器件支持指定版本的 PLL 构建模块以及相应的属性设定范围。更多细节可参阅官方文档获取最新指导信息。
vivado如何调用原语fifo
在 Vivado 中,您可以使用原语(primitive)来调用 FIFO(First-In-First-Out)功能。原语是一种基本的硬件单元,用于实现特定的功能。FIFO 原语用于实现先进先出的数据缓冲区。
以下是一些使用原语调用 FIFO 的步骤:
1. 打开 Vivado 工程,并确保已经创建了一个新的设计或打开了一个现有的设计。
2. 在设计视图中,选择要添加 FIFO 功能的模块。
3. 点击 "Add IP" 按钮,打开 IP 搜索界面。
4. 在搜索框中输入 "fifo" 并选择相应的 FIFO IP 核。
5. 点击 "Add selected" 将 FIFO IP 核添加到设计中。
6. 在设计视图中,您将看到添加的 FIFO IP 核。右键单击它并选择 "Customize IP" 以打开 FIFO IP 核的自定义界面。
7. 在自定义界面中,您可以设置 FIFO 的参数,例如深度、数据宽度、时钟频率等。根据您的需求进行相应的配置。
8. 完成配置后,点击 "OK" 以生成和添加 FIFO IP 核到设计中。
9. 连接 FIFO IP 核的输入和输出信号到其他模块中。
通过上述步骤,您可以在 Vivado 中调用并使用 FIFO 功能。请记住,在使用原语时,您需要确保正确地连接和配置原语的输入和输出信号,以满足您的设计需求。
阅读全文
相关推荐
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20241231044736.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)