初次接触硬件设计相关的东西,对学习过程进行一下记录。

首先根据书上内容设计了一个简单的二选一选择器

Verilog代码如下:

module mux2_1 #(
parameter DW = 32    //位宽
)(input    [DW-1:0]    data_in0,        input    [DW-1:0]    data_in1,        input     sel,  output    [DW-1:0]    data_out      );wire    sel_in0;wire    sel_in1;assign    sel_in0 = (sel==1'b0);assign    sel_in1 = (sel==1'b1);assign    data_out = {DW{sel_in0}}&data_in0 | {DW{sel_in1}}&data_in1;endmodule

后仿造2选1多路选择器,用Verilog对4选1多路选择器进行建模。

题目如下:

要求输入分别为data_in0,data_in1,data_in2,data_in3,sel[1:0](数据的位宽请用parameter指定为DW)[PS:为养成良好的代码习惯,带我学习的大佬给我的代码提了一些要求(为了良好的代码风格,题目中的verilog文件不允许出现关键字“reg” “always” “case” “casex” “if” “else”)]

这是一个非常简单的题,根据情面2选1的例子,我们可以类推,将输入的数据提高为4个,选择信号改为2位宽度,后面的assign部分,分别将对应的编码进行设置带入即可。

Verilog代码如下:

module mux4_1 #(
parameter DW =16
)(input    [DW-1:0]    data_in0,input    [DW-1:0]    data_in1,input    [DW-1:0]    data_in2,input    [DW-1:0]    data_in3,input    [1:0] sel,output    [DW-1:0]    data_out
);wire    sel_in0;wire    sel_in1;wire    sel_in2;wire    sel_in3;assign    sel_in0 = (sel==2'b00);assign    sel_in1 = (sel==2'b01);assign    sel_in2 = (sel==2'b10);assign    sel_in3 = (sel==2'b11);assgin    data_out = ({DW{sel_in0}}&data_in0) | ({DW{sel_in1}}&data_in1) | ({DW{sel_in2}}&data_in2) | ({DW{sel_in3}}&data_in3);endmodule

算是写的第一个Verilog代码,如果哪里有错误,欢迎指正,太菜,勿喷。

Verilog学习日志(4选一多路选择器)相关推荐

  1. Verilog数字系统设计——4 选1 多路选择器

    Verilog数字系统设计--4 选1 多路选择器 题目 试分别使用assign.门级原语和always 语句设计4 选1 多路选择器,并写出测试代码进行测试.要求编制测试模块对实现的逻辑功能进行完整 ...

  2. Verilog练习笔记(四选一多路选择器)

    制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换: d0    11 d1    10 d2    01 d3    00 信号示意图: 波形示意图: 输入描述: 输入信号   d1,d ...

  3. Verilog门级实现二选一多路选择器

    使用门级电路实现1位二选一多路选择器. 通过真值表设计电路: 使用Verilog门级实现: module MUX2X1(A0,A1,S,Y);//命名 input A0,A1,S;//输入,全部为1位 ...

  4. 跟着小梅哥初学FPGA ,vivdao开发平台,二选一多路选择器。

    今天正式开始自己的FPGA自学之路,由于导师项目需要,xilinx ZYNQ 7系列的板子,vivado软件平台进行开发,所以自己也直接学习vivado软件开发的板子,我自己学习所用的开发板是xili ...

  5. FPGA零基础学习:基于FPGA的多路选择器设计(附代码)

    FPGA零基础学习:基于FPGA的多路选择器设计(附代码) 大侠好,欢迎来到FPGA技术江湖.本系列将带来FPGA的系统性学习,从最基本的数字电路基础开始,最详细操作步骤,最直白的言语描述,手把手的& ...

  6. FPGA _Verilog HDL_8选一多路选择器设计

    一.题目 熟悉QuartusII软件,并设计一个8选1多路选择器,并完成其仿真波形图(贴图). 二.源代码 //-------------------------------------------- ...

  7. 四选一多路选择器MUX41a

    四选一多路选择器的代码如下,保存路径不能有中文!! 文件名保存为模块名. (Cyclone III-----EP3C40Q240C8) 编译无错误后: File-New-VMF Edit--Inser ...

  8. 利用Block Design在Vivado实现三位四选一多路选择器

    一.要求:利用Block Design设计一个三位 4 选 1 多路选择器电路 二.实验原理: 真值表: Block Design原理图 三.设计过程 Block Design 将自己编写的与门,非门 ...

  9. FPGA刷题P1:4选1多路选择器、异步复位的串联T触发器、奇偶校验、移位拼接乘法

    牛客网上面有FPGA的刷题平台,打算暑假把上面的题刷了,代码思路给大家分享 目录 4选1多路选择器 异步复位的串联T触发器 奇偶校验 移位拼接乘法 位拆分与运算 4选1多路选择器 这道题用组合逻辑,s ...

最新文章

  1. 标准自编码器(TensorFlow实现)
  2. Spring Aop 常见注解和执行顺序
  3. 给定没有重复数字的序列,将其全排列
  4. 验证occ和vtk整合工作的demo
  5. PostgreSQL 当月最后一天的工作日 , 计算日期是星期几
  6. 从头开始搭建一个mybatis+postgresql平台
  7. Chrome浏览其中,关闭窗口js无效.(window.close())
  8. 64位装32位oracle软件,在64位linux下安装32位oracle软件
  9. html怎么设置波浪线,前端基础学习-css实现波浪线及立方体
  10. android radiogroup 底部菜单,Android底部菜单栏(RadioGroup+Fragment)美化
  11. c语言线程原理,线程池的原理和实现c语言
  12. VSD Viewer for Mac(Visio绘图文件阅读器)
  13. python向excel删除数据_python 操作 excel 系列之:数据清洗
  14. python元组元素的提取_Python 元组
  15. Android App 安全登录认证解决方案
  16. JavaScript debugger调试
  17. 伺服电机驱动器编程用c语言吗,伺服电机如何编程
  18. iphone13到底香不香,真的这么难抢?
  19. js语法+dom+js图片库+最佳实践+图片库改进版
  20. 第60天:攻防世界Mobile两道题

热门文章

  1. 暖通空调知识:机房制冷技术之蓄冰槽的安装
  2. 手机qq浏览器支持html5,手机QQ浏览器三大法宝助HTML5开发者成功
  3. JAVA:输出直角三角形
  4. 联发科MT6589 eMMC中三个partition大小设定方法解析
  5. 让你立刻爱上数学的8个算术游戏
  6. 递归法求解简单选择排序
  7. 【Linux操作系统】——安装VMware
  8. linux and windows 双系统启动(详细情况分类说明)
  9. 戴尔服务器t440安装系统,戴尔_PowerEdge T440_塔式服务器_网络存储服务器_服务器 | Dell 中国大陆...
  10. Netty:高性能之道