FPGA经典100问 之<HDL 28问>

合集下载

EDA-VerilogHDL期末复习题总结必过(最新整理)

EDA-VerilogHDL期末复习题总结必过(最新整理)

选择题1.大规模可编程器件主要有FPGA、CPLD 两类,下列对FPGA 结构与工作原理的描述中,正确的是(C)。

A.FPGA 全称为复杂可编程逻辑器件;B.FPGA 是基于乘积项结构的可编程逻辑器件;C.基于SRAM 的FPGA 器件,在每次上电后必须进行一次配置;D.在Altera 公司生产的器件中,MAX7000 系列属FPGA 结构。

2.不完整的IF语句,其综合结果可实现(A)A. 时序逻辑电路B.组合逻辑电C. 双向电路D. 三态控制电路3.综合是EDA设计流程的关键步骤,在下面对综合的描述中,(D)是错误的。

A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。

4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( C )。

A. FPGA全称为复杂可编程逻辑器件;B. FPGA是基于乘积项结构的可编程逻辑器件;C. 基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D. 在Altera公司生产的器件中,MAX7000系列属FPGA结构。

5.以下关于状态机的描述中正确的是(B)A.Moore型状态机其输出是当前状态和所有输入的函数B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数D.以上都不对6.目前应用最广泛的硬件描述语言是(B)。

A. VHDLB. Verilog HDLC. 汇编语言D. C语言7.一模块的I/O 端口说明:“input [7:0] a;”,则关于该端口说法正确的是( A )。

A. 输入端口,位宽为8B. 输出端口,位宽为8C. 输入端口,位宽为7D. 输出端口,位宽为78.基于EDA 软件的FPGA / CPLD 设计流程为:原理图/HDL 文本输入→综合→___ __→→适配→编程下载→硬件测试。

veriloghdl答案

veriloghdl答案

verilog-hdl答案第1章简介1.Verilog HDL是在哪一年首次被IEEE标准化的?Verilog HDL是在1995年首次被IEEE标准化的。

2.Verilog HDL支持哪三种基本描述方式Verilog HDL可采用三种不同方式或混合方式对设计建模。

这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模3.可以使用Verilog HDL描述一个设计的时序吗?Verilog HDL可以清晰的建立时序模型,故可以使用Verilog HDL描述一个设计的时序。

4.语言中的什么特性能够用于描述参数化设计?在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述,而且能够使用门和模块实例化语句在结构级进行结构描述,这种特性可用于描述参数化设计。

5.能够使用Verilog HDL编写测试验证程序吗?能,可以编写testbench来对编写的程序进行验证。

6.Verilog HDL是由哪个公司最先开发的?Verilog HDL是由Gateway Design Automation公司最先开发的7.Verilog HDL中的两类主要数据类型是什么?线网数据类型和寄存器数据类型。

线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。

8.UDP代表什么?UDP代表用户定义原语9.写出两个开关级基本门的名称。

pmos nmos10.写出两个基本逻辑门的名称。

and or第2章 HDL指南1. 在数据流描述方式中使用什么语句描述一个设计?设计的数据流行为使用连续赋值语句进行描述2. 使用` t i m e s c a l e 编译器指令的目的是什么?举出一个实例。

使用编译指令将时间单位与物理时间相关联。

例如` timescale 1ns /100ps 此语句说明时延时间单位为1ns并且时间精度为100ps (时间精度是指所有的时延必须被限定在0.1ns内)3. 在过程赋值语句中可以定义哪两种时延?请举例详细说明。

FPGA试题

FPGA试题

FPGA试题1.⼀个项⽬的输⼊输出端⼝是定义在 A 。

A. 实体中B. 结构体中C. 任何位置D. 进程体2. 描述项⽬具有逻辑功能的是 B 。

A. 实体B. 结构体C. 配置D. 进程3.关于1987标准的VHDL语⾔中,标识符描述正确的是 B 。

A. 下划线可以连⽤B. 下划线不能连⽤C. 不能使⽤下划线D. 可以使⽤任何字符4.VHDL语⾔中变量定义的位置是 D ;VHDL语⾔中信号定义的位置是 D 。

