草庐IT

FPGA入门

全部标签

FPGA | 组合逻辑中的竞争与险象问题

一、建立时间和保持时间建立时间(SetupTime):在时钟跳变前数据必须保持稳定的时间。保持时间(HoldTime):在时钟跳变后数据必须保持稳定的时间。如果建立时间或保持时间不满足,数据将不能进入触发器。二、冒险现象2.1竞争冒险现象当一个门的输入有两个或两个以上的信号发生改变时,由于这些信号是经过不同路径产生的,使得他们状态改变的时刻不同步,这种时差引起的现象称为竞争(Race)。竞争的结果若是导致冒险或者险象(Hazard)发生(例如毛刺),并造成错误的后果,那么就称这种竞争为临界竞争。若竞争的结果没有导致冒险发生,或虽有冒险发生,但不影响系统的工作,那么就称这种竞争为非临界竞争。组合

基于SmartFusion2系列FPGA SOC的开发1——概要说明

在中科院XX所的时候,就从SRAM型FPGA,切换到Flash型FPGA的编程和调试。最近几年,因为工作关系,需要找到一款类似于Zynq,但性能可以略低,并且货期和价格较为美丽(担心美帝断供,但这款不是很高端,不会有太大风险),但也要有ARM+FPGA架构的SOC芯片,可以方便的在嵌入式领域快速实现编程。发现,Microsemi公司的FPGASOC芯片SmartFusion2系列,其FPGA部分继承了之前A3PExxx系列的特性(Flash编程不用额外Flash芯片,同时兼顾超低功耗和高速特性),同时其包含了ARM部分(M3主频最高到166MHz),如此这般,正好可以更新下这段时间的所得所感所

【C++入门到精通】 线程库 | thread类 C++11 [ C++入门 ]

阅读导航引言一、thread类的简单介绍二、线程函数详细介绍1.start()函数(1)头文件(2)函数原型2.join()函数(1)头文件(2)函数原型3.detach()函数(1)头文件(2)函数原型(3)使用示例4.get_id()函数(1)头文件(2)函数原型(3)使用示例5.joinable()函数(1)头文件(2)函数原型(3)参数解释(4)返回值(5)使用示例三、std::this_thread命名空间温馨提示引言当讨论现代编程语言的特性时,C++11无疑是一个不容忽视的里程碑。在前一篇文章中,我们深入探讨了Lambda表达式在C++11中的引入和应用。本文将继续探索C++11的

云计算入门2

HTTP tcp 80 超文本传输协议 HTTPS tcp443 安全传输协议SSH安全外壳协议  tcp 22  FTP tcp 20/21 文件传输协议TFTP udp 69简单文件传输协议Telnet tcp 23 远程登录协议 DNS UDP/TCP  53 域名解析协议DHCP UDP 67/68 动态主机配置协议 传输层协议:TCP/UDP TCP:传输控制协议----面向连接的可靠协议(在完成传输层的基本工作的同时,还需要保证传输的可靠性)面向连接------3次握手 及 4次挥手 建立端到端的虚链路HTTP tcp 80 超文本传输协议 HTTPS tcp443 安全传输协议S

FPGA模块——AD高速转换模块(并行输出转换的数据)

FPGA模块——AD高速转换模块(并行输出转换的数据)(1)AD9280/3PA9280芯片(2)代码(1)AD9280/3PA9280芯片AD9280/3PA9280芯片的引脚功能:工作电压2.7到5.5v数据对应:AD9280支持输入的模拟电压范围是0V至2V,0V对应输出的数字信号为0,2V对应输出的数字信号为255。而AD9708经外部电路后,输出的电压范围是-5V到+5V,因此在AD9280的模拟输入端增加电压衰减电路,使-5V到+5V之间的电压转换成0V至2V之间。应用电路图:包括电压跟随器,反向放大器,减法器。(2)代码并行输入8位数据和超量程标志,要提供一个AD_clk给AD转

《UDS协议从入门到精通(UDS速查手册)》持续更新中...

总目录:《UDS协议从入门到精通(UDS速查手册)》持续更新中......一、前言一、UDS简介1.1从汽车诊断说起1.2两种常见的诊断协议:OBD&UDS二、相关术语介绍2.1ServiceID(SID)2.2诊断请求(DiagnosticRequest)2.3正响应/负响应(Positive/NegativeResponse)2.3.1正响应报文格式2.3.2负响应报文格式2.4负响应码(NegativeResponseCode-NRC)三、UDS服务详述3.1诊断和通信管理类3.2数据传输类3.3存储数据传输类3.4IO控制类3.5例程功能类-调用ECU内部预置函数3.6上传下载类四、写

FPGA模块——DA转换模块(AD9708类)

FPGA模块——DA转换模块(AD9708类)AD9708/3PD9708代码AD9708/3PD9708由于电路接了反相器,所以对应就不一样了。电路图:代码在ROM中存入要输出的波形数据:用软件生成各个对应的点。给DA转换器一个时钟,这个时钟是对clk时序时钟的取反。由于DA也是上升沿锁存数据,这样就保证DA模块读到的数据都是稳定了的数据。这样只是为了保证系统的稳定。moduleda_wave_send(inputclk,//时钟inputrst_n,//复位信号,低电平有效input[7:0]rd_data,//ROM读出的数据outputreg[7:0]rd_addr,//读ROM地址/

【码尚教育】Python自动化测试框架pytest—入门学习笔记

目录前言一、pytest单元测试框架二、单元测试框架和自动化测试框架有什么关系三、pytest简介四、使用pytest默认的测试用例规则及基础应用五、pytest测试用例的运行方式六、pytest执行测试用例的顺序七、如何分组执行​编辑八、pytest跳过用例九、pytest框架实现的一些前后置(固件、夹具)处理十、YAML文件实现接口自动化结语前言pytest是一个成熟的全功能Python测试工具,可以帮助您编写更好的程序。它与Python自带的Unittest测试框架类似,但pytest使用起来更简洁和高效,并且兼容unittest框架。一、pytest单元测试框架(1)什么是单元测试  

数字IC/FPGA面试宝典--经典60道例题详解

1.关于亚稳态的描述错误的是(A)A、多用几级寄存器打拍可以消除亚稳态。B、亚稳态是极不稳定的,理论上来讲处在亚稳态的时间可以无限长。C、亚稳态稳定到0或者1,是随机的,与输入没有必然的关系。D、如果数据传输中不满足触发器的建文时间Tsu和保持时间Th,可能产生亚稳态。解析:亚稳态无法消除,只能尽量避免。2.下列关于综合的说法哪项是不正确的(B)A.综合(Synthesis)简单地说就是将HDL代码转化为门级网表的过程B.综合由Translation和Mapping两个步骤组成C.Mapping把用GTECH库元件构成的电路映射到某一特定厂家的工艺库上D.Translation是指把HDL语言

Macbook pro上手入门指南

在2023年快过年之际,我在某东入手了人生第一台Mac,对于用惯了Windows系统的用户来说,在首次使用Mac系统上会遇到很多问题,所以我买之前做了大量的功课,自己也在短时间内学会并实操了一些十分有必要的操作,然后整理了一些Mac的基本操作以及配置,希望对大家有所帮助。一、Mac开箱拿到Mac开箱后包装建议全部保留好,有质量问题需要退换货或者以后闲置的时候会用到。很有必要录个开箱视频,从拆快递开始到开机设置完后结束。主要检查一下「三码」对不对的上、Mac外表有没有瑕疵损坏之类的。电脑只要开盖就会自动开机,然后按照流程一步步进行设置就好了,这里需要注意的是:设置ID的时候要选上「自己心仪的ID