
fpga
文章平均质量分 71
青春不常在,
思路决定出路
展开
-
verilog有符号数和无符号数的计算
有符号和无符号数在电路设计中肯定会使用到有符号数无符号数的运算,今天简单说说具体怎么使用有符号数无符号数进行运算,这里以减法为例。我们知道计算机运算都是以二进制的形式进行的,不过遇到负数,通常用二进制补码来表示。如下代码,我们需要计算 a - b 的值`timescale 1ns/1psmodule signed_num ( input [15:0] a , input [15:0] b ,原创 2021-11-11 10:28:22 · 2859 阅读 · 0 评论 -
generate for使用记录
generate for当使用for循环的时候,即将电路复制很多次的时候,可以使用generate for语句。注意:这是物理上的展开,在RTL 代码编译时候就完成展开。我在项目中需要用的将8个16bit数据拼接成一个 128bit数据。1、一种方法是直接使用位拼接运算符assign data_out[127:0] = {array[7],array[6] ... array[0]};这样子肯定可以完成功能,但是如果需要很多数据拼接,我们不可能一直写下去。2、所以这里采用generate fo原创 2021-11-11 09:40:51 · 409 阅读 · 0 评论 -
modelsim脚本仿真
modelsim脚本仿真modelsim软件应该是FPGA开发,数字IC设计上必不可少的仿真工具,那么会用脚本也是很重要的技能。这里对modelsim脚本仿真做一个记录,方便以后查阅。# 退出当前仿真quit -sim# 创建一个新的 work 库vlib work# 将目前的逻辑工作库work和实际工作库work映射对应vmap work work# 编译文件vlog ./../src/*.vvlog ./../sim/*.v# 无优化simulation原创 2021-10-04 20:58:39 · 669 阅读 · 1 评论 -
红帽系统上面安装及使用Design Compiler综合工具
一、VMware 虚拟机安装第一步比较方面,直接去官网安装虚拟机即可,这里使用的是Vmware workstation pro 14版本。二、红帽系统下载和安装带有DC工具的红帽系统下载链接. 密码是127i。下载之后里面有很多压缩包,加压缩如下:然后打开安装好的VMware,添加虚拟机,我们把虚拟机配置文件Design.vmx添加进去,然后会出现登录界面,直接输入密码1234就可以登录成功了。共享文件夹点击工具栏中的虚拟机,设置,选项里面启用共享文件夹,只需要把windows系统里面的文件原创 2021-08-06 09:56:21 · 4463 阅读 · 14 评论 -
FPGA verilog基本外设练习(六)- 以太网通信模块
以太网模块1、实验任务上位机通过网口调试助手发送数据给FPGA,FPGA开发板通过以太网接口接收数据,并将接收到的数据发送给上位机,完成以太网数据的环回。2、程序设计系统框图通过以太网相关协议和MII接口可知,我们只需要把数据封装成以太网包的格式通过MII接口传输数据即可。根据实验任务,以太网环回实验应该有一个以太网接收模块和发送模块,因为发送模块里面有CRC校验,还需要一个以太网发送CRC校验模块;为了在其他工程方便的调用以太网的程序以提高想项目的开发效率,我们把上面的三个模块封装成一个UDP原创 2021-05-03 23:11:28 · 4740 阅读 · 0 评论 -
FPGA verilog基本外设练习(五)-串口通信
串口UART今天主要记录一下使用黑金开发板EP4CE6F17C8型号的串口的经历。因为这块黑金开发板只有usb转串口,所以实验使用的是USB转串口的通信。如下图:一、任务:采用串口调试助手发送指令控制开发板上面的LED0打开和关闭。二、实现的RTL图如下:三、代码实现过程1、顶层模块uart_topmodule uart_top( input sys_clk, //外部50M时钟 input sys_rst_n,原创 2021-05-01 23:37:22 · 1342 阅读 · 3 评论 -
HDLbits笔记-Finite State Machines
这一模块中前面的相对简单,所以没有进行记录。主要注意同步复位还是异步复位即可,具体关于同步复位和异步复位的比较请见之前的博客链接: 同步复位异步复位的比较.Fsm3题目:实现以下状态的转换。注意异步复位。。。module top_module( input clk, input in, input areset, output out); // reg [1:0] state,next_state; parameter A = 2'b00;原创 2021-04-20 22:22:54 · 407 阅读 · 0 评论 -
HDLbits笔记-More Circuits
Rule90题目:Rule 90是一个一维的有趣的元胞自动机。规则很简单,在每一个时间步长,每一个元胞的下一个状态为与这个元胞相邻两个元胞的异或。规则如下表:module top_module( input clk, input load, input [511:0] data, output [511:0] q ); integer i; always@(posedge clk)begin if(load)原创 2021-04-18 23:07:13 · 456 阅读 · 2 评论 -
HDLbits笔记-Counters
Counter 1-12题目:使用下面的输出设计一个1-12的计数器。1、Reset 同步高电平复位,复位之后计数器为1;2、Enable为高电平计数器开始运行;3、Clk 上升沿有效;4、Q[3:0]作为计数器的输出;5、c_enable,c_load,c_d[3:0] 由4-bit计数器提供的控制信号,这样可以验证操作的正确性;你可以使用下面的组件:4-bit计数器,带有Enable使能和同步parallel-load输入的信号。(load的优先级要高于enable)。这个count4模原创 2021-04-10 19:55:13 · 596 阅读 · 0 评论 -
FPGA verilog 内部存储器SDRAM的使用
SDRAM使用模块功能:实现SDRAM存储128M字节的数据,并且其它模块每来一个使能信号,可以从SDRAM中读出1024个字节的数据,通过Signal Tap 观察读出的数据是否等于写入的数据。SDRAM介绍以及引脚时序图本人在第一次使用SDRAM存储器时,觉得下面这一篇博客整理的很详细,反复阅读了几遍,在这里引用一下:链接: https://blog.youkuaiyun.com/caihaitao2000/article/details/79875609.博客对SDRAM的概念以及内部结构、怎么写入、读原创 2021-04-04 23:08:05 · 1825 阅读 · 2 评论 -
FPGA verilog基本外设练习(二)
FPGA verilog基本外设练习(二)前面一节()讲述了PLL锁相环分频以及倍频的具体配置流程,那么在我们的工程项目中,有时考虑到设计方案,比如要更节约资源,减少面积的使用,需要我们自己做一个分频器,那也不在话下!(注意如果需要倍频就只能用PLL了)...原创 2020-11-05 14:08:56 · 373 阅读 · 0 评论 -
FPGA verilog基本外设练习(三)
FPGA verilog基本外设练习(三)RAM IP核的使用 、SignalTap 使用流程在做工程项目时候,难免需要存储很多数据,那么RAM, ROM就是我们需要用到的,这是一个对RAM和ROM比较详细的介绍,比较懒,直接给出链接https://www.cnblogs.com/uiojhi/p/9469307.html。今天主要介绍一下RAM ip核的配置。具体过程在之前的博客已经给出非常详细的步骤,这里直接生成单端口RAM。我发现自己对SignalTap使用不熟练,有很多步骤不知道先后顺序,所以这原创 2020-10-24 23:58:07 · 506 阅读 · 0 评论 -
FPGA verilog基本外设练习(一)
最近准备系统练习一下FPGA的基础知识,做一个简单的学习记录。使用开发板为黑金开发板(ALTREA EP4CE6F17CBN),仿真软件为quartus 13.0 和 modelsim10.4。前面学习过led 按键 和数码管,有机会再把学习记录补上,今天主要练习PLL锁相环。(因为想要系统练习一下,方便以后查看,所以步骤可能记录的比较详细,哈哈)PLL倍频输出一、创建工程新建文件夹如下,用来存放我们之后的文件,分类明确。工程路径和工程名称。创建完工程之后,添加PLL IP核:原创 2020-10-23 22:27:25 · 1393 阅读 · 0 评论