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课程学习全记录相关推荐

  1. 【学习日记】初次使用golang记录

    [学习日记]初次使用golang记录 前言 初次使用后感 安装 工作目录设置 go换源 附上这个压缩图片的小demo 前言 有个需求是图片上传的功能,上传后想压缩一下,无奈php图片处理效率太低.于是 ...

  2. 正则表达式学习日记_《学习正则表达式》笔记_Mr_Ouyang

    正则表达式学习日记_<学习正则表达式>笔记_Mr_Ouyang 所属分类: 正则表达式学习日记  书名:     学习正则表达式 作者:     Michael Fitzgerald 译者 ...

  3. Python学习日记-pandas操作学习

    Python学习日记-pandas模块学习 根据需求筛选数据 绘制柱状图-利用pandas绘制 绘制柱状图-利用matplotlib绘制 绘制柱状图-两组数据比较 绘制柱状图-叠加柱状图 绘制饼状图 ...

  4. 计算机网络课学习心得,计算机网络课程学习心得

    计算机网络课程学习心得 计算机网络课程学习心得 除笔试外,还采取机试综合大作业.小组课题设计等考试形式,客观地反映学生对所学知识的把握程度. 计算机络学习心得1:计算机络课程学习心得(4199字) 通 ...

  5. 暑期学习日记34:js全选功能

    今天学习了使用js实现全选功能,点击全选的复选框后会将下面所有的复选框变为被选择状态. 代码如下: <!doctype html> <html> <head> &l ...

  6. 计算机课程学习小结,计算机课程学习心得5篇___.docx

    计算机课程学习心得5篇___ 计算机技术的进展,促进了教学媒体的开发和利用,训练资源和资料能得到共享.在教学上应用计算机,能向同学供应更多的.更现代化的科学学问和技能训练,让同学对学习有更多的选择,使 ...

  7. 学习日记·C语言学习-函数

    目录 一函数的基础知识 二传值和传地址 三传地址 四函数的传出传入参数 五命令行参数(主函数参数) 六使用注意事项 七函数指针 八函数指针数组及指针复杂声明 九复杂指针的声明 十可变参数 1.函数基础 ...

  8. 学习日记2020-11-23论文学习

    Attentive Feedback Network for Boundary-Aware Salient Object Detection. 1.Attentive Feedback Network ...

  9. CUMT学习日记——ucosII理论解析—任哲版教材

    CUMT学习日记--ucosII课程学习全记录 系列第一篇 计算机网络复习 系列第二篇 计算机组成原理复习 系列第三篇 微机原理与接口技术复习 系列第四篇 计算机操作系统复习 系列第五篇 数据库原理复 ...

最新文章

  1. Java入门学习注意事项有哪些?
  2. 视频剪辑软件调研分析
  3. solr 启动时指定 solr.home
  4. CodeForces 1361E James and the Chase(dfs + 结论)
  5. 数字图像处理学习笔记(一):特征检测和匹配概述
  6. 白话经典算法系列之——希尔排序的实现
  7. Android极光推送
  8. 2017年浙江中医药大学大学生程序设计竞赛(重现赛)D - CC的神奇背包
  9. 【深度优先搜索/树】计蒜客:族谱
  10. 计算机中word繁体字转简体字,word简繁体怎么转换的两种方法
  11. 广告联盟的广告分类CPM、CPC、CPA、CPS分别代表什么?
  12. What The F**k Python!!!
  13. Okra框架(一) 简介
  14. Python之水仙花数问题解决
  15. tf.multiply()
  16. 圣天诺 LDK - SL (高强度许可证授权产品)
  17. 树莓派模块化编程之TM1637驱动四位数码管
  18. 彻底解密C++宽字符
  19. java鸡兔同笼_java 鸡兔同笼问题
  20. icloud 照片导出_我的照片流和iCloud照片之间有什么区别?

热门文章

  1. ubuntu安装与配置,pytorch-gpu+cuda+cudnn+anaconda+pycharm
  2. 使用python实现智能浇筑方案
  3. 最大边缘相关多样性算法MMR的学习和实现
  4. 超新星计算机网络技术就业方向,超新星网络影响力榜单:林彦俊第三,蔡徐坤跌至第二,第一力压登顶...
  5. 图文一键生成短视频工具
  6. 中关村GHOST XP SP3纯净装机自选CD版2011V3(NTFS)
  7. oracle begin exception end,Oracle Exception异常处理
  8. Google 提供官方的 adb / fastboot 独立工具包[Win/macOS/Linux]
  9. 变革中的微软:裁员7800人,对诺基亚业务减记76亿美元
  10. 美学评价:Image Aesthetic Assessment: An Experimental Survey(计算机视觉美学评估综述)