![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Verilog
Peter_hust
通信转system小菜鸟
展开
-
(电工基地笔记)有限状态机笔记
1.有限状态机概念概念状态机是复杂逻辑功能(如算法机中的流程控制器)实现的最主要也是最有效的手段状态机记录自身工作状态,通过输入与当前状态来确定下个状态,并通过当前状态和输入来确定输出 状态编码:1.二进制编码或者格雷码(防止竞争冒险)2.独热码:是只有一位为高的编码3.CPLD一般使用格雷码4.FPGA一般使用独热码(综合工具一般会把已经识别的状态机中的编码转原创 2016-07-12 12:37:33 · 1693 阅读 · 0 评论 -
(电工基地笔记)介绍用Vivado制作FPGA工程
1.今天做一个秒表实例,介绍用Vivado制作FPGA工程2.使用两个按键key0(秒表驱动、暂停)、key1下面演示Vivado操作过程1.create project(图) 2. 一般来说都会选择它(图) 3.不选择源文件(图) 4.选择芯片(我们用的是xc7a35tftg256-1)也可以用过滤器选择芯片(图)5.单击完成,我们的工程就创建完了原创 2016-07-12 17:08:24 · 3943 阅读 · 0 评论 -
总结Verilog中always语句的使用
always语句包括的所有行为语句构成了一个always语句块。该always语句块从仿真0时刻开始执行其中的行为语句;最后一条执行完成后,再开始执行其中的第一条语句,如此往复循环,直到整个仿真结束。因此,always语句块常用于对数字电路中一组反复执行的活动进行建模。比如大家熟知的时间信号发生,每半个时钟周期时钟信号翻转一次。原创 2016-07-06 21:46:58 · 99083 阅读 · 4 评论 -
CPLD/FPGA/Verilog_如何写代码减少逻辑单元的使用数量
如何写代码减少逻辑单元的使用数量工作中遇到的问题,芯片级的资源有限制,没办法只能改进逻辑单元综合电路逻辑。一....尽量不要使用"大于""小于"这样的判断语句, 这样会明显增加使用的逻辑单元数量 .看一下报告,资源使用差别很大. 例程:always@(posedge clk) begin count1=count1+1; if(count1==10转载 2016-07-29 17:44:24 · 4947 阅读 · 0 评论 -
(电工基地课程笔记)基本时序逻辑
今天重新复习了D触发器。D触发器就是个真正的reg,时钟的有效沿到来时,输出值更新为输入值,其他时候输出值保持不变,与输入无关reg q;always@(posedge clk)begin qend//clk是非常重要的概念//低端FPGA如果跑软核,一般时钟频率100MHz 1.方波越窄,就要用越高频的正弦信号叠加 2.时钟是FPGA里面最繁忙的信号原创 2016-07-07 22:51:56 · 1190 阅读 · 0 评论 -
(电工基地笔记)Vivado出现编译错误,无法生成bit文件
error:[Drc 23-20] Rule violation (NSTD-1) Unspecified I/O Standard - 15 out of 15 logical ports use I/O standard (IOSTANDARD) value 'DEFAULT', instead of a user assigned specific value. This may cause原创 2016-08-20 00:30:16 · 9772 阅读 · 0 评论 -
DAC8811驱动编写遇到的问题
这次错误导致我调了半天DAC也没有正常的波形,坑了做硬件的队友* 错误1:时序图有问题错误2:数据DIN计算有问题 这个公式给的明明白白,就是让你计算补码为偏移二进制,你的数学敏感还是要锻炼! * 反思:写驱动一定要认真分析时序图,那些Interface Timing是你一定要认真分析好好关注的 附上我写的DAC8811驱动程序:`timescale 1ns / 1ps////原创 2017-07-09 22:54:07 · 1317 阅读 · 0 评论