文火冰糖的硅基工坊
行路当下,惜缘随缘;
仰望星空,梦在远方;
俯瞰天下,顺道而为;
点亮心灯,照亮周遭。
----贝尔实验室授予杰出技术专家DMTS终身荣誉
展开
-
[从零开始学习FPGA编程-58]:集成电路设计的运作模式(Fabless/Foundry/IDM模式)
之所以会产生这几个模式,是因为现代社会分工越来越细,品牌、知识产权、设计开发、制造、采购、物流、售后服务,各有各的专长,涉及到技术能力和社会资源配置,厂商唯有选择自己能做的、擅长的事来做。IC行业也一样,一方面IC设计的技术含量很高,需要有深厚的积累,另一方面IC生产制造设备的投资巨大,周期长,经营管理也要非常有经验。一般情况下,半导体、集成电路、芯片,这三个东东是大致可以划等号的,大致讲的其实是同一个事情,他们是从不同的角度,来描述同一个东西。侧重于材料,从材料角度来看芯片,原材料是半导体、晶体管,原创 2022-08-22 22:40:54 · 484 阅读 · 0 评论 -
[从零开始学习FPGA编程-56]:视野篇-常见概念:chip(芯片)、chipset(芯片组)、chiplet(芯粒)、die(裸片)的区别
举例来说,在一颗7nm工艺制程的芯片中,一些次要的模块可以用如22nm的较低的工艺制程做成Chiplet,再“拼装”至7nm芯片上,原理如同搭积木一样,这样可以减少对7nm工艺制程的依赖。对此,传统的解决方案是。实现特殊功能IP的“即插即用”,解决7nm、5nm及以下工艺中,性能与成本的平衡,并降低较大规模芯片的设计时间和风险。在这样的背景下,研究人员给出了新的思路,既然缺陷无法避免,那么就想办法将缺陷“击中”的裸芯控制在一个较低的比率上。,改善工艺,加强品控,但物理极限的天花板并不是巨量投资能够突破的。.原创 2022-08-20 11:12:07 · 2500 阅读 · 0 评论 -
[从零开始学习FPGA编程-57]:视野篇-异构系统、异构芯片、大小核、芯片互联网、UCIe标准
对此,传统的解决方案是继续加大投资,改善工艺,加强品控,但物理极限的天花板并不是巨量投资能够突破的。这就是一个异构系统。举例来说,在一颗7nm工艺制程的芯片中,一些次要的模块可以用如22nm的较低的工艺制程做成Chiplet,再“拼装”至7nm芯片上,原理如同搭积木一样,这样可以减少对7nm工艺制程的依赖。“大小核”CPU设计中,大部分型号将CPU高性能大核心的数量设定为了6个或者8个,这正符合当今主流大型游戏和应用的多核优化策略,既可以保证CPU的大核心性能得到充分利用,又不会给开发者增加额外的负担。..原创 2022-08-21 10:23:16 · 435 阅读 · 0 评论 -
[从零开始学习FPGA编程-55]:视野篇-芯片的制程
芯片的制程是芯片的制作工艺的一种度量方法。就是通常我们所说的CPU的“制作工艺”,是指在生产CPU过程中,集成电路的精细度,也就是说精度越高,生产工艺越先进。制程是指IC内电路与电路之间的距离。制程工艺的趋势是向密集度愈高的方向发展。密度愈高的IC电路设计,意味着在同样大小面积的IC中,可以拥有密度更高、功能更复杂的电路设计。...原创 2022-08-18 21:08:47 · 501 阅读 · 0 评论 -
[从零开始学习FPGA编程-54]:高阶篇 - 基于IP核的FPGA开发-PLL锁相环IP核的原理与配置(Altera)
现代数字电路少不了时钟,时钟是时序电路的心跳,没有时钟,时序电路就无法工作,但是不同功能的时序电路,其所需要的时钟频率是不同的,不太可能为所有不同的时序电路准备不同的物理晶振,这时候,就需要一种机制,能够为FPGA内部的硬件电路产生各种频率的时钟。有两种方式来产生所需要频率的时钟:(1)通过FPGA外部的、独立的PLL锁相环芯片生成所需要的时钟;(2)通过FPGA内部的PLL锁相环IP核生成FPGA内部逻辑所需要的时钟;本文介绍的是第二种方法,因为FPGA常见已经提供了标准的PLL锁相环IP核,当然,如果使原创 2022-07-26 19:59:53 · 71100 阅读 · 0 评论 -
[从零开始学习FPGA编程-53]:高阶篇 - 基于IP核的FPGA开发-PLL锁相环IP核的原理与配置(Xilinx)
现代数字电路少不了时钟,时钟是时序电路的心跳,没有时钟,时序电路就无法工作,但是不同功能的时序电路,其所需要的时钟频率是不同的,不太可能为所有不同的时序电路准备不同的物理晶振,这时候,就需要一种机制,能够为FPGA内部的硬件电路产生各种频率的时钟。有两种方式来产生所需要频率的时钟:(1)通过FPGA外部的、独立的PLL锁相环芯片生成所需要的时钟;(2)通过FPGA内部的PLL锁相环IP核生成FPGA内部逻辑所需要的时钟;本文介绍的是第二种方法,因为FPGA常见已经提供了标准的PLL锁相环IP核,当然,如果使原创 2022-07-17 15:59:50 · 70926 阅读 · 0 评论 -
[从零开始学习FPGA编程-52]:高阶篇 - 基于IP核的FPGA开发 - IP核使用的基本框架(以锁相环PLL为例)
目录前言:步骤1:IP核的导入 -- 不同的IP核,导入的方式基本相同步骤2:IP核的原理-- 不同的IP核原理不同步骤3:IP核的原理与配置(重点)-- 不同的IP核配置的内容不同步骤4:IP核的调用(实例化)-- 连接IP核的输入输出信号步骤5:IP核的仿真测试步骤6:IP核的硬件部署步骤7:IP核在目标板上的执行步骤8:IP核在目标板上的调试后记:本章以锁相环PLL IP核为例,介绍IP使用方法。导入.........原创 2022-06-30 00:18:15 · 707 阅读 · 0 评论 -
[从零开始学习FPGA编程-51]:高阶篇 - 基于IP核的FPGA开发- 什么是FPGA IP核(软核、固核、硬核)与学习方法
目录前言:第1章 IP是什么?1.1 什么是知识产权1.2 什么是芯片的IP核1.3 基于IP的FPGA开发第2章 IP核的分类与比较2.1 按照功能分2.2 按照层次分2.3 软核、固核、硬核的比较第3章 IP的自身的开发过程和应用3.1 IP开发过程3.2 IP的盈利模式3.3 IP核的开发难度3.4 我国芯片IC发展第4章 如何学习FPGA IP核4.1 Altera IP核4.2 Xilinx IP.....................原创 2022-06-29 20:45:21 · 71078 阅读 · 0 评论 -
[从零开始学习FPGA编程-50]:视野篇 - 芯片是如何被制造出来的?芯片制造的十三大步骤。
目录 前言:什么是芯片一颗芯片就是一个城市总体流程步骤1:炼丹(沙子 -> 硅锭)1.1 沙子 -> 二氧化硅(SiO2)1.2 硅熔炼:硅晶体 -》 硅锭步骤2:硅锭切割(硅锭 -> 硅片(Wafer))步骤3 晶圆打磨(硅片 -> 晶圆)步骤4:旋涂光刻胶(防腐蚀)步骤5:光刻/曝光(晶圆->IC图案)=== 最关键技术(光刻机)步骤6:溶解步骤7:蚀刻步骤8:离子注入8.1 光刻胶:8.2 离子注入(Ion Implantation):8.3 清除光刻胶:步骤9:电镀铜层(导线、布线)步骤10:晶圆测原创 2022-06-29 00:04:26 · 70798 阅读 · 0 评论 -
[从零开始学习FPGA编程-49]:视野篇 - 芯片是如何被设计出来的?
目录前言:什么是芯片一颗芯片就是一个城市总体流程第1章 芯片的结构1.1 芯片基本的“逻辑运算单元”1.2 芯片基本物理单元1.3 芯片的宏观立体结构1.4 芯片设计的主要任务第2章 芯片设计过程2.1 需求定义和功能描述2.2 功能实现2.3 功能验证2.4 逻辑综合2.5 物理实现2.6 晶圆制造2.7 封装测试最后的哲学思考:(1)每个芯片就是一座城市,一个逻辑功能的城市。(2)每个芯片就是一个世界,一个二进制的数字世界(3)在芯片之上的软件,可以再构建一个个虚拟的世界。(4)芯片连接其数字世界与物理原创 2022-06-28 21:24:05 · 70813 阅读 · 0 评论 -
[从零开始学习FPGA编程-48]:视野篇 - 智能传感器的发展与应用
目录前言:什么是传统的传感器?什么是智能传感器?什么是人工智能传感器:一、智能传感产业概述 1.1 传感器的发展阶段编辑1.2 传感器的五大技术要素1.3 传感器的技术特点1.4 传感器的技术发展路线 1.5 传感器的主要应用场景二、MEMS为机电系统2.1 什么是MEMS微机电系统2.2 智能传感器与普通传感器的对比2.3 MEMS行业市场规模编辑2.4 MEMS产品主要应用领域2.5 MEMS声学传感器编辑2.6 MEMS压力传感器编辑2.7 MEMS惯性传感器编辑2.8 MEMS行业发展趋势原创 2022-06-27 20:19:04 · 257 阅读 · 0 评论 -
[从零开始学习FPGA编程-47]:视野篇 - 第三代半导体技术现状与发展趋势
目录前言:一、第三代半导体概述1.1 定义与分类1.2 第三代半导体的特出特征1.3 选择第三代半导体的原因1.4 第三代半导体产业的特点1.5 第三代半导体产业发展的阶段 二、我国第三代半导体行业发展 2.1 主要应用领域 2.2 发展态势三、碳化硅材料以及器件 3.1 碳化硅材料和器件根据默认定律揭示的规律:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍,价格减半。“摩尔定律”对整个世界意义深远。 40多年中,半导体芯片的集成化趋势一如摩尔的预测,推动了整个信息技术产业的发展,进而给千原创 2022-06-27 09:21:22 · 70740 阅读 · 0 评论 -
[从零开始学习FPGA编程-46]:视野篇 - 集成电路的发展与技术进步
目录前言:一、集成电路的特点1.1 无处不在的集成电路1.2 集成电路芯片产业的商业模式1.3 集成电路芯片产业特点1.4 全球集成电路芯片转移路径 1.5 快速发展的集成电路 1.6 集成电路技术演进 1.7 摩尔定律 1.8 摩尔定律变缓 1.9 从系统封装向异质集成 二、大战略下的集成电路产业趋势 2.1 数字经济与芯片的联系 2.2 东数西算三、集成电路市场趋势 3.1 全球半导体市场发展集成电路,英文为Integrated Circuit,缩写为IC;顾名思义,就是把一定数量的常用电子元件,如电阻原创 2022-06-26 09:50:21 · 70669 阅读 · 0 评论 -
[从零开始学习FPGA编程-45]:视野篇 - 集成电路助力数字化时代高质量发展-2-市场预测
目录前言背景:什么是集成电路?什么是数字化时代?什么是数字经济?第3章 集成电路市场预测3.1 全球半导体市场发展概况3.2 我国集成电路市场的基本概况第4章 行业发展趋势展望 4.1 高速向高质量发展 4.2 双循环发展格局4.3 数字化4.4 新材料、新架构4.5 人才是关键4.6 自研芯片 4.7 开放与开源4.8 先进芯片封装集成电路(integrated circuit)是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半原创 2022-06-26 00:18:11 · 70612 阅读 · 0 评论 -
[从零开始学习FPGA编程-44]:视野篇 - 集成电路助力数字化时代高质量发展-1-集成电路芯片主要形态
目录前言背景:什么是集成电路什么是数字化时代 第1章 集成电路如何助力数字经济高速发展集成电路(integrated circuit)是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构;其中所有元件在结构上已组成一个整体,使电子元件向着微小型化、低功耗、智能化和高可靠性方面迈进了一大步。它在电路中用字母“IC”表示。集成电路发明者为杰克·基尔比(基于锗(Ge原创 2022-06-25 19:22:15 · 295 阅读 · 0 评论 -
[从零开始学习FPGA编程-43]:视野篇 - 后摩尔时代”芯片设计的技术演进-2-演进方向
目录 前言:第2章 EDA技术深度发展2.1 EDA在继承电路设计中的作用2.2 EDA的发展历程 2.3 EDA工作原理以及类型 第3章 新型互联3D IC 3.1 概述 3.2 解析 3.3 优势与挑战 3.4 3D IC生态系统 第4章 异质集成 4.1 基本概念 4.2 典型案例 第5章 AI赋能芯片设计第6章 后摩尔时代芯片设计的挑战 根据默认定律揭示的规律:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍,价格减半。“摩尔定律”对整个世界意义深远。 40多年中,半导体芯片的集成原创 2022-06-24 23:40:14 · 70744 阅读 · 0 评论 -
[从零开始学习FPGA编程-42]:视野篇 - 后摩尔时代”芯片设计的技术演进-1-现状
目录前言: 第1章 芯片设计概述1.1 芯片设计在半导体产业中的位置与作用1.2 芯片设计的四大环境1.3 芯片设计流程1.4 芯片设计驻留架构1.5 半导体市场发展情况1.6 后摩尔时代芯片设计面临的众多问题呢 根据默认定律揭示的规律:集成电路上可以容纳的晶体管数目在大约每经过18个月便会增加一倍,价格减半。“摩尔定律”对整个世界意义深远。 40多年中,半导体芯片的集成化趋势一如摩尔的预测,推动了整个信息技术产业的发展,进而给千家万户的生活带来变化。在回顾40多年来半导体芯片业的进展并展望其未来时,信息原创 2022-06-24 00:05:25 · 243 阅读 · 0 评论 -
[从零开始学习FPGA编程-41]:视野篇 - 摩尔时代与摩尔定律以及后摩尔时代的到来
目录第1章 摩尔定律第2章 摩尔定律的重要意义第3章 后摩尔时代第4章 超摩尔时代第5章 后摩尔时代:三代半导体的崛起第一代半导体:以锗(Ge)、硅(Si)为代表性材料。第二代半导体:以砷化镓(GaAs)、磷化铟(InP)为代表性材料。第三代半导体:以碳化硅(SiC)、氮化镓(GaN)为代表性材料。摩尔定律是英特尔创始人之一戈登·摩尔的经验之谈,其核心内容为:集成电路上可以容纳的晶体管数目在大约每经过18个......原创 2022-06-23 21:31:34 · 70772 阅读 · 0 评论 -
[从零开始学习FPGA编程-40]:进阶篇 - 设计-竞争与风险Risk或冒险
目录前言:第1章 什么是竞争与风险1.1 数字电路的竞争与分风险概述1.2 竞争与风险产生的原因1.3 竞争原因的进一步解读第2章 如何检测电路设计逻辑中是否有竞争?2.1 代数法2.2 卡诺图法第3章 如何消除电路存在的竞争?3.1 增加滤波电容,滤除窄脉冲3.2 修改逻辑,增加冗余项3.3 使用时钟同步电路,利用触发器进行打拍延迟(最常用的方法)3.4 采用格雷码计数器在前面的讨论中,都是基于理想情况下......原创 2022-06-22 22:09:51 · 70677 阅读 · 0 评论 -
[从零开始学习FPGA编程-39]:进阶篇 - 语法-硬件模块的单元测试:仿真激励、testbench
目录前言:第1章 硬件的单元测试1.1 什么是硬件的单元测试1.2 仿真既是单元测试也是集成测试第2章 testbench代码的测试框架2.1 verilog的module2.2 verilog测试代码与工作代码的关系2.2 testbench功能仿真提供的调试功能第3章 代码解读3.1 计数器的工作代码3.2 计数器的testbench代码第4章 testbench代码与工作代码的比较4.1 相同点4.2............原创 2022-06-22 00:19:25 · 399 阅读 · 0 评论 -
[从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务
目录前言:第1章 什么是函数Function1.1 什么是函数1.2 函数的特点1.3 函数的定义格式1.4 函数的调用:1.5 常数函数:function integer function_name1.6 原子函数:function automatic integer function_name第2章 什么是任务Task2.1 Task与Function的区别2.2 任务声明2.3 任务调用2.4............原创 2022-06-21 07:42:09 · 70620 阅读 · 0 评论 -
[从零开始学习FPGA编程-37]:进阶篇 - 基本时序电路-有限状态机实现(Verilog)
目录第1章 状态机概述1.1 UML描述状态机1.2 数字电路描述状态机第2章 本章案例说明2.1 业务需求2.2 案例分析第2章 Verilog如何描述状态机4.1 步骤1:定义状态4.2 步骤2:定义主要事件4.3 步骤3:状态跳转、迁移4.4 步骤4:定义行为输出4.5 代码汇总https://blog.csdn.net/HiWangWenBing/article/details/125345660ht......原创 2022-06-20 19:46:14 · 218 阅读 · 0 评论 -
[从零开始学习FPGA编程-36]:进阶篇 - 基本时序电路-有限状态机简述(数字电路描述)=》Moore 型、Mealy 型
目录前言:第1章 状态机的概念回顾第2章 数字电路如何描述状态机2.1 数字电路中状态机的定义2.2. 状态机的硬件描述2.3 数字电路如何标识和实现状态(状态保存控制:时序电路)2.4 数字电路如何实现状态的转换(状态迁移控制:组合电路)2.5 数字电路如何描述电路的行为输出(Action控制:组合电路)第3章 状态机的分类与米利型状态机3.1 状态机的分类3.2 Mealy型状态机3.3 Moore状态............原创 2022-06-20 00:03:21 · 70630 阅读 · 0 评论 -
[从零开始学习FPGA编程-35]:进阶篇 - 基本时序电路-有限状态机简述(UML统一建模语言)
目录前言:第1章 什么是有限状态机1.1 什么是有限状态机1.2 有限状态的应用1.3 UML与有限状态机第2章 UML状态机组成要素与核心概念2.1 案例-开门2.2 起点和终点2.3 状态2.4 状态切换/迁移2.5 事件:event2.6 条件:Guard(condition)2.7 行为动作/状态动作(Action/Effect)2.8 自身转换2.9 复合状态在探讨如何通过verilog实现状态机......原创 2022-06-19 21:55:00 · 209 阅读 · 0 评论 -
[从零开始学习FPGA编程-34]:进阶篇 - 基本时序电路-计数器(Verilog语言)
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址: 目录第1章 计数器的工作原理1.0 计数器在时序电路中的位置1.1 计数器概述1.2 计数器的组成1.3 计数器的应用1.4 计数器的种类第2章 8bits二进制计数器的Verilog实现2.1 全部代码2.2 计数器行为描述的简化方式2.3 通过for循环描述计数器的行为狭义的计数器是指一些常用计时器,例如体育比赛中测试时间的计时器等,但本词条所要介绍的并不是这种计时器,要介绍的是应用更为广泛的时序逻辑电原创 2022-06-19 00:03:16 · 70811 阅读 · 0 评论 -
[从零开始学习FPGA编程-33]:进阶篇 - 基本时序电路-寄存器(Verilog语言)
目录前言:第1章 寄存器介绍1.1 时序电路的两大特征1.2 什么是寄存器1.3 寄存器和存储器的区别第2章 寄存器的代码verilog代码实现2.1 有异步清零端的n位普通寄存器2.2 n位移位寄存器-带填充信号:通过for循环实现位移2.3 n位移位寄存器-带填充信号:通过移位操作实现位移能够存储记录数据的三种基本电路是锁存器、寄存器和触发器。前文已经介绍了锁存器,锁存器有众多的特点,在实际系统中,锁存器...原创 2022-06-18 23:12:40 · 70745 阅读 · 0 评论 -
[从零开始学习FPGA编程-32]:进阶篇 - 基本时序电路-D触发器(Verilog语言)
目录前言:第1章 什么是时序电路第2章 简化版、基础版D触发器2.1 什么是D触发器2.2 简化版、基础版D触发器2.3 简化版、基础版D触发器的Verilog编程(硬件描述)2.4 测试代码2.5 仿真结果第3章 含异步复位和输出使能en信号的D触发器3.1 功能概述3.2 verilog代码解读3.3 测试3.4 仿真结果前面分析了基本的组合电路,通过分析基本的组合电路,数学了verilog的语法和编程方....................................原创 2022-06-18 00:01:49 · 72242 阅读 · 0 评论 -
[从零开始学习FPGA编程-31]:进阶篇 - 基本时序电路-RS触发器(Verilog语言)
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录前言:第1章 基本RS触发器1.1 概述1.2 RS触发器的电路图组成1.3 /RS触发器的工作原理 1.4 RS触发器的真值表第2章 带时钟信号的同步RS触发器2.1 电路组成2.2 真值表2.3 Verilog代码复位Reset,置位Set是时序电路非常基础的两个功能信号,本文就讲探讨使用者两个基本信号的触发器,RS触发器。复位/置位触发器(R、S分别是英文复位,置位的缩写)也叫做基本R-S触发器,是原创 2022-06-17 23:09:47 · 1785 阅读 · 0 评论 -
[从零开始学习FPGA编程-30]:进阶篇 - 基本时序电路-锁存器(Verilog语言)
目录前言:第1章 什么是锁存器1.1 什么是时序电路的两大特征1.2 什么是锁存器1.3 锁存器外部特征(以8bits锁存器为例)第2章 锁存器的工作原理2.1 锁存器的基本思想2.2 CMOS双反双稳态结构2.3 R-S锁存结构结构2.4 Latch的特点及危害2.5 谨慎使用锁存器第3章 通过Verilog实现锁存器方式3.1 如何知道Veriglog语言会被综合成锁存器?3.2 情形1:存在于在没有el...............原创 2022-06-17 00:55:56 · 70905 阅读 · 0 评论 -
[从零开始学习FPGA编程-29]:进阶篇 - 基本时序电路-时序电路的两大基本特征(状态记忆与时钟触发)
目录前言:第1章 时序电路与其特征1.1 特征之一:记忆1.2 特征之二:时钟(时间的刻度单位)第2章 常见时序电路 2.1 时序电路在FPGA中的位置2.2 常见记忆、锁存电路2.3 常见的时钟电路第三章 时序电路的描述方式(补充信息)3.1 概述3.2 输入方程3.3 状态表3.4 状态图前面分析了基本的组合电路,通过分析基本的组合电路,数学了verilog的语法和编程方法。从本文开始,我们开始阐述基本的...............原创 2022-06-17 00:00:09 · 70609 阅读 · 1 评论 -
[从零开始学习FPGA编程-28]:进阶篇 - 基本组合电路-奇偶校验生成器(Verilog语言版本)
目录第1章 奇偶校验生成器1.1 什么是奇校验1.2 Verilog语言描述奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。如下图所示:采用何种校验是事先规定好的。通常专门设置一个奇偶校验位,用它使这组代码中“1”的个数为奇数或偶数。典型的奇偶校验:UART通信。作者主页(...原创 2022-06-16 00:15:57 · 70930 阅读 · 0 评论 -
[从零开始学习FPGA编程-27]:进阶篇 - 基本组合电路-数据比较器(Verilog语言)
目录第1章 数据比较器概述1.1 概述1.2 比较器的位数1.3 原图图1.4 verilogHDL语言表达在数字电路中,经常需要对两个位数相同的二进制数进行比较,以判断它们的相对大小或者是否相等,用来实现这一功能的逻辑电路就称为数值比较器。数值比较器就是对两数A、B进行比较,以判断其大小的逻辑电路。比较结果下列三种情形:参与比较的数据的位数,可以是任意的bits,如1bit,2bits或bits,甚至是32............原创 2022-06-16 00:08:09 · 71305 阅读 · 0 评论 -
[从零开始学习FPGA编程-26]:进阶篇 - 基本组合电路-数据选择器(Verilog语言)
目录前言:第1章 数据选择器1.1 数据选择器概述与原理1.2 真值表1.3 数据选择器原理图1.4 verilog代码实现1.5 仿真测试驱动程序 数据选择器一种常见的组合逻辑电路。数据选择器(data selector) 根据给定的输入地址代码,从一组输入信号中选出指定的一个送至输出端的组合逻辑电路。如下是4选1数据选择器的示意图。数据选择器是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去,实现.........原创 2022-06-15 00:08:46 · 70925 阅读 · 0 评论 -
[从零开始学习FPGA编程-25]:进阶篇 - 基本组合电路-加法器(Verilog语言)
目录第1章 加法器概述第2章 单bit半加器2.1 单bit半加器原理2.2 真值表 2.3 逻辑示意图 2.4 门级电路原理图 2.5 verilog语言描述2.6 测试文件2.7 功能仿真第3章 单bit全加器(带进位标志)3.1 概述与与原理3.2 真值表3.3 门电路原理图描述 3.4 verilog语言描述3.5 测试代码3.6 波形输出第4章 多bit全加器加法器是产生数的和的装置。常用作计算机算.........原创 2022-06-15 00:01:35 · 69781 阅读 · 0 评论 -
[从零开始学习FPGA编程-24]:进阶篇 - 基本组合电路-编码器与译码器(Verilog语言)
目录前言:Verilog建模/设计层次第1章 编码器(10至4线优先编码器为例)1.1 编码器概述1.2 编码器的原理图描述1.3 verilog行为级描述第2章 译码器(以3-8译码器为例)2.1 译码器概述2.2 原理图表达2.3 Verilog行为级描述本文主要探讨编码器与译码器。能够把数字、字母变换成一定位宽的二进制数码的电路称为编码器。当按下任意一个按钮是,输出对一个的编码值。备注:当同时按下多个按..................原创 2022-06-14 00:07:44 · 70820 阅读 · 0 评论 -
[从零开始学习FPGA编程-23]:进阶篇 - 基本组合电路-门电路级组合逻辑运算(Verilog语言)
在前文中,我们阐述了Verilog语言具备从底层开关级到门电路级,再到行为级描述硬件的能力。本文将以Verilog语言为例,展现Verilog是如何在不同的层面上描述最基本的组合逻辑运算(与、或、非运算)的, 后续章节将只关注行为级的描述,不在关注最底层的门-级的描述。目标: f = ~(A & B) | (B & C & D)在上图中,关键字nand表示使用底层的“与非门”关键字and表示使用底层的“与门”关键字or表示使用底层的“或门”这种直接使用底层逻辑门编程的方法,有点类似软件编程中直接使用汇原创 2022-06-14 00:07:31 · 70678 阅读 · 0 评论 -
[从零开始学习FPGA编程-19]:快速入门篇 - 操作步骤4-1- Verilog 软件下载与开发环境的搭建- Altera Quartus II版本
目录前言:第1章 Quartus II简介1.1 概述1.2 运行环境1.3 Quartus II的特点1.3 下载安装前说明第2章 Quartus II 的下载与安装2.1 官网地址2.2 版本13.1的下载地址2.3 安装2.4 安装成功后的自动license选择2.5 安装成功后自动加载执行工具2.6 参考license信息它山之石:网络中提供的破解版有了对Verilog语言总体感受之后,进一步的学习V..................原创 2022-06-12 00:23:16 · 70737 阅读 · 0 评论 -
[从零开始学习FPGA编程-21]:进阶篇 - 架构 - VerilogHDL编码规范
目录前言:第1章 标识符的编码规范1.1 模块名与文件名1.2 端口名1.3 参数的命名1.4 函数与任务的命名1.5 变量的命名第2章 空白符的使用 2.1 空格2.2 空行2.3 括号第3章 统一的规则3.1 统一的排版 3.2 统一的实例化模式 3.3 统一的注释风格 3.4 统一的向量位宽格式 3.5 单条语句多行书写 第4章 不可综合的语法 第5章 推荐的代码设计规范规范的编程不仅是有助于自己排错.........原创 2022-06-13 00:25:45 · 71265 阅读 · 0 评论 -
[从零开始学习FPGA编程-22]:进阶篇 - 架构 - FPGA内部硬件电路的设计与建模
目录前言:第1章 什么是数字硬件电路1.1 什么是硬件电路1.2 什么是数字电路1.3 硬件电路设计第2章 什么是数字电路的建模2.1 什么是数字电路建模2.2 数字电路建模、设计的层级第3章 数字电路建模的手段和方法3.1 原理图建模 =》对外方案交流3.2 Verilog HDL语言功能级建模(这是我们本系列探讨的重点)=》 Verilog程序员3.3 门电路级建模(通过专门的关键字直接使用底层的门电路.....................原创 2022-06-13 00:35:35 · 70907 阅读 · 0 评论 -
[从零开始学习FPGA编程-20]:快速入门篇 - 操作步骤4-2-Altera Quartus II工具的快速使用(modelSim联合仿真、程序下载到Altera开发板)
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客本文网址:目录前言:第1章 创建Verilog工程1.1 创建一个新工程1.2 选择芯片型号1.3 选择编程语言与仿真工具第2章 编写入门程序2.1 创建新的Verilog文件2.2 编写代码2.3 代码的编译第3章 Quartus II 调用 Modelsim进行联合功能仿真第4章 下载程序到Altera开发板(需要有FPGA硬件开发板)4.1 利用JTAG接口在线配置FPGA(掉电后配置丢失,需要重新下载)4.2原创 2022-06-12 00:57:55 · 70615 阅读 · 0 评论