A. 实体中中任何位置B. 实体中特定位置C. 结构体中任何位置D. 结构体中特定位置5.变量和信号的描述正确的是 A 。

A. 变量赋值号是:=B. 信号赋值号是:=C. 变量赋值号是<=D. ⼆者没有区别6.变量和信号的描述正确的是 B 。

A. 变量可以带出进程B. 信号可以带出进程C. 信号不能带出进程D. ⼆者没有区别6.关于VHDL数据类型,正确的是 D 。

A. 数据类型不同不能进⾏运算B. 数据类型相同才能进⾏运算C. 数据类型相同或相符就可以运算D. 运算与数据类型⽆关7.关于VHDL数据类型,正确的是 B 。

A. ⽤户不能定义⼦类型B. ⽤户可以定义⼦类型C. ⽤户可以定义任何类型的数据D. 前⾯三个答案都是错误的8.可以不必声明⽽直接引⽤的数据类型是 C 。

A. STD_LOGICB. STD_LOGIC_VECTORC. BITD. 前⾯三个答案都是错误的9.使⽤STD_LOGIG_1164使⽤的数据类型时 B 。

A.可以直接调⽤B.必须在库和包集合中声明C.必须在实体中声明D. 必须在结构体中声明10.VHDL运算符优先级的说法正确的是 C 。

A. 逻辑运算的优先级最⾼B. 关系运算的优先级最⾼C. 逻辑运算的优先级最低D. 关系运算的优先级最低11.VHDL中顺序语句放置位置说法正确的是 D 。

A.可以放在进程语句中B. 可以放在⼦程序中C. 不能放在任意位置D. 前⾯的说法都正确12.不属于顺序语句的是 B 。

Xilinx公司FPGA设计技术问答精选

Xilinx公司FPGA设计技术问答精选

Xilinx公司FPGA设计技术问答精选问:我在ISE4.1中,用fpga express verilog编译的某些文件,用modelsimxe只能前仿,不能后仿,不知5.1i是否有改进?答:4.1i支持用Modelsim XE实现行为级仿真和时间仿真,5.1I也同样。

请用热线(china_support )打开一个例子并在4.1i/Modelsim XE 运行时间仿真以解决你的问题。

问:和5.1结合比较好的验证工具除了Modelsim外,PC机上可运行的有什么?答:所有能接受Verilog/VHDL文件的仿真器都能使用。

但我们推荐使用Modelsim仿真器,因为Modelsim把ISE输出的.doc文件用做脚本,此外,Modelsim XE专为Xilinx器件提供了预编译的库。

问:ISE在综合的时候,把很多中间信号、特别是组合逻信号都综合掉了(或改名了),这样在后仿的时候造成了很大的不便,请问如何避免这一问题?答:可以使用Keep Hierachy 选项并且在你的综合工具以及我们的布局布线工具里保持网络名选项,这样就可以在你的设计里看见和你以前的同样的网络名。

要获得更多的帮助,可以同你的FAE或者在网上发EMAIL给china_support 。

问:Data2BRAM可以简化哪些工序?答:Data2BRAM 提供了一种简便的方法用以修改BlockRAM的内容而不需要预编译你的整个设计。

Data2BRAM的创建可以方便地把CPU软件镜象同FPGA的位数据流相结合并且可以从BlockRAM的内部地址空间执行软件。

当你用Xilinx的Microblaze 的软CPU核或VirtexIIPro的内嵌PowerPC核进行设计时这一点尤其有用。

问:毛刺有何比较好的消除方法。

实现加法,利用ieee.std_logic_signed.all中的'+',a<;=b+c;是否是最佳方案。

还是需要另外自己编加的程序。

EDA-Verilog HDL期末复习题总结必过

EDA-Verilog HDL期末复习题总结必过

选择题1.大规模可编程器件主要有FPGA、CPLD 两类,下列对FPGA 结构与工作原理的描述中,正确的是(C)。

A.FPGA 全称为复杂可编程逻辑器件;B.FPGA 是基于乘积项结构的可编程逻辑器件;C.基于SRAM 的FPGA 器件,在每次上电后必须进行一次配置;D.在Altera 公司生产的器件中,MAX7000 系列属FPGA 结构。

