verilog
luoganttcc
微信:luogantt
展开
-
verlog 按键 led
verlog 按键 led原创 2022-12-06 16:14:18 · 69 阅读 · 0 评论 -
Verilog中 高位与低位
Verilog中信号定义位宽的一些问题总是被Verilog中信号定义位宽的问题所困扰:可以看到data1和data2最后的赋值结果都是一样的,但是注意到最高位和最低位的顺序不一样 data1 最高位是7,最低位是0 ,data2最高位是0 最低位是7 data1[7:0] data2[0:7]一般的数 二进制下 最左边为最高位,最右边为最低位,如:1001十进制为 9,所以声明信号赋值时习惯写成 wire[3:0] data; assign data = 3’b1001;这样最高位到原创 2022-12-06 15:09:57 · 3902 阅读 · 0 评论 -
reg[0:3] 与reg[3:0] 流水灯
reg [0:3] led 当定义 led原创 2022-12-06 15:06:35 · 172 阅读 · 0 评论 -
verilog HDL中定义位宽到底是[高位:0]还是[0:高位] 为什么看到了两种写法
两种都可以[高位:0]为降序表示,即高位在前,低位在后[0:高位]为升序表示,即低位在前,高位在后使用时哪种方便用哪个,习惯而已原创 2022-12-06 14:58:52 · 182 阅读 · 0 评论 -
verilog语法进阶
link转载 2022-12-05 20:48:48 · 68 阅读 · 0 评论 -
计算机组成原理:加法器
上一讲,我们看到了如何通过电路,在计算机硬件层面设计最基本的单元,门电路。我给你看的门电路非常简单,只能做简单的 “与(AND)”“或(OR)”“NOT(非)”和“异或(XOR)”,这样最基本的单比特逻辑运算。下面这些门电路的标识,你需要非常熟悉,后续的电路都是由这些门电路组合起来的。这些基本的门电路,是我们计算机硬件端的最基本的“积木”,就好像乐高积木里面最简单的小方块。看似不起眼,但是把它们组合起来,最终可以搭出一个星球大战里面千年隼这样的大玩意儿。我们今天包含十亿级别晶体管的现代 CPU,都是由这样一原创 2022-06-06 20:54:01 · 3889 阅读 · 0 评论 -
Verilog数字系统设计——移位寄存器实现
link这里用例子说明较为清晰: 假如一个二进制数字是 1111100000 自循环左移 --> 1111000001 1110000011 1100000111 … 自循环右移 --> 0111110000 0011111000 0001111100 …这里用例子说明较为清晰: 带进位的循环左移RCL(Rotate Left Through Carry): 用原CF的值填补空出的位,移出的位再进入CF。 假设当前,AL=01010011B,CF=1,则 执行指令 ROL AL,1 后,AL=1原创 2022-06-06 16:15:58 · 3881 阅读 · 0 评论 -
移位寄存器原理图
所谓“移位”,就是将移位寄存器所存各位数据,在每个移位脉冲的作用下,向左或向右移动一位。根据移位方向,常把它分成左移寄存器 、右移寄存器 和双向移位寄存器三种。 输入-输出方式: 串行输入-串行输出 (serial in/serial out) 串行输入-并行输出(serial in/parallel out) 并行输入-串行输出(parallel in /serial out) 并行输入-并行输出(parallel in /parallel out) 由D触发器组成的电路,输出Q跟随D状态。 那它移原创 2022-06-05 15:43:36 · 7912 阅读 · 1 评论 -
verilog触发器
代码在git├── compile.sh├── fn├── fn_sw.v├── stimulus_tb.v├── test.vcd└── wave.lxtsh compile.sh原创 2022-05-30 16:56:11 · 390 阅读 · 0 评论 -
verilog 锁存器
├── compile.sh├── fn├── fn_sw.v├── stimulus_tb.v├── test.vcd└── wave.lxtfn_sw.v//2022-05-15 罗干//二选一逻辑设计`timescale 1ns/10ps module fn_sw(a,b,sel,y);input a,b,sel;output y;// assign y=sel?(a^b):(a&b);reg y;always@(a or b or sel )原创 2022-05-29 23:10:06 · 1190 阅读 · 0 评论 -
译码与编码
译码 是将数转化为二进制比特流编码是将二进制比特流转化成一个数原创 2022-05-27 21:32:12 · 252 阅读 · 0 评论 -
verilog实现 串口通信处理器
b站视频代码在git.├── cmd_pro.v├── compile.sh├── fn├── stimulus_tb.v├── test.vcd├── UART_RXer.v├── UART_top.v├── UART_TXer.v└── wave.lxtsh compile.sh原创 2022-05-23 22:23:19 · 210 阅读 · 0 评论 -
verilog 状态机 三角波 发生器
代码在git原创 2022-05-19 21:28:06 · 269 阅读 · 0 评论 -
verilog 秒计数器,分频器
.├── compile.sh├── sec_count.v└── stimulus_tb.v代码在gitb站视频解说sec_count.v//2022-05-18 ,罗干//秒计数器,0-9 循环;`timescale 1ns/10psmodule s_counter( clk, res, s_num, );input clk;input原创 2022-05-18 13:37:18 · 290 阅读 · 0 评论 -
verilog 四级 伪随机数发生器
代码在git.目录结构├── compile.sh├── random.v└── stimulus_tb.vrandom.v//2022-05-17//四级伪随机码发生器`timescale 1 ns/10 ps module m_gen (clk,res,y);input clk;input res;output y;reg[3:0] d; //触发器定义成reg变量;assign y=d[0]原创 2022-05-17 15:16:54 · 543 阅读 · 0 评论 -
verilog 计数器
counter.v`timescale 1 ns/10 ps module con (clk,res,y);input clk;input res;output[7:0] y;reg[7:0] y; //触发器定义成reg变量;wire[7:0] sum; //+1 运算结果assign sum=y+1; //组合逻辑部分always@(posedge clk or negedge res)if (~re原创 2022-05-17 10:16:02 · 726 阅读 · 0 评论 -
夏宇闻 verilog 二分器 代码加仿真
代码在gitmuxtwo.v`timescale 1ns/10psmodule muxtwo(out,a,b,sl);input a,b,sl;output out;reg out; always@(sl or a or b ) if (! sl) out=a; else out=b;endmodulestimulus_tb.vmodule t; reg ain ,bin,select; reg clock; wir原创 2022-05-11 00:05:55 · 240 阅读 · 0 评论 -
verilog 实战 与非门
代码在git 你可以直接 sh compile.sh来运行nandgate.v//与非门设计`timescale 1ns/10psmodule nand_gate( input A, input B, output Y ); assign Y=~(A & B);endmodulestimulus_tb.v//-------testbench of nandgate------------//与非门//罗干 2022-05-10`tim原创 2022-05-10 10:23:39 · 1004 阅读 · 0 评论 -
HDLbits刷题中文完整版,按照刷题网站顺序每日更新一道
link原创 2022-05-09 21:03:55 · 816 阅读 · 0 评论 -
verilog 实战 反向器
在这里我用的是iverilog 编译代码,用gtk来显示波形,纯linux开发inveter.v//反相起器设计`timescale 1ns/10psmodule inv( A, Y );input A;output Y;assign Y=~A;endmodule stimulus_tb.v//-------testbench of inv------------modu原创 2022-05-09 20:45:40 · 370 阅读 · 0 评论 -
Verilog 与门
module and_gate(c,a,b);input a,b;output c;assign c = a & b;endmodulemodule always_block_example;reg clk;initialbeginclk = 0;endalways #10 clk = ~clk;endmodule原创 2022-05-09 17:27:50 · 2718 阅读 · 0 评论 -
How to write a testbench in Verilog?
Verifying complex digital systems after implementing the hardware is not a wise choice. It is ineffective in terms of time, money, and resources. Hence, it is essential to verify any design before finalizing it. Luckily, in the case of F...原创 2022-05-09 17:09:27 · 338 阅读 · 0 评论