Verilog综合出来的图

Verilog写代码时需要清楚自己综合出来的是组合逻辑、锁存器还是寄存器。

甚至,有时写的代码有误,vivado不能识别出来,这时打开综合后的schematic简单查看一下是否综合出想要的结果。

比如:误将一个always模块重复一遍,vivado没有识别出来导致没有生成想要的状态机,打开综合后的schematic一看,被优化掉了。

一、部分Verilog语句综合出来的原理图

1.1 综合出组合逻辑

以下四种写法综合出来的schematic一样。

1.2 综合出锁存器-Latch

锁存器容易产生glitch(毛刺),少用。

1.3 综合出寄存器

二、对应的部分原语

IBUF/IBUFG

IBUF是引脚的输入缓冲器。

Vivado识别到输入引脚后会自动加上IBUFG模块(这里IBUFG与BUFG什么关系呢?)。

OBUF

OBUF是引脚的输出缓冲器。

LDCE-锁存器

LDCE:异步清零的latch。

LDPE:异步置位的latch。

CLR置低位,高有效。

GE使能G控制信号。

G为高,D输入赋值给Q,电平触发。

G为低,Q保持

FDSE

D Flip-Flop with Clock Enable and Synchronous Set 带时钟使能和同步置位的D触发器。

置位S为高电平时,一个时钟C的上升沿触发导致寄存器置位1;

置位S为低电平,时钟使能CE位为高电平时,一个时钟C的上升沿触发寄存器FDCE的输出端Q装载数据口的数据D 。

三、语法不报错,综合报错

3.1 wire型变量不能使用非阻塞赋值-vivado语法虽未报错,但不能综合

procedural assigment to a non-register c is not permitted

不允许对非寄存器c进行程序赋值

四、参考链接:

ug471_7Series_SelectIO

Xilinx 7系 FPGA片上资源之触发器 FDCE FDPE FDRE FDSE-CSDN博客

xilinx FPGA触发器和锁存器_fpga ldce-CSDN博客

相关推荐
JNX_SEMI5 小时前
Hi9101降压DC-DC转换器:100V耐压内置3A MOS,恒压恒流,外围简洁
单片机·嵌入式硬件·物联网·硬件工程
Zyed5 小时前
[STM32]Day10-Part1软件I2C读写MPU6050
stm32·嵌入式硬件·mongodb
西城微科方案开发5 小时前
华润微CS98P171国产8位通用MCU轻量化控制高性价比优选
单片机·嵌入式硬件
Szime5 小时前
ADI高速ADC国产替代:AD9253、AD9653、AD9694深智微科技选型思路
科技·单片机·嵌入式硬件
Zyed5 小时前
[STM32]Day9-Part2串口收发数据包
stm32·单片机·嵌入式硬件
Zyed5 小时前
[STM32]Day6-Part4编码器接口测速
stm32·单片机·嵌入式硬件
开发笔记-阿牛6 小时前
CK6159A 性能测评:多外设并发交互下的运行表现与方案参考
stm32·单片机·音频
XINVRY-FPGA6 小时前
XC7A100T-2CSG324I AMD Xilinx Artix-7 FPGA
arm开发·人工智能·嵌入式硬件·神经网络·fpga开发·硬件工程·fpga
Szime6 小时前
四通道高速ADC国产替代:14位500MSPS深智微科技选型参考
科技·单片机·嵌入式硬件·fpga开发
嵌入式小站6 小时前
STM32 可移植教程 01:VSCode 环境搭建 + 点亮 LED(实战篇)
vscode·stm32·嵌入式硬件