ICode9

精准搜索请尝试: 精确搜索
  • 第五章练习题_12022-06-08 13:00:51

    1.题目:根据RTL图给出HDL描述 DFF的引脚功能: PRE与CLR均为异步控制信号;PRE置高,DFF输出为1;CLR置高,DFF输出为0; 分析:信号优先级为 \(CLR>PRE\);当ENA为1时,时钟启动,CLR为0时,模块清零,PRE为1时,模块置1;ENA为时钟控制信号, module DFFa(SET,D,CLK,EN,RESET,Q); input D,CLK,EN,RESET,

  • 日常记录(91)分频、序列检测、建立保持时间、DVE操作2022-06-06 19:31:50

    三分频器 https://zhuanlan.zhihu.com/p/367798872 module taa (output clk_o, input clk_i, rst_n); reg [3:0] cnt; reg clk1, clk2; assign clk_o = clk1 ^ clk2; always @(posedge clk_i, negedge rst_n) begin if (!rst_n) begin cnt

  • 跨时钟域传输:快到慢2022-06-01 22:33:09

    慢时钟域采集从快时钟域传输来的信号时,需要根据信号的特点来进行同步处理。对于单 bit 信号,一般可根据电平信号和脉冲信号来区分。电平信号同步同步逻辑设计中,电平信号是指长时间保持不变的信号。保持不变的时间限定,是相对于慢时钟而言的。只要快时钟的信号保持高电平或低电平的时

  • 串口应用:遵循uart协议,发送多个字节的数据(状态机)2022-06-01 11:03:44

      上一节中,我们遵循uart协议,它发送一次只能发送6/7/8位数据,我们不能随意更改位数(虽然在代码上可行),不然就不遵循uart协议了,会造成接收端无法接收。   在现实生活中,我们有时候要发的数据不止8位,这时候就得多次发送了。分多段发送,就是说发送一次数据的时间里发送系统有多个状态,这

  • 状态机——序列检测2022-05-28 13:34:16

      每三个时钟周期中检测输入w,若w的高电平个数恰好为2,则输出一个高电平。     module top_module ( input clk, input reset, // Synchronous reset input s, input w, output z ); reg [3:0]cs,ns; parameter A=4'b0001,B=3'b0010,C=3'b0100,

  • 可控线性序列机2022-05-26 00:02:43

    可控线性序列机: 可控:有个控制端控制何时输出线性序列。 线性序列机:输出一个线性序列。 知识点: 1.包含多个判定条件时用英文()括起来,用&&连接。 2.使能端EN的设置(类似于D触发器 1触发,0保持),注意不能在最后一个状态时立即跳0,要让这个状态跑完。   3.有多个跳变点时,设计多个计数器就可

  • led的进化2022-05-15 16:04:48

    1.一个led亮100ns,灭400ns,循环 2.一个led亮2500ns,灭5000ns,亮7500ns,灭10000ns循环 3.以2500ns为变化周期,20000ns为一个循环,每个周期的亮灭模式由用户设置。 4.以tim*20/8 ns为变化周期,tim*20 ns为一个循环,每个周期的亮灭模式,tim由用户设置。 5.1最小周期相同(由用户指定),由多个ctrl

  • 参数化设计(多次调用同一子模块,critical warning,引脚constraint sources)2022-05-12 12:32:02

    1.设计定义:4个led灯以不同的频率各自闪烁。 2.设计输入:时钟信号,复位信号,led多位输出。     思路:没有要求流水的效果,所以不需要叠加counter达到某一特定值来位移。只需要让每个灯的闪烁周期不同即可。所以可以直接调用led闪烁模块,设置不同的周期参数来实现。     `timescale

  • 日常记录(83)vim整理2022-05-07 20:03:05

    断言的onehot taa: vcs -sverilog -R taa.sv 代码文件 onehot、onehot0是断言的语法,不是sv的系统函数,因此只能在property等断言代码中使用。 property需要添加clk,需要仿真时间,才能测试效果。 onehot检查是否为只有一位为1,onehot检查是否最多只有一个1. module taa (); lo

  • Verilog——数据转换器:1)由宽到窄(32bit到16bit)的数据转换模块2022-04-24 10:34:40

    Verilog——数据转换器:1)由宽到窄(32bit到16bit)的数据转换模块 转换目标及基本原理 转换目标 使用FPGA的不同频率和相位的时钟,将低频32bit位宽的数据流转换为倍频16bit位宽的数据流。 时钟 时钟频率:输入时钟频率CLK1X,输出时钟频率CLK2X,f_CLK2X = 2*f_CLK1X。 相位:CLK2X的相位

  • 【D触发器】— 时序图2022-04-20 21:00:16

    一个非阻塞赋值可以综合成一个D触发器 module test_01 ( input clk, input rst_n, input in_01, output reg out_02 ); always@(posedge clk or negedge rst_n)begin if(rst_n == 1'b0) out_02 <= 1'b0; else out_02 <= in_01;// 综合成D触发器 end endmodule  测试文件

  • 【时钟分频】— 50MHz产生12.5MHz的4分频时钟2022-04-20 11:32:25

    一、设计文件 module div_clk( input wire sclk, input wire rst_n, output wire po_div_clk ); parameter DIV_END = 8'd3; reg [7:0] div_cnt; reg div_clk_o; //div_cnt always @ (posedge sclk or nege

  • HDLbits Sequential Logic3.2.1——Latches and Filp-Flops2022-04-19 19:31:58

    1、AD 触发器是一种在时钟信号的(通常)上升沿存储位并定期更新的电路。当使用时钟控制的always块时,逻辑合成器会创建 D 触发器。AD触发器是“组合逻辑块后接触发器”的最简单形式,其中组合逻辑部分只是一条线。 创建一个 D 触发器。 module top_module ( input clk, // Cloc

  • 极速移植RT-Thread nano到新唐ARM Cortex-M23系列2022-04-17 00:01:15

    ​ 前提,安装好Keil for arm,安装好新唐pack,下载好新唐的BSP标准库文件。 新建文件夹用于存储接下来的工程文件。 本次演示采用的新唐M263A系列开发板 新建Keil工程,找到新唐目录,选择M23系列中你所使用的哪款单片机,本次选择M263KIAAE ​   ​ 可以看到只有AC6可以选择,这说明这个

  • 用FIFO实现乒乓操作,有错误丢失2022-04-11 22:00:25

    1、调用普通FIFOip核。结果,丢失数据+错误数据(顺序不对,姑且算错误把) 2、使用FWFT的FIFO核加上使用prog_full和prog_empty(不使用几乎空几乎满的话,会丢失三个数据)。结果,丢失两个数据。 3、FWFT+prog,以及case语句的always块不用clk作为触发条件 结果 可能也是因为当时仿真为了

  • 计数器阶段9 - 练习一2022-03-19 21:04:18

    题目:       把时序画的具体点:      设计关键点: (1)、需用到两个计数器,计数器cnt0 用于产生1M的soic时钟计数,系统100M,产生1M,需计数100次; 计数器cnt1用于对bit位数进行计数,需发送12bit。 (2)、增加flag_add,用于标出需要计数的阶段。 (3)、 soic 在cnt1=0和cnt1=11期间,需保持为高

  • verilog-统计n位数据中1的个数2022-03-02 10:35:27

    引言 最近在看数字IC面经,遇见一个很有趣的题目:输入一个32位的数据,判断数据中0/1的个数,如果1比0多则下一个时钟周期输出一个标志信号。 我一开始的思路是要在一个时钟周期内完成计算,应该是要用生成循环语句generate,但是平时的项目中几乎没用过这个语句,实在是不熟悉,并且如何用组合逻

  • 工业屏的液晶屏接口 常用的LCD液晶屏之中的接口定义2022-03-01 15:30:17

      工业屏的液晶屏接口中比较常用的一些LCD液晶屏接口定义是哪些?对于一些刚接触LCD液晶屏的新人或许是比较难理解,今天就借这个机会给大家普及下工业屏的液晶屏接口定义。   比较常用的一些LCD液晶屏接口定义   20PIN 单6的定义:   3.3V 3.3V   1:电源2:电源3:地4:地5:R0- 6

  • 除法器设计2022-02-25 11:59:13

    除法器的设计思路比较复杂,主要是移位,相除,将除数和被除数分别放在寄存器B,A,然后,增加一个同样位宽n的移位寄存器R,R中8‘b0作为高位,A中数据作为低位,运算过程需要2n个时钟周期,过程是这样的。 (1)第一个周期进行载入数据A;并且给出计数器减1信号,下一个周期计数器减1,表示已经进行第一次移

  • 阶段3-练习22022-02-24 22:32:59

    数din_vld 连续 持续10个时钟 ,中间有间断后,又重新开始计数,直到数到连续持续10个时钟时,才将din赋给dout,即使连续持续满了10个时钟之后,din也不会在赋给dout,只在第一个连续持续满10个时钟的那一刻才将din赋给dout 1 module cnt_test( 2 clk, 3

  • rom调用的小坑2022-02-23 14:34:34

    笔者作为一名FPGA小菜,但仍然孜孜不倦的前进着(其实是被push)。再调用rom核(Distributed Memory generator)使用时,出现了一些小问题,仅已此篇博文来记录自己的写代码的沙雕日常。 总结:在给rom地址赋值时,不要使用阻塞赋值,会使得仿真时出现地址值与rom输出数据值同步的情况,而不是正常的

  • 门控时钟和时钟使能2022-02-22 09:31:22

    在FPGA设计中,我们经常会使用分频的方法来得到一个我们需要的时钟频率,而在很多开发板厂家配套的教程里,他们常常会使用计数器分频得到的高低电平时钟来当做驱动时钟,这种方法简单易懂,但是,在工程设计中,这种方法是不被允许的。 门控时钟 门控时钟就是使用计数器和逻辑门翻转来产生的时

  • AS5600 磁编码器的调试经验2022-02-21 18:31:21

    AS5600 磁编码器的调试经验 1. 硬件2. GPIO功能清单3.软件寄存器4.软件代码 1. 硬件 购买了淘宝上的磁编码器如图所示 原理图大概如图 2. GPIO功能清单 只对使用到的GPIO做说明 电源GND和VCC 接3.3或者5V的电压,板子上将两个连在了一起。可以同时兼容两个电压SCL和SDA

  • 14_基于FPGA的DSS与嵌入式逻辑分析仪的调用2022-02-20 17:35:01

    14_基于FPGA的DSS与嵌入式逻辑分析仪的调用 实验原理 DDS的原理 DDS(Direct Digital Frequency Synthesizer)直接数字频率合成器,也可叫DDFS。 DDS是从相位的概念直接合成所需波形的一种频率合成技术。 不仅可以产生不同频率的正弦波,而且可以控制波形的初始相位。 DDS原理框图

  • 03_基于FPGA的LED流水灯原理2022-02-20 17:03:43

    LED流水灯原理 实验原理 LED(Light Emitting Diode) 发光二极管,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光;它是正向导通(正极到负极)反向截止(负极到正极)的器件。对于直插式LED,长脚为正极,短脚为负极.对于贴片式LED,有绿点的一端为负极。 在正常工作

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有