vivado HDL编码技术

HDL编码技术

介绍

硬件描述语言(HDL)编码技术使您能够:

•描述数字逻辑电路中最常见的功能。

•充分利用AMD设备的体系结构功能。

•模板可从AMD Vivado™设计套件集成设计环境中获得(侧面)。要访问模板,请在"窗口"菜单中,选择"语言模板"。本章包括编码示例。从"coding"下载编码示例文件示例。

VHDL的优点

•实施更严格的规则,特别是强类型、不太宽容和容易出错的规则

•HDL源代码中RAM组件的初始化更容易(Verilog初始块不太方便)

•一揽子支持

•自定义类型

•列举的类型

•无reg与wire混淆

Verilog的优势

•类似C的语法

•更紧凑的代码

•阻止评论

•没有VHDL中的重型组件实例化SystemVerilog的优势

•与Verilog相比,代码更加紧凑

•结构和枚举类型可实现更好的可扩展性

•用于更高抽象级别的接口

•支持Vivado合成

触发器、寄存器和锁存器

Vivado合成识别触发器,寄存器具有以下控制信号:

•上升沿或下降沿时钟

•异步设置/重置

•同步设置/重置

•时钟启用

触发器、寄存器和锁存器描述如下:

•顺序过程(VHDL)

•始终阻止(Verilog)

•触发器的always_ff,锁存器的always_lock(SystemVerilog)

进程或总是阻止敏感度列表应列出:

•时钟信号

•所有异步控制信号

触发器和寄存器控制信号

触发器和寄存器控制信号包括:

•时钟

•异步和同步设置和重置信号

•时钟启用

编码指南

•不要异步设置或重置寄存器。

○ 控制集重新映射变得不可能。

○ 设备资源中的顺序功能,如块RAM组件和DSP块,只能同步设置或重置。

○ 如果使用异步设置或重置寄存器,则无法利用设备资源或被配置为次优。

•不要描述同时具有设置和重置功能的触发器。

○ 没有触发器基元同时具有设置和重置功能,无论是同步的还是异步。

○ 同时具有设置和重置功能的触发器基元可能会对区域和表演

•尽可能避免操作设置/重置逻辑。还有其他更便宜的方法以实现所需的效果,例如通过定义来利用电路全局重置初始内容。

•始终将触发器基元的时钟启用、设置和重置控制输入描述为活动高电平。

如果它们被描述为有效低,则产生的反相器逻辑惩罚电路表演

触发器和寄存器推理

Vivado综合根据HDL代码的方式推断出四种类型的寄存器基元书面的

•FDCE:D触发器,带时钟启用和异步清除

•FDPE:D触发器,带时钟启用和异步预设

•FDSE:D触发器,带时钟启用和同步设置

•FDRE:D触发器,带时钟启用和同步复位

触发器和寄存器初始化

要在电路通电时初始化寄存器的内容,请指定信号的默认值在申报期间。

触发器和寄存器报告

•在HDL合成过程中推断并报告寄存器。

•HDL合成过程中推断出的寄存器数量可能不完全等于该数量

"设计摘要"部分中的触发器基元的。

•"触发器"基元的数量取决于以下过程:

○ 将寄存器吸收到DSP块或块RAM组件中

○ 寄存器重复

○ 移除常量或等效触发器

触发器和寄存器报告示例


RTL Component Statistics


Detailed RTL Component Info :
+---Registers :
8 Bit Registers := 1
Report Cell Usage:
-----+----+-----
|Cell|Count
-----+----+-----
3 |FDCE| 8
-----+----+-----
触发器和寄存器编码示例

以下小节提供了触发器和寄存器。从编码示例下载编码示例文件。

使用Rising Edge编码注册Verilog示例

文件名:registers_1.v
// 8-bit Register with
// Rising-edge Clock
// Active-high Synchronous Clear
// Active-high Clock Enable
// File: registers_1.v
module registers_1(d_in,ce,clk,clr,dout);
input 7:0 d_in;
input ce;
input clk;
input clr;
output 7:0 dout;
reg 7:0 d_reg;
always @ (posedge clk)
begin
if(clr)
d_reg <= 8'b0;
else if(ce)
d_reg <= d_in;
end
assign dout = d_reg;
endmodule
具有上升沿时钟编码的触发器寄存器VHDL示例

文件名:registers_1.vhd
-- Flip-Flop with
-- Rising-edge Clock
-- Active-high Synchronous Clear
-- Active-high Clock Enable
-- File: registers_1.vhd
library IEEE;
use IEEE.std_logic_1164.all;
entity registers_1 is
port(
clr, ce, clk : in std_logic;
d_in : in std_logic_vector(7 downto 0);
dout : out std_logic_vector(7 downto 0)
);
end entity registers_1;
architecture rtl of registers_1 is
begin
process(clk) is
begin
if rising_edge(clk) then
if clr = '1' then
dout <= "00000000";
elsif ce = '1' then
dout <= d_in;
end if;
end if;
end process;
end architecture rtl;

相关推荐
LCMICRO-1331084774619 小时前
国产长芯微LPS7118完全pin-pin替代ADP7118,是一款采用 CMOS 技术设计的低噪声、高 PSRR、快速瞬态响应、低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·adp7118
LCMICRO-1331084774619 小时前
国产长芯微LM3042完全P2P替代LT3042,是一款高性能低压差线性稳压器
arm开发·单片机·嵌入式硬件·fpga开发·硬件工程·线性稳压器·lt3042
ARM|X86+FPGA工业主板厂家20 小时前
基于ARM+FPGA平台在精密测控领域的应用:ZYNQ高精度温振压多参融合采集系统
fpga开发
辰丁电子2 天前
PCB设计:EMMC设计规范
fpga开发·pcb设计·pcb工艺·layout·pcb layout
小蘇的FPGA3 天前
FPGA远程更新升级和测试(MultiBoot)
fpga开发
156082072193 天前
关于国微SQM7VX690T和复旦微JFM7VX690T调试
fpga开发
minglie14 天前
简易寄存器接口SMMR---正交编码器
fpga开发
神电测控4 天前
新品发布:32通道50MS/s同步并行14位采集模块PG-FMC9249(支持任意FPGA/ZYNQ,兼容LabVIEW FPGA软件开发)
fpga开发·labview·ni·神电测控·王电令·ad9249·32通道
Drgfd4 天前
半导体国产替代进入“深水区”:决战设备、材料、IP三大高地
网络·fpga开发
国产HT1621B4 天前
YL1650 LED驱动芯片详解:从原理到实战应用(附51单片机驱动代码)
stm32·单片机·嵌入式硬件·mcu·fpga开发·lcd驱动