2.不完整的IF语句,其综合结果可实现(A)A. 时序逻辑电路B.组合逻辑电C. 双向电路D. 三态控制电路3.综合是EDA设计流程的关键步骤,在下面对综合的描述中,(D)是错误的。

A.综合就是把抽象设计层次中的一种表示转化成另一种表示的过程;B.综合就是将电路的高级语言转化成低级的,可与FPGA / CPLD的基本结构相映射的网表文件;C.为实现系统的速度、面积、性能的要求,需要对综合加以约束,称为综合约束;D.综合可理解为一种映射过程,并且这种映射关系是唯一的,即综合结果是唯一的。

4.大规模可编程器件主要有FPGA、CPLD两类,下列对FPGA结构与工作原理的描述中,正确的是( C )。

A.FPGA全称为复杂可编程逻辑器件;B.FPGA是基于乘积项结构的可编程逻辑器件;C.基于SRAM的FPGA器件,在每次上电后必须进行一次配置;D.在Altera公司生产的器件中,MAX7000系列属FPGA结构。

5.以下关于状态机的描述中正确的是(B)A.Moore型状态机其输出是当前状态和所有输入的函数B.与Moore型状态机相比,Mealy型的输出变化要领先一个时钟周期C.Mealy型状态机其输出是当前状态的函数D.以上都不对6.目前应用最广泛的硬件描述语言是(B)。

A. VHDLB. Verilog HDLC. 汇编语言D. C语言7.一模块的I/O 端口说明:“input [7:0] a;”,则关于该端口说法正确的是( A )。

A. 输入端口,位宽为8B. 输出端口,位宽为8C. 输入端口,位宽为7D. 输出端口,位宽为78.基于EDA 软件的FPGA / CPLD 设计流程为:原理图/HDL 文本输入→综合→___ __→→适配→编程下载→硬件测试。

FPGA基础知识问答500问连载 (二)

FPGA基础知识问答500问连载 (二)

FPGA基础知识问答500问连载(二)Q16:FPGA设计中对时钟的使用?(例如分频等)FPGA芯片有固定的时钟路由,这些路由能有减少时钟抖动和偏差。

需要对时钟进行相位移动或变频的时候,一般不允许对时钟进行逻辑操作,这样不仅会增加时钟的偏差和抖动,还会使时钟带上毛刺。

一般的处理方法是采用FPGA芯片自带的时钟管理器如PLL,DLL或DCM,或者把逻辑转换到触发器的D输入(这些也是对时钟逻辑操作的替代方案)。

Q17:FPGA设计中如何实现同步时序电路的延时?首先说说异步电路的延时实现:异步电路一半是通过加buffer、两级与非门等(我还没用过所以也不是很清楚),但这是不适合同步电路实现延时的。

在同步电路中,对于比较大的和特殊要求的延时,一半通过高速时钟产生计数器,通过计数器来控制延时;对于比较小的延时,可以通过触发器打一拍,不过这样只能延迟一个时钟周期。

Q18:FPGA中可以综合实现为RAM/ROM/CAM的三种资源及其注意事项?三种资源:block ram;触发器(FF),查找表(LUT);注意事项:1:在生成RAM等存储单元时,应该首选block ram 资源;其原因有二:第一:使用block ram等资源,可以节约更多的FF和4-LUT等底层可编程单元。

使用block ram 可以说是“不用白不用”,是最大程度发挥器件效能,节约成本的一种体现;第二:block ram是一种可以配置的硬件结构,其可靠性和速度与用LUT和register构建的存储器更有优势。

2:弄清FPGA的硬件结构,合理使用block ram资源;3:分析block ram容量,高效使用block ram资源;4:分布式ram资源(distribute ram)Q19:Xilinx中与全局时钟资源和DLL相关的硬件原语:常用的与全局时钟资源相关的Xilinx器件原语包括:IBUFG,IBUFGDS,BUFG,BUFGP,BUFGCE,BUFGMUX,BUFGDLL,DCM等。

eda技术实用教程-veriloghdl答案

eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。

2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。

FPGA面试题

1、同步电路和异步电路的区别是什么?(仕兰微电子)2、什么是同步逻辑和异步逻辑?(汉王笔试)同步逻辑是时钟之间有固定的因果关系.异步逻辑是各时钟之间没有固定的因果关系.3、什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?(汉王笔试)线与逻辑是两个输出信号相连可以实现与的功能.在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻.4、什么是Setup 和Holdup时间?(汉王笔试)5、setup和holdup时间,区别.(南山之桥)6、解释setup time和hold time的定义和在时钟信号延迟时的变化.(未知)7、解释setup和hold time violation,画图说明,并说明解决办法.(威盛VIA上海笔试试题)Setup/hold time 是测试芯片对输入信号和时钟信号之间的时间要求.建立时间是指触发器的时钟信号上升沿到来以前,数据稳定不变的时间.输入信号应提前时钟上升沿(如上升沿有效)T时间到达芯片,这个T就是建立时间-Setup time.如不满足setup time,这个数据就不能被这一时钟打入触发器,只有在下一个时钟上升沿,数据才能被打入触发器. 保持时间是指触发器的时钟信号上升沿到来以后,数据稳定不变的时间.如果hold time 不够,数据同样不能被打入触发器. 建立时间(Setup Time)和保持时间(Hold time).建立时间是指在时钟边沿前,数据信号需要保持不变的时间.保持时间是指时钟跳变边沿后数据信号需要保持不变的时间.如果不满足建立和保持时间的话,那么DFF将不能正确地采样到数据,将会出现metastability的情况.如果数据信号在时钟沿触发前后持续的时间均超过建立和保持时间,那么超过量就分别被称为建立时间裕量和保持时间裕量.8、说说对数字逻辑中的竞争和冒险的理解,并举例说明竞争和冒险怎样消除.(仕兰微电子)9、什么是竞争与冒险现象?怎样判断?如何消除?(汉王笔试)在组合逻辑中,由于门的输入信号通路中经过了不同的延时,导致到达该门的时间不一致叫竞争.产生毛刺叫冒险.如果布尔式中有相反的信号则可能产生竞争和冒险现象.解决方法:一是添加布尔式的消去项,二是在芯片外部加电容.10、你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?(汉王笔试)常用逻辑电平:12V,5V,3.3V;TTL和CMOS不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的.CMOS输出接到TTL是可以直接互连.TTL接到CMOS需要在输出端口加一上拉电阻接到5V或者12V.11、如何解决亚稳态.(飞利浦-大唐笔试)亚稳态是指触发器无法在某个规定时间段内达到一个可确认的状态.当一个触发器进入亚稳态时,既无法预测该单元的输出电平,也无法预测何时输出才能稳定在某个正确的电平上.在这个稳定期间,触发器输出一些中间级电平,或者可能处于振荡状态,并且这种无用的输出电平可以沿信号通道上的各个触发器级联式传播下去.12、IC设计中同步复位与异步复位的区别.(南山之桥)同步复位就是指复位信号只有在时钟上升沿到来时,才能有效。

fpga精选问答题

7、IC 设计中同步复位与异步复位有什么区别? 同步复位在时钟沿采复位信号, 完成复位动作。 异步复位不管时钟, 只要复位信号满足条件, 就完成复位动作。 异步复位对复位信号要求比较高, 不能有毛刺, 如果其与时钟关系不确定, 也可能出现亚稳态。
8、latch 与 register 有什么区别? latch 是电平触发,register 是边沿触发,register 在同一时钟边沿触发下动作,符合同 步电路的设计思想,而 latch 则属于异步电路设计,往往会导致时序分析困难,不适当的应 用 latch 则会大量浪费芯片资源。
15、 什么是 Setup 和 Holdup 时间? 建立时间(setup time)是指在触发器的时钟信号上升沿到来以前,数据稳定不变的时间, 如果建立时间不够,数据将不能在这个时钟上升沿被打入触发器;保持时间(hold time) 是指在触发器的时钟信号上升沿到来以后,数据稳定不变的时间,如果保持时间不够,数据 同样不能被打入触发器。
4、常用逻辑电平有哪些?TTL 与 COMS 电平可以直接互连吗? TTL,COMS,不能直连 LVDS:LVDS(Low Voltage Differential Signal)即低电压差分信号,LVDS 接口又称 RS644 总线接口,是 20 世纪 90 年代才出现的一种数据传输和接口术。 ECL:(EmitterCoupled Logic)即射极耦合逻辑,是带有射随输出结构的典型输入输出接口 电路。 CML:CML 电平是所有高速数据接口中最简单的一种。其输入和输出是匹配好的,减少了外 围器件,适合于更高频段工作。
13、一个四级的 Mux,其中第二级信号为关键信号如何改善 timing? 关键:将第二级信号放到最后输出一级输出,同时注意修改片选信号,保证其优先级未被修 改。

