CUMT学习日记——Verilog课程学习全记录
CUMT学习日记——Verilog课程学习全记录
系列第一篇 计算机网络复习
系列第二篇 计算机组成原理复习
系列第三篇 微机原理与接口技术复习
系列第四篇 计算机操作系统复习
系列第五篇 数据库原理复习
系列第六篇 数字系统设计基础(VHDL)复习
系列第七篇 单片机原理及应用复习
系列第八篇 信号与系统复习
系列第九篇 算法导论复习
系列第十篇 Verilog复习
文章目录
- CUMT学习日记——Verilog课程学习全记录
- 一、Verilog复习回忆
- 二、笔记
- 练习代码
- 八位二进制加法器
- 两位BCD码加法器
- parameter传参乘法器
- 异步清零同步使能、置数带进位位十进制计数器
- 十分频器
- 五分频50%占空比
- 异步置数异步清零右移移位寄存器
- 写在最后
一、Verilog复习回忆
Verilog复习得很早,因为疫情,考试前一个月就复习完了,等真正考试要复习的时候相当于又重新学了一遍,在有VHDL的基础后学得很快,而且课程内容不多,只有20个课时,主要还是领着大家入门而已。刚考完试,但考题没有什么参考意义,因为做了比较全面的复习,考试的内容或多或少复习过,虽然也有一些遗憾,有些知识点不是很深刻,不过已经考完就不重要了。
考前复习编程题的时候是直接在QuartusII上编程的,这样复习很有效。
二、笔记
练习代码
八位二进制加法器
module kaoshi (input[7:0] a,input [7:0] b,input cin,output[7:0] dout,output cout);
wire[8:0]data;
assign data=a+b+cin;
assign dout=data[7:0];
assign cout=data[8];
endmodule
两位BCD码加法器
module kaoshi (input[7:0]a,input[7:0]b,output reg[8:0]d);
wire[4:0]DT0,DT1;
reg s;
assign DT0=a[3:0]+b[3:0];
always@(DT0)begin
if(DT0>=5'b01010) begin d[3:0]=DT0+'b0110;s=1'b1;end
else begin d[3:0]=DT0; s=1'b0;end
end
assign DT1=a[7:4]+b[7:4]+s;
always@(DT1)begin
if(DT1>=5'b01010) begin d[8:4]=DT1+'b0110;end
else begin d[8:4]=DT1; end
end
endmodule
parameter传参乘法器
module MUL #(parameter s)(output reg[2*s:1]R,input[s:1]A,input[s:1]B);
reg [2*s:1]AT;
reg [s:1]BT,CT;
always@(A,B)begin
R=0;
AT={{s{1'b0}},A};
BT=B;
CT=s;
for(CT=s;CT>0;CT=CT-1)begin
if(BT[1]) R=R+AT;
AT=AT<<1;
BT=BT>>1;
end
end
endmodulemodule kaoshi(output[15:0]dout,input[7:0]in1,input[7:0]in2);
MUL #(.s(8)) U1(.R(dout),.A(in1),.B(in2));
endmodule
异步清零同步使能、置数带进位位十进制计数器
module kaoshi(input clk,input rst,input en,input load,output reg cout,output[3:0]dout,input[3:0]data);
reg[3:0]Q1;always@(posedge clk,negedge rst)begin
if(!rst)Q1<=0;
else if(en)beginif(load)Q1<=data;else if(Q1<9) Q1<=Q1+1;else Q1<=4'b0000;end
end
assign dout=Q1;
always@(Q1)begin
if(Q1==4'b1001)cout=1'b1;
else cout=1'b0;
end
endmodule
十分频器
module kaoshi(input clk,output reg div);
reg[3:0]cnt;
always@(posedge clk)begin
if(cnt==4)begin div<=~div;cnt<=1'b0;end
else cnt<=cnt+1;
end
endmodule
五分频50%占空比
module kaoshi(input clk,output div);
reg[3:0]cnt1,cnt2;
reg div1,div2;
always@(posedge clk)begin
if(cnt1==1)begin div1<=1'b1;cnt1<=cnt1+1'b1;end
else if(cnt1==4)begin div1<=1'b0;cnt1<='b0;end
else cnt1<=cnt1+1'b1;
end
always@(negedge clk)begin
if(cnt2==1)begin div2<=1'b1;cnt2<=cnt2+1'b1;end
else if(cnt2==4)begin div2<=1'b0;cnt2<='b0;end
else cnt2<=cnt2+1'b1;
end
assign div=div1&div2;
endmodule
异步置数异步清零右移移位寄存器
module kaoshi (input clk,input load,input rst,input [7:0]data,output cout,output [7:0]dout);
reg [7:0]Q;
always@(posedge clk,negedge load,posedge rst)begin
if(!load) Q<=data;
else if(rst) Q<='b0;
else begin Q<=(Q>>1);end
end
assign cout=Q[0];
assign dout=Q;
endmodule
写在最后
感觉fpga这条路很复杂啊,就现在这点东西实际上门都没入,不知道未来会干什么。
CUMT学习日记——Verilog课程学习全记录相关推荐
- 【学习日记】初次使用golang记录
[学习日记]初次使用golang记录 前言 初次使用后感 安装 工作目录设置 go换源 附上这个压缩图片的小demo 前言 有个需求是图片上传的功能,上传后想压缩一下,无奈php图片处理效率太低.于是 ...
- 正则表达式学习日记_《学习正则表达式》笔记_Mr_Ouyang
正则表达式学习日记_<学习正则表达式>笔记_Mr_Ouyang 所属分类: 正则表达式学习日记 书名: 学习正则表达式 作者: Michael Fitzgerald 译者 ...
- Python学习日记-pandas操作学习
Python学习日记-pandas模块学习 根据需求筛选数据 绘制柱状图-利用pandas绘制 绘制柱状图-利用matplotlib绘制 绘制柱状图-两组数据比较 绘制柱状图-叠加柱状图 绘制饼状图 ...
- 计算机网络课学习心得,计算机网络课程学习心得
计算机网络课程学习心得 计算机网络课程学习心得 除笔试外,还采取机试综合大作业.小组课题设计等考试形式,客观地反映学生对所学知识的把握程度. 计算机络学习心得1:计算机络课程学习心得(4199字) 通 ...
- 暑期学习日记34:js全选功能
今天学习了使用js实现全选功能,点击全选的复选框后会将下面所有的复选框变为被选择状态. 代码如下: <!doctype html> <html> <head> &l ...
- 计算机课程学习小结,计算机课程学习心得5篇___.docx
计算机课程学习心得5篇___ 计算机技术的进展,促进了教学媒体的开发和利用,训练资源和资料能得到共享.在教学上应用计算机,能向同学供应更多的.更现代化的科学学问和技能训练,让同学对学习有更多的选择,使 ...
- 学习日记·C语言学习-函数
目录 一函数的基础知识 二传值和传地址 三传地址 四函数的传出传入参数 五命令行参数(主函数参数) 六使用注意事项 七函数指针 八函数指针数组及指针复杂声明 九复杂指针的声明 十可变参数 1.函数基础 ...
- 学习日记2020-11-23论文学习
Attentive Feedback Network for Boundary-Aware Salient Object Detection. 1.Attentive Feedback Network ...
- CUMT学习日记——ucosII理论解析—任哲版教材
CUMT学习日记--ucosII课程学习全记录 系列第一篇 计算机网络复习 系列第二篇 计算机组成原理复习 系列第三篇 微机原理与接口技术复习 系列第四篇 计算机操作系统复习 系列第五篇 数据库原理复 ...
最新文章
- Java入门学习注意事项有哪些?
- 视频剪辑软件调研分析
- solr 启动时指定 solr.home
- CodeForces 1361E James and the Chase(dfs + 结论)
- 数字图像处理学习笔记(一):特征检测和匹配概述
- 白话经典算法系列之——希尔排序的实现
- Android极光推送
- 2017年浙江中医药大学大学生程序设计竞赛(重现赛)D - CC的神奇背包
- 【深度优先搜索/树】计蒜客:族谱
- 计算机中word繁体字转简体字,word简繁体怎么转换的两种方法
- 广告联盟的广告分类CPM、CPC、CPA、CPS分别代表什么?
- What The F**k Python!!!
- Okra框架(一) 简介
- Python之水仙花数问题解决
- tf.multiply()
- 圣天诺 LDK - SL (高强度许可证授权产品)
- 树莓派模块化编程之TM1637驱动四位数码管
- 彻底解密C++宽字符
- java鸡兔同笼_java 鸡兔同笼问题
- icloud 照片导出_我的照片流和iCloud照片之间有什么区别?
热门文章
- ubuntu安装与配置,pytorch-gpu+cuda+cudnn+anaconda+pycharm
- 使用python实现智能浇筑方案
- 最大边缘相关多样性算法MMR的学习和实现
- 超新星计算机网络技术就业方向,超新星网络影响力榜单:林彦俊第三,蔡徐坤跌至第二,第一力压登顶...
- 图文一键生成短视频工具
- 中关村GHOST XP SP3纯净装机自选CD版2011V3(NTFS)
- oracle begin exception end,Oracle Exception异常处理
- Google 提供官方的 adb / fastboot 独立工具包[Win/macOS/Linux]
- 变革中的微软:裁员7800人,对诺基亚业务减记76亿美元
- 美学评价:Image Aesthetic Assessment: An Experimental Survey(计算机视觉美学评估综述)