<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AMD81192的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AMD81192</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AMD81192]]></copyright><item><title><![CDATA[Verilog之跨时钟域设计-FIFO]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124252092</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124252092</guid><author>AMD81192</author><pubDate>Wed, 27 Apr 2022 23:03:15 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[FPGA设计之latch出现]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124239398</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124239398</guid><author>AMD81192</author><pubDate>Sun, 17 Apr 2022 23:55:47 +0800</pubDate><description><![CDATA[背景
  在数字电路中我们学习过触发器和锁存器，但是在写Verilog的时候很少使用latch(锁存器)，这是为什么呢。
触发器(FF)与锁存器(latch)对比
基本定义
  锁存器，是一种对脉冲电平敏感的存储单元电路。锁存器和寄存器都是基本存储单元，锁存器是电平触发的存储器，寄存器是边沿触发的存储器。两者的基本功能是一样的，都可以存储数据。
产生场景
  锁存器是组合逻辑产生的，而寄存器是在时序电路中使用，由时钟触发产生的。
latch危害
  latch 的主要危害是会产生毛刺（glitch），这种毛]]></description><category></category></item><item><title><![CDATA[ESP32C3串口通信]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124108964</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124108964</guid><author>AMD81192</author><pubDate>Sun, 17 Apr 2022 22:16:27 +0800</pubDate><description><![CDATA[背景
  最近在淘宝发现了合宙通信推出的ESP32C3开发板，价格相对便宜(9.9包邮)，官方主要提倡使用luat快速开发，笔者习惯用C/C++开发，邃本文中笔者使用ESP-IDF进行开发。

API函数库及思路
代码

...]]></description><category></category></item><item><title><![CDATA[FPGA之RAM Control]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124227302</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124227302</guid><author>AMD81192</author><pubDate>Sun, 17 Apr 2022 13:56:55 +0800</pubDate><description><![CDATA[RAM简介：
  RAM 的英文全称是 Random Access Memory，即随机存取存储器， 它可以随时把数据写入任一指定地址的存储单元，也可以随时从任一指定地址中读出数据， 其读写速度是由时钟频率决定的。 RAM 主要用来存放程序及程序执行过程中产生的中间数据、 运算结果等。
RAM分类：

RAM分类
  这里我们使用最简单的单端口RAM：


DINA：RAM 端口 A 写数据信号。
ADDRA：RAM 端口 A 读写地址信号，对于单端口 RAM 来说，读地址和写地址共用同该地址线。
WEA：]]></description><category></category></item><item><title><![CDATA[SystemVerilogHDL简易频率计设计]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124082787</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124082787</guid><author>AMD81192</author><pubDate>Sun, 10 Apr 2022 23:35:49 +0800</pubDate><description><![CDATA[背景
最近写一个多路信号发生器的时候，发现用肉眼观察波形信号很麻烦，想着用SV写一个自动检测频率的设计让其自动输出。
设计思路
捕捉连续的两个下降沿，然后根据cnt计数值计算频率，误差范围测量Mhz以内的方波时较小。
因为设计思路较为简单，笔者在这就不放出状态机的FSM了
代码

...]]></description><category></category></item><item><title><![CDATA[Ubuntu开发嵌入式串口权限问题]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124061396</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124061396</guid><author>AMD81192</author><pubDate>Sat, 09 Apr 2022 15:41:28 +0800</pubDate><description><![CDATA[背景：
  串口：不管是做单片机，Linux,还是FPGA开发，都是重要的下载和debug设备。
  最近笔者将大部分平台从Windows切换成Ubuntu，使用makefile和cmake开发，效率较高。但是在下载和使用串口调试助手过程中发现都要root运行，这样很不方便
现象：
  其实实际操作并不难，只需很简单的操作即可实现非root权限访问//dev/tty***等设备了
我们首先来看一下为什么普通用户没有权限了：
$ ls -l /dev/ttyUSB0
crw-rw---- 1 root dia]]></description><category></category></item><item><title><![CDATA[ESP32报错]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/124052929</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/124052929</guid><author>AMD81192</author><pubDate>Fri, 08 Apr 2022 22:57:37 +0800</pubDate><description><![CDATA[ESP32系列下载的时候报错：
CMake Error at run_serial_tool.cmake:56 (message):
/XXXXXX/.espressif/python_env/idf4.4_py3.8_env/bin/python
/XXXXXX/esp-idf/components/esptool_py/esptool/esptool.py --chip
esp32c3 failed
或FAILED: CMakeFiles/flash
ninja: build stopped: subc]]></description><category></category></item><item><title><![CDATA[Ubuntu下树莓派rp2040开发环境搭建]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/123669211</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/123669211</guid><author>AMD81192</author><pubDate>Tue, 22 Mar 2022 19:47:44 +0800</pubDate><description><![CDATA[&nbsp; &nbsp; 最近在折腾树莓派的MCU rp2040，在论坛上查询了很多资料，各路开发环境都有，主流的还是官方主推的MicroPython和C/C++，身为做嵌入式的，还是更习惯于用C开发。
&nbsp; &nbsp; 查看了官方环境搭建手册，官方还是以开发Linux那一套来开发MCU，具体操作如下：
去Github树莓派仓库下载一键安装脚本，给个传送门一键安装脚本，直接git clone下来之后，将文件夹sudo chmod 777更改成普通用户权限，然后执行。
&nbsp; &nbsp;.]]></description><category></category></item><item><title><![CDATA[ESP32下载出错]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/123648479</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/123648479</guid><author>AMD81192</author><pubDate>Mon, 21 Mar 2022 22:59:26 +0800</pubDate><description><![CDATA[最近做个小玩具，采用市面上最通用的ESP32最小系统板
结果发现在有两个三极管当作自动下载电路的情况下依然不能进入自动下载模式

现象
报错：A fatal error occurred: Failed to connect to ESP32: Wrong boot mode detected (0x13)! The chip needs to be in download mode.
For troubleshooting steps visit: https://github.com/espressif]]></description><category></category></item><item><title><![CDATA[时钟分频引发的思考]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/123285476</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/123285476</guid><author>AMD81192</author><pubDate>Fri, 04 Mar 2022 21:21:31 +0800</pubDate><description><![CDATA[&nbsp; &nbsp; 最近写一个多路PWM驱动LED的驱动器，本以为会非常简单的，但是当设计到计数分频的时，才注意到一个平时没注意到的点。
&nbsp; &nbsp; 当always@(posedge clk_50m or negedge rst)，由于clk_50m是系统时钟，不建议将50m分出来所得到的时钟在用于其他always模块里面，这样会造成在约束阶段，对时钟的约束增加很多，如何STA和后端处理时造成很多不必要的困难，所以不管是在FPGA还是ASIC设计中，都不建议使用分出的时钟做D触发器的]]></description><category></category></item><item><title><![CDATA[AISC/FPGA设计中 硬件UART波特率误差计算]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/122482039</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/122482039</guid><author>AMD81192</author><pubDate>Thu, 13 Jan 2022 23:02:23 +0800</pubDate><description><![CDATA[ASIC设计中UART波特率误差计算背景误差来源计算最大误差允许值-简洁版计算最大误差允许值-完整版背景误差来源计算最大误差允许值-简洁版计算最大误差允许值-完整版总结与疑惑
背景
误差来源
计算最大误差允许值-简洁版
计算最大误差允许值-完整版
背景
  本篇文章不涉及任何Verilog代码，仅仅只是对UART通信过程中产生的误差进行分析
  最近在写UART的Verilog的时候，因为没涉及同步通信和兼容各种其他协议所以很快就写完了。但是在做验证的时候遇到疑惑了，记录一些碰到的疑惑与大家分享。
误差来源]]></description><category></category></item><item><title><![CDATA[Ubuntu下ASIC/FPGA环境搭建]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/121893817</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/121893817</guid><author>AMD81192</author><pubDate>Sun, 12 Dec 2021 22:07:43 +0800</pubDate><description><![CDATA[Ubuntu下ASIC/FPGA环境搭建
ASIC and FPGAUbuntu下ASIC/FPGA环境搭建前言准备Ubuntu环境安装制作启动盘安装UbuntuVivado软件安装Synopsys相关软件安装安装IC软件license生成、环境以及激活启动scl_keygen生成器环境设置激活结束语参考文献
前言
  最近收拾柜子，找到了上学期间使用联想R720, I5-7300HQ, 16G 2666,配置不算太差，打算用来安装一些IDE和EDA 用作外出闲暇时办公，由于有时需要做一些ARM核的交叉编译]]></description><category></category></item><item><title><![CDATA[JlinkV10被Ban，恢复教程]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/121885957</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/121885957</guid><author>AMD81192</author><pubDate>Sun, 12 Dec 2021 13:26:20 +0800</pubDate><description><![CDATA[最近Segger推出了新版本的Jlink 7.58版本驱动，但未告知淘宝特别版的Jlink会被禁止。
很不幸笔者的JlinkV10也中招了，如果你手上的JlinkV10还未在电脑上安装7.58版本及之后的驱动，请一定不要安装
安装现象
如果读者误安装，就会插上Jlink之后，驱动提醒您更新最新的V11版本固件，然后点了更新，更新结束之后/重新上电之后，Jlink的灯会变成红色闪烁5次然后变绿色，然后打开Jlink_Commander，就会出现如图一样的结果
这是因为Segger在7.58版本里面对V10进行]]></description><category></category></item><item><title><![CDATA[MDK Pack安装包下载算法BUG]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/121885496</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/121885496</guid><author>AMD81192</author><pubDate>Sun, 12 Dec 2021 13:00:51 +0800</pubDate><description><![CDATA[MDK安装Pack包之后无法选择Pack里面对应的下载算法
背景
最近笔者准备DIY一些MCU小玩具，给电脑装上MDK5.36的最新版，和谐，安装上对应芯片的Pack包，开发完之后发现Download无法选择对应型号的下载算法。
现象



解决思路
一开始笔者以为是MDK版本的问题，遂更换版本，结果更换多个版本的MKD和Pack，现象均与上图一样，可能是笔者电脑问题，笔者最后把文件夹，注册表删除均无果。希望有MDK大神看一下这到底是什么原因。
解决办法

找到我们Pack安装路径，大部分使用者会装在MDK]]></description><category></category></item><item><title><![CDATA[Ubuntu 20.04下安装微信]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/121832378</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/121832378</guid><author>AMD81192</author><pubDate>Thu, 09 Dec 2021 17:10:28 +0800</pubDate><description><![CDATA[安装必要的工具及deepin-wine依赖
sudo apt install wget g++ git
安装deepin-wine
git clone “https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu.git”
cd deepin-wine-for-ubuntu                    #切换到下载目录
sudo ./install.sh                                     #执行安装
安装包链接
http]]></description><category></category></item><item><title><![CDATA[Ubuntu下安装Vivado2020.2进度到最后1/3卡住不动]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/118404542</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/118404542</guid><author>AMD81192</author><pubDate>Fri, 02 Jul 2021 08:55:18 +0800</pubDate><description><![CDATA[Ubuntu下安装Vivado2020.2进度到最后1/3卡住不动
今天在Ubuntu下安装Vivado时候，一切顺利，但是直到安装到最后1/3时死活卡住不动，等了一个小时无果。查资料
此处是缺一个libncurses5库，解决方法如下：

sudo su，然后输入密码 进入管理员身份
sudo apt install libncurses5即可解决


...]]></description><category></category></item><item><title><![CDATA[Vivado2020.2与Modelsim2020.4联合仿真]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/118231703</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/118231703</guid><author>AMD81192</author><pubDate>Sat, 26 Jun 2021 01:18:16 +0800</pubDate><description><![CDATA[Vivado2020.2与Modelsim2020.4联合仿真
此链接为我自制知乎投稿，引用到优快云是为了帮助更多有需要的朋友。
不是单纯的复制粘贴。写文章不易，欢迎大家在知乎和优快云给我点赞。
Vivado2020.2和Modulsim2020.联合仿真 - Hack的文章 - 知乎
https://zhuanlan.zhihu.com/p/384075655

...]]></description><category></category></item><item><title><![CDATA[ESP8266 WIFI kill 2021版教程(小白0基础)]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/113777685</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/113777685</guid><author>AMD81192</author><pubDate>Wed, 10 Feb 2021 10:16:08 +0800</pubDate><description><![CDATA[ESP8266 WIFI kill 2021版教程(小白0基础)
最近收拾箱子，收拾出几个ESP8266模块，遂做几个WiFi kill
本教程仅供技术交流使用，造成任何损失概不负责
用CP2102作为串口下载的8266WIFI模块
制作准备原材料
硬件：

ESP8266模块 CH340或者CP2102作为串口
microUSB数据线一条

软件：
添加链接描述
1：串口驱动CH340/CP2102
2：信可安官方Flash下载工具

3：串口调试助手

4：KILL固件
你好！ 这是你第一次使用 Mar]]></description><category></category></item><item><title><![CDATA[VS2019无法下载安装文件，安装失败]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/113060631</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/113060631</guid><author>AMD81192</author><pubDate>Sat, 23 Jan 2021 19:26:27 +0800</pubDate><description><![CDATA[VS2019安装报错 无法下载安装文件。请检查Internet设置

1：检查上个版本卸载干净没，没卸载干净就卸载干净
2：检查DNS设置，建议改成8.8.8.8不要自动获取，报这种错误很可能是本地的DNS服务器不行

...]]></description><category></category></item><item><title><![CDATA[使用STM32CuBeMX生成代码失败]]></title><link>https://blog.youkuaiyun.com/AMD81192/article/details/105507500</link><guid>https://blog.youkuaiyun.com/AMD81192/article/details/105507500</guid><author>AMD81192</author><pubDate>Tue, 14 Apr 2020 18:19:59 +0800</pubDate><description><![CDATA[解决：STM32CubeMX生成MDK代码提示项目有问题（The Code is successfully generate under…have a problem）
最近在用STM32CuBeMX生成代码的过程中
新的改变
我们对Markdown编辑器进行了一些功能拓展与语法支持，除了标准的Markdown编辑器功能，我们增加了如下几点新功能，帮助你用它写博客：

全新的界面设计 ，将会带来全...]]></description><category></category></item></channel></rss>