FPGA经典100问之<设计实现 31 问>

FPGA经典100问之<设计实现31问>FPGA是什么?FPGA即现场可编程逻辑门阵列(英语:Field Programmable Gate Array, FPGA),是一个含有可编辑元件的半导体设备,可供使用者现场程式化的逻辑门阵列元件。

它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

现把历年来众多网友和专家联手打造的FPGA经典100问奉献给大家,包括<HDL 28问>、<仿真20问>、<设计实现31问>、<下载验证16问>、<入门与提高5问>。

初学者必备!FPGA经典100问之<HDL 28问>&<仿真20问>下载点击下载>>45篇博文精粹《菜鸟变高手,草根成长记》点击下载>>特权同学倾力巨献---FPGA学习资料下载汇总1、CYCLONE3芯片DDR2控制器SSTL18疑问!xulong431问:根据SSTL18规范及C3的handbook指导,与DDR2芯片互连得管脚采用的是伪差分的方式,C3相关DDR2控制器块的Vrefb管脚接VTT电平;问题随之而来,我使用的是EP3C120F780芯片,在BANK3,4边使用了2个16bit DDR2控制器,因此BANK3,4两块3个Vrefb管脚我都接了VTT电平,除去DDR2使用的I/O管脚,大概还剩下25根I/O没有使用;在HANKBOOK 里面没有具体说明此时剩下的I/O管脚可否正常驱动1.8-LVTTL或者1.8-LVCMOS;那位高工有类似的经验望分享。

smarteebit答:可以的。

楼主在分配完后可以用QuartusII的IO分配检查验证一遍是否有错:“Processing”->"Start"->"Start I/O assignment analysis"asyou答:当然可以了,不然那些IO不是浪费了吗?这样的性能怎么跟Xilinx竞争啊!查看更多回答与讨论>>2、求助,用单片机采用JTAG方式配置FPGAkanojoy问:想用单片机对CycloneII器件进行配置,采用JTAG方式,该解析哪种格式的配置文件?.rbf­.svf­怎么解析…求教ilove314答:sof文件查看更多回答与讨论>>13、关于PFGA复位引脚的问题忆年问:我刚开始学FPGA,写个数码管显示的代码遇到复位的问题,就是随便一个I/O口定义为复位引脚,下降沿有效,如果复位引脚悬空,能正常工作,但是我连上一条杜邦线,复位信号好像就一直高低电平的跳变,然后就一直处于不断的复位状态,为什么会这样?复位信号是要用按键来控制的吗?如果是按键抖动的话就就对复位信号很敏感?谁给讲讲复位的问题啊,谢谢了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

