自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 SDRAM控制器驱动开发笔记(第一讲)

本笔记为个人学习笔记,参照邓堪文老师的教程完成,有需要的同学可按照老师视频结合我的笔记来一起理解。

2023-10-04 13:54:05 62 1

原创 基于Xlinx黑金ax309的VGA驱动模块设计

VGA 接口不但是CRT 显示设备的标准接口,同样也是 LCD 液晶显示设备的标准接口,具有广泛的应用范围。上面也已经说了,我们是由逐行扫描形式进行,那么每一行都要经历以下的各阶段变化,而每阶段大概占用多少的像素数在上面有所显示。设备上查看原理图:以黑金Xlinx的AX309开发板举例,其原理图的VGA部分即:(其他开发可查询相关的VGA部分原理图)来到ISE Design14.7,创建一个新工程:以下为具体的模块及封装,在说明书pdf的模块下都是有显示的。顶层模块代码中,需要添加驱动模块的例化语句;

2023-10-04 13:39:56 209 2

原创 HDL Bits(Finite state machines部分1~7题)

的相关理解,大概是该单热状态机的逻辑语言只需要用assign赋值表示时,可具有更简单的逻辑,达到仅通过一个状态位来判断状态。下面是具有一个输入、一个输出和四个状态的Moore状态机的状态转换表。下面是具有一个输入、一个输出和四个状态的Moore状态机的状态转换表。使用以下状态编码:A=2'b00, B=2'b01, C=2'b10, D=2'b11。我的经验来看,就是一个always(*)case模块,一个always@(clk)模块,一个assign赋值模块;第七题:本题大意与上题相同,但使用异步复位。

2023-09-30 16:51:25 52

原创 HDLBits(More circuits部分)

有一个一维的单元格数组(打开或关闭)。在每个时间步,每个单元格的下一个状态是该单元格当前两个相邻单元格的异或。可以直接去大佬的文章下观看学习!正确答案:使用卡诺图分析得出。

2023-09-26 09:09:53 58

原创 HDLBits(Shift register)部分答案及解析

有没有一种可能,本题需要你尝试一下数字的翻转,比如向右旋转,是q99变成了q[0],然后是q[98:0]这样;向左便是q[0]变成了q[99],然后q[99-1]挪到一边;这道题我并不明白含义,去找了一份大佬的答案来尝试理解,大概是在0,1,21的时候,在32,22,1,的前一位的时候将该值和q[0]异或,q[31]时将q[0]和0异或。load:用数据[63:0]加载移位寄存器,而不是移位。load:用数据[3:0]加载移位寄存器,而不是移位。ena:右移(q[3]变为零,q[0]移出消失)。

2023-09-24 15:23:28 390 1

原创 HDL Bits(Counters答案)

每个十进制数字用4位编码:q[3:0]是个位数,q[7:4]是十位,等等。然后即秒个位(ena2_ss)、秒十位(ena1_ss)、分个位(ena2_mm)、分十位(ena1_mm)的逻辑编写,大同小异,都是在前一个位数满足跳变的基础上再加上ena电平给这个判断成功条件;第二个else if是复位信号,当q[3:0]==9时(注意4'd9指的是该位为4bits,d指的是十进制,9为十进制中的9)。c_enable, c_load, c_d[3:0]进入提供的4位计数器的控制信号,因此可以验证正确的操作。

2023-09-23 14:12:58 123 1

原创 HDL Bits Modules部分答案

一个add16模块计算加法结果的下16位,而第二个add16模块在接收到第一个加法器的执行后计算结果的上16位。在本练习中,创建模块mod_a的一个实例,然后将模块的三个引脚(in1、in2和out)连接到顶级模块的三个端口(导线a、b和out)。模块是一个通过输入和输出端与外部交互的电路,相对复杂的电路也是由规模较小的电路模块相互组成来实现的,这形成了一个层次结构,因为模块可以包含其他模块的实例。子模块为层级较低的已设计好的电路模块,我们需要在更高一级的模块里调用该模块时,使用的语句便是例化语句。

2023-09-20 10:45:24 107 1

原创 HDL Bits答案汇总(Vectors部分)

当我们使用[3:0]来声明这个向量的端序时,就不要使用其他任何端序来表示这个向量,如[0:3]\[7:5]...我们必须严格按照开始设定的端序去写,这样就能保证你的代码不会出现奇怪的bug。构建一个具有两个3位输入的电路,用于计算两个向量的位或、两个向量的逻辑或和两个向量的逆(NOT)。将b的倒数放在out_not的上半部分(即bits[5:3]),将a的倒数放在下半部分。这里还有很多关于向量的笔记和可注意的点,不一一总结,大家可以打开有道翻译,认真理解是可以掌握的。out_and: 4输入与门的输出。

2023-09-17 16:19:49 162 1

原创 HDL Bits答案汇总(Basic部分)

这题看简介有些繁琐,大概意思是:当我们需要多个赋值语句来完成图中的要求时,他们在代码中出现的顺序并不重要。与编程语言不通的事,赋值语句(“连续赋值”)旨在描述事物间的练习,而非将数值复制拷贝的行为。随着电路的复杂化,有时需要使用wire来方便变量间的连接。同或是异或的相反情况,异或符号为^,所以同或为~(a^b);不使用&&,他们两个间的区别是&&为逻辑与,&为二元与,本题只需要使用二元与符号。简单的非门:即输出out为输入in的非,应使用~符号;简单与门:即输出out为输入in的与,应使用&符号;

2023-09-14 18:59:07 191 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除