SciTech-EECS-EDA-Altium Designer-FTDI FT232- Xilinx JTAG Programmer + Debugger
Origin:
https://matthewtran.dev/2021/08/ftdi-xilinx-jtag-programmer/
Matthew Tran
Article
Literally the day before starting my summer internship, I decided to teach myself how to use Altium Designer. I decided to try something relatively simple and use up the FT232H chips that I bought almost a year ago. The FT232H, FT2232H, and FT4232H make up an interesting family of chips that appears to have a partial monopoly in the FPGA dev board world due to their MPSSE which can emulate a variety of interfaces. For my first board designed with a mouse in the past 3 years, the board came out pretty good.
Schematic
The schematic is pretty simple, with the FT232H not requiring too many external components and the datasheet even providing example circuits. As is the theme with most of the boards I design at home, I ignored standard things like ferrite beads, TVS, and fuses due to board size and not having parts. In addition to standard decoupling, the FT232H needs a “precision” 12K resistor (I just put a 10K and 1Ks in series), a 12MHz crystal, and EEPROM.



Layout
Altium’s layout software is pretty awesome. I really like the quick switching between 3D views which makes it really easy to find and correct things like silkscreen overlap. The live DRC pointing out part collisions is also nice. It can be a bit annoying to set up design rules and having to press two keys for everything instead of one for KiCad but overall, I like it. It didn’t take long before I had a completed layout.

Flashing EEPROMs
The secret sauce that turns an FTDI chip into a Xilinx programmer is just special values stored in its EEPROM which alerts Xilinx/Digilent drivers to configure it as such. While I would certainly recommend against recreating my project in a commercial capacity without legal agreements with Xilinx or Digilent, for the struggling college student or someone who opposes the partial monopoly on a moral basis, it just might be worth it.
I have to give credit to this gist which was the only reason this project was possible (especially since I didn’t own any official programmers myself). I’ve compiled all of the EEPROM dumps along with some of my own in a central repo just in case the original gist disappears.
https://github.com/dragonlock2/ftdi_dumps
SciTech-EECS-EDA-Altium Designer-FTDI FT232- Xilinx JTAG Programmer + Debugger的更多相关文章
- Altium Designer规划电路板
所谓规划电路板就是根据电路的规模以及用户的需求,确定所要制作电路板的物理外形尺寸和电气边界.电路板规划的原则是在满足用户要求的前提下,使板面美观而且利于后面的布线工作. 1. 定义板的外 ...
- Altium Designer 的entry sheet ,offsheet和port作用(转载)
1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关系是横向的,任何两张图纸之间都可以建立信号连 ...
- 【PCB】【AD使用】Altium Designer 的entry sheet ,offsheet和port作用
Altium Designer之多图纸设计 1.图纸结构 图纸包括两种结构关系: 一种是层次式图纸,该连接关系是纵向的,也就是某一层次的图纸只能和相邻的上级或下级有关系: 另一种是扁平式图纸,该连接关 ...
- Altium Designer PCB双面板制作打印操作步骤
Altium Designer PCB双面板制作打印操作步骤百度知道:http://jingyan.baidu.com/article/335530da83441c19cb41c3db.html?st ...
- Altium Designer XX 重新定义板框形状和大小的方法
Altium Designer15 重新定义板框形状和大小的方法:重新定义板框形状和大小的方法.很简单,点击数字键"1",就会看到板框界面变绿了这时候你在去点击菜单栏里的Desig ...
- Altium Designer 15 --- Make 3D PCB Library with Rhinoceros
in the mode of "渲染模式" in the mode of "着色模式" Principle 1 : In the mode of "着 ...
- Altium Designer 15 --- Design PCB Frame by Rhinoceros
step 1: Draw a PCB shape and the main component placed in the PCB. The drawing sheet should be in th ...
- Altium Designer 多个输出相连等问题报错解决方法
问题: Altium Designer软件中,项目编译时,Message面板出现,如下错误: Net NetR121_1 contains multiple Output Pins; PC10 con ...
- Altium Designer的PCB定位槽制作
Altium Designer的PCB定位槽制作 1.使用焊盘代替. 操作很简单,但孔壁有镀铜. 2.定位孔制作. 先在Keep-Out layer放置一个需要大小的圆, 然后按快捷键T-V-T,这时 ...
- 关于如何使用Altium Designer 10以上版本官方库
开卷有益:如果本帖不适合在此板块,请斑竹自行删除,发帖的目的纯属报答各位Amofans. Altium公司的Altium Designer 09版本及以下还能到Altium官网下载第三方Labr ...
随机推荐
- 用DevEco Studio增量补丁修复功能,让鸿蒙应用的调试效率大增
在鸿蒙应用开发的快节奏赛道上,每一秒的开发效率提升都至关重要.如何更快地看到代码更改后的效果?如何尽可能缩短开发.调试和验证的周期?如何做到在某大厂180万行+项目中将代码修改即时生效?这些问题在De ...
- Servlet创建的三种方式
目录 1 实现Servlet接口 2 继承GenericServlet 3 继承HttpServlet 4 web.xml配置 关于servlet的创建,我们有三种方式. 实现Servlet接口 继承 ...
- 【记录】Python3|Python出现循环引用模块怎么办?(又称循环依赖)
前言 在Python开发过程中,尤其是在大型项目中,我们经常会遇到模块间相互依赖的情况.这种相互依赖,即所谓的"循环引用",往往会导致代码难以维护,并可能引发各种运行时问题.在这篇 ...
- MySQL数据库之“字符串截取”:substring_index()用法
1.substring_index函数的语法及其用法 (1)语法:substring_index(string,sep,num) 即substring_index(字符串,分隔符,序号) 参数说明 s ...
- Vue 3中的ref和template refs详解(含Vue2迁移到Vue3方法)
Vue 3中的ref和template refs详解 在Vue 3中,ref和模板引用(template refs)是两个相关但不同的概念,它们在组合式API(Composition API)中扮演着 ...
- Alexander ——2024年报
Alexander --2024年报 小总结 知己知彼,百战不殆.2024下半年找到了自己学习的方向,也认识很多的师傅,深入领域学习,无时不刻不在CTF的路上,逐渐建立一个完整的知识库体系. 今年的成 ...
- K8s新手系列之DaemonSet资源
概述 官网文档:https://kubernetes.io/zh-cn/docs/concepts/workloads/controllers/daemonset/ DaemonSet简称ds Dae ...
- 通过JS模板引擎实现动态模块组件(Vite+JS+Handlebars)
1. 引言 在上一篇文章<实现一个前端动态模块组件(Vite+原生JS)>中,笔者通过原生的JavaScript实现了一个动态的模块组件.但是这个实现并不完善,最大的问题就是功能逻辑并没有 ...
- jdk exe安装包如何自制zip解压版
前言 jdk8 oracle官方下载页面 https://www.oracle.com/java/technologies/downloads/#java8-windows 可以看到,只有exe安装包 ...
- jupyter的使用 -- 快捷键
jupyter的使用 1.快捷键的使用 插入cell:a,b 删除cell:x 执行cell:shift+enter 切换cell的模式:m,y cell执行后,在cell的左侧双击就可以回到cell ...