else begin q=din; dout=4'hz; end endmodule
ilove314 答: 你的代码里面 q 根本不是 reg(例子不恰当),综合工具把它综合为 wire 型了。如果严格来 讲,如果综合工具认为他是 reg 就会报错的。reg 和 wire 的定义通常是和书本说的一致的, 但是也有例外情况。你写的一段是组合逻辑,但是你要看看 RTL 视图是否综合工具真的是 wire 型,没有综合出 reg。 查看更多回答与讨论>>
3、 一个月之内做一个 FPGA 项目,很急,请高手指点! 大白菜 LL 问:
刚开始学 FPGA,对 verilog 语言也不怎么了解,同事让我一个月之内做一个 FPGA 项目, 所以请高手们给与支持啊。和大家描述一下项目内容:用 FPGA 芯片(cyclone IV)控制 2 片 级联的 74HC595 芯片,使得 74HC595 并行输出固定的 16 位数据,而这 16 位数据是由 PC 经过串口发送给 FPGA 的,就是说 FPGA 需要做一个串口和一个 74HC595 的控制程序,并且 FPGA 还要输出一路脉宽可调的 PWM(也要用串口设置)。是用 verilog 写程序做几个模块, 还是把 FPGA 做为 NIOS II 控制器用 C 语言写程序。
紫菜蛋花汤 答: 防止同一次按键再次被响应 查看更多回答与讨论>>
8、 求大神:关于 verilog 中语句时序问题 JI 问: 在 always 语句下有如下情况: ...
if(clk_bps)
begin num <= num+1'b1; case (num) 4'd0: rs232_tx_r <= 1'b0; //发送起始位 4'd1: rs232_tx_r <= tx_data[0]; //发送 bit0 4'd2: rs232_tx_r <= tx_data[1]; //发送 bit1 4'd3: rs232_tx_r <= tx_data[2]; //发送 bit2 4'd4: rs232_tx_r <= tx_data[3]; //发送 bit3 4'd5: rs232_tx_r <= tx_data[4]; //发送 bit4 4'd6: rs232_tx_r <= tx_data[5]; //发送 bit5 4'd7: rs232_tx_r <= tx_data[6]; //发送 bit6 4'd8: rs232_tx_r <= tx_data[7]; //发送 bit7 4'd9: rs232_tx_r <= 1'b1; //发送结束位 default: rs232_tx_r <= 1'b1; endcase
7、 请教 I2C 通信实验例程问题,不太明 lvhao1990 问: STOP1: begin
if(`SCL_LOW) begin sda_link <= 1'b1;//output sda_r <= 1'b0; cstate <= STOP1;
end
3

else if(`SCL_HIG) begin sda_r <= 1'b1; //scl 为高时,sda 产生上升沿(结束信号) cstate <= STOP2;
ilove314 答: 先去了解你需要实现的芯片的功能,然后把输入输出关系理清楚,再考虑 FPGA 如何设计 查看更多回答与讨论>>
4、 关于双向端口的数据类型 edelajiang 问: 一直看资料都是说 inout 端口只能是 wire 型,但我在一本书上看到这个例子,把它定义了 reg 型,而且编译的时候还没有报错很是纳闷,谁能给予解释
6、 为什么我定义的数组总是编译错误啊? 刘毓 问: 请问学习板配套的 quartus ii 软件是什么版本的啊?支持数组定义吗 为什么我定义的数组 总是编译错误啊? 如果要定义常量数组例如 a[i]={FF,FF,05,03,1E,83...}怎么书写啊? i 定义 成什么类型啊?
ilove314 答: verilog 不是 C 语言,还分 RTL 级和行为级,这个概念请先分清楚。如果你发送数据固定,可 以考虑放在 FPGA 内部的 ROM 或 RAM 里,再或者定义寄存器来存储。 查看更多回答和讨论>>
qingxian 答: 首先第一个问题,时序电路中,敏感变量表里面的信号只有一个能综合成时钟信号,另外一 个是异步载入信号,你可以看一下 RTL 级,就可以看到 S2 是在时钟输入端,而 S1 是在异步 载入端口。 ilove314 答: 你必须一个时钟一次技术,而 S 拉低那要保持好长时间呢,所以你取 S 的上升沿或下降沿作 为采集指示就没问题。 查看更多回答与讨论>>
ilove314 答: 1. 并行处理,这个不是软件。 2. 在实际器件当中,默认初始值为 0。 查看更多回答与讨论>>
9、 请帮忙看看这个按键消抖的程序。 june_guo 问: 目前正在看特权的 I2C 程序,发现按键部分没有消抖,于是就将按键部分改了下, 在捕捉按键信号,打 3 拍调试程序发现按键没有反应,于是改为打 2 拍,调试就 ok 了。 3 拍比 2 拍就多了 20ns,而按键消抖要延迟 20ms,差那么多,为何多了一拍就不行了呢?
2、 求助特权同学串口通讯问题 beihang873 问: 深入浅出玩转 FPGA 串口通讯有如下程序:
//下面的下降沿检测可以滤掉<20ns-40ns 的毛刺(包括高脉冲和低脉冲毛刺), //这里就是用资源换稳定(前提是我们对时间要求不是那么苛刻,因为输入信号打了好 几拍) //(当然我们的有效低脉冲信号肯定是远远大于 40ns 的) assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0; //接收到下降沿 后 neg_rs232_rx 置高一个时钟周期
FPGA 经典 100 问 之<HDL 28 问>
FPGA 是什么? FPGA 即现场可编程逻辑门阵列(英语:Field Programmable Gate Array, FPGA),是一个
含有可编辑元件的半导体设备,可供使用者现场程式化的逻辑门阵列元件。它是作为专用集 成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原 有可编程器件门电路数有限的缺点。
高手路过一定要告诉我为什么,我是个喜欢钻牛角尖的女生,找不到答案的话,恐怕再也出 不来了。
// 按键检测 reg sw1_r0,sw1_r1,sw1_r; reg sw2_r0,sw2_r1,sw2_r; reg[19:0] cnt_20ms; always @ (posedge clk or negedge rst_n) if(!rst_n) begin sw1_r0 <= 1'b1; sw1_r1 <= 1'b1; //sw1_r2 <= 1'b1; //为何打三拍,调试时就不能实现,三拍就用了 60ns,为何就不能实现按键的捕捉? sw2_r0 <= 1'b1; sw2_r1 <= 1'b1; //sw2_r2 <= 1'b1; end else begin sw1_r0 <= sw1; sw1_r1 <= sw1_r0; //sw1_r2 <= sw1_r2; sw2_r0 <= sw2; sw2_r1 <= sw2_r0; //sw2_r2 <= sw2_r2; end wire sw1_rst = sw1_r0 || sw1_r1; wire sw2_rst = sw2_r0 || sw2_r1;//打了两拍,若为 0,表示有按下
module bit4(ctrl,din,q,dout); input ctrl; input[3:0]din; inout[3:0]q; output[3:0]dout; reg[3:0]dout,q; always@(ctrl,din,q) if(!ctrl) dout=q;
2

