摘要:
1 现象: 仿真在140ns位置处,时钟clk上升沿一来,data_in和data_in_reg同步变化? 但是,data_in_reg为寄存器,它与数据源data_in同时变化,这与寄存器赋值会有一拍延时相矛盾。例如:cnt与data_out两个信号,data_out比cnt延时一拍。 2 原因 阅读全文
摘要:
1 74ls148简介 74ls148是8线-3线优先编码器,将 8 条数据线(0-7)进行 3 线(4-2-1)二进制(八进制)优先编码,即对最高位数据线进行译码。利用选通端(EI)和输出选通端(EO)可进行八进制扩展。 2 74ls148管脚图和逻辑图 管脚介绍 0-7 编码输入端(低电平有效) 阅读全文
摘要:
1 现象 2 原因 在编译之后,警告中“hierarchies”,一般情况下是例化时出现的问题。一般例化时,要是哪个连线没引出,没接上,或者是位宽不匹配就会出这个警告。 3 解决 点击图中的工具栏 compilation report,然后在Analysis & Synthesis 文件中找到 co 阅读全文
摘要:
1 项目介绍 在显示温度、电压、电流等数据时,通常需要将二进制数据转换成十进制进行显示。最常用的方法是将二进制转换成BCD码(8421)。 对于一个两位的数值,对10取除可以得到其十位的数值,对10取余可以得到个位的数值。对于Verilog来说它的标准是支持除法和取余运算的,综合器也会有IP可以进行 阅读全文
摘要:
1 设计要求 以蜂鸣器演奏《世上只有妈妈好》的片段为例,用FPGA设计一个乐曲演奏系统。 2 设计原理 2.1 蜂鸣器的结构原理 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分 阅读全文
摘要:
1 设计要求 设计一个4位二进制数乘法器,采用查找表实现(这里将高位宽的数据分解成低位宽的数据再调用查找表乘法器)。 2 设计分析 2.1 架构设计 4位乘法器的框图如下图所示。其中,clk为系统时钟,rst_n系统复位,低电平有效,a[3:0]为被乘数,b[3:0]为乘数,out[7:0]为积。 阅读全文
摘要:
1. 设计要求: 设计一个4位二进制数乘法器,采用查找表实现。 2. 设计分析 2.1 架构设计 4位乘法器的框图如下图所示。其中,a[3:0]为被乘数,b[3:0]为乘数,m[7:0]为积,即乘法结果。 2.2 查找表 查表法,就是建一个表,里面存放了所有的乘法结果,乘数和被乘数用来作为地址去里面 阅读全文
摘要:
1. 现象如下所示: 2. 分析原因: 使用Modelsim仿真时,找不到"rom_mult_4bit.mif"文件。在Quartus中,调用ROM_IP核,生成的.v文件使用的是相对路径,如下图所示。Modelsim找不到该路径。 3. 解决方法: 注意:绝对路径中斜杠的方向。 参考资料: (1) 阅读全文
摘要:
1. Quartus创建的mif文件 2. 用MATLAB生成mif文件——基于查找表的4位乘法器设计 1 clear all;clc;close all; 2 depth = 256; %存储器的深度 3 width = 8; %存储器的宽度 4 fid = fopen('rom_mult_4bi 阅读全文
摘要:
1. 设计要求 按键按下,蜂鸣器要“叮”一声。 2. 设计分析 该设计方案采用野火征途MiNi FPGA开发板(intel-Cyclone IV -EP4CE10F17C8)实现,利用开发板的按键做输入设备,无源蜂鸣器做输出设备。硬件连接图如下图所示: 开发板晶振为50MHz,提供系统时钟信号,复位 阅读全文