5、 assign,连续赋值语句,你怎么看? 葱上头 问: 之前看到的连续赋值语句,括号里都是判断逻辑状态,再给与赋值,现遇到一个问题,想请 教各位大侠,assign c= (a>b) ­ 1'b1:1'b0;这种语句可否?不管 a,b 的位宽和 a,b 到底是 wire 还是 reg。怎么看?
ilove314 答: 可以,你是不是少了一个问号? wenzhang 答: 只有被赋值的是 wire 型就可以了 查看更多回答和讨论>>
1

求助 这句话是什么意思,怎么能起到滤波的效果呢?
新人鹰答: 滤波就是相当于延迟 20~40ns,他与前面的非阻塞 赋值有一定关系: rs232_rx0 <= rs232_rx; rs232_rx1 <= rs232_rx0; rs232_rx2 <= rs232_rx1; rs232_rx3 <= rs232_rx2; assign neg_rs232_rx = rs232_rx3 & rs232_rx2 & ~rs232_rx1 & ~rs232_rx0; 只有当 rs232_rx 由 1 变为 0,且经过 rs232_rx0 <= rs232_rx; rs232_rx1 <= rs232_rx0; 将 rs232_rx0 rs232_rx1 变为 1 时 neg_rs232_rx 才为 1,这个时序在 40ns 以上 查看更多回答与讨论>>
end else cstate <= STOP1; end STOP2: begin if(`SCL_LOW) sda_r <= 1'b1; else if(cnt_20ms==20'hffff0) cstate <= IDLE; else cstate <= STOP2; end 上述代码此句是什么意思 else if(cnt_20ms==20'hffff0) cstate <= IDLE; 还有就是状态机为何要用两个 STOP(STOP1,SSOP2)? 非常希望高手能指点一下,非常感谢!
相关文档
最新文档