HDLBITS刷题记录(1)

一个目录

也是一个记录

前言

HDLBits刷题大纲:

(1)Verilog Language:1.1 Basics、1.2 Vectors、1.3 Modules Hierarchy、1.4 Procedures、1.5 More Verilog Features
(2)Circuits:2.1 Combinational Logic、2.2 Sequential Logic。
A. Combinational Logic:2.1.1 Basic Gates、2.1.2 Multiplexers、2.1.3 Arithmetic Circuits、2.1.4 Karnaugh Map to Circuit)
B. Sequential Logic:2.2.1 Latches and Flip-Flops、2.2.2 Counters、2.2.3 Shift Registers、2.2.4 More Circuits、2.2.5 Finite State Machines)
(3)Verification: Reading Simulations:3.1 Finding bugs in code、3.2 Build a circuit from a simulation waveform
(4)Verification: Writing Testbenches

1.1 Basics Part

分为8个小的部分:1.1.1 Simple wire 1.1.2 Four wires 1.1.3 Inverter 1.1.4 AND 1.1.5 NOR 1.1.6 XNOR 1.1.7 Declaring wires 1.1.8 7458 chip

1.1.1 Simple Wire简单线网

单入单出 :

assign out = in;

1.1.2 Four wires四个线网

三入四出:

	assign w = a;
    assign x =b;
    assign y = b;
    assign z = c;

1.1.3 Inverter非

NOT门:逻辑非!按位非~

    assign out = ~in;

1.1.4 AND与

与门:逻辑与&&;按位与&

	assign out = a&b;

1.1.5 NOR或非

或:逻辑或||;按位或|
或非:~( | )

    assign out = ~(a|b);

1.1.6 XNOR同或

同或XNOR~^ 异或XOR^

	assign out = ~(a^b);

1.1.7 Declaring wires线网声明

对wire类型信号声明

1.1.8 7458 chip

按照门内部进行连接即可
7458的内部结构

附:

图为与非门的国际符号

1.2 Vectors

分为9个小的部分:1.2.1 Vectors 1.2.2 Vectors in more detail 1.2.3 Vector part select 1.2.4 Bitwise operators 1.2.5 Four-input gates 1.2.6 Vector concatenation operator 1.2.7 Vector reversal 1 1.2.8 Replication operator 1.2.9 More replication

1.2.1 Vector0

向量(多位宽数据)声明,以及[]取用对应位

wire [99:0] my_vector;      // Declare a 100-element vector
assign out = my_vector[10]; // Part-select one bit out of the vector

1.2.2 Vector1:Part-Select Vector Elements:向量部分位选择

针对变量的reg型和memory型:

    assign out_hi = in[15:8];
    assign out_lo = in[7:0];

1.2.3 Vector part select

字节顺序的转换:AaaaaaaaBbbbbbbbCcccccccDddddddd => DdddddddCcccccccBbbbbbbbAaaaaaaa

    assign out = {in[7:0], in[15:8], in[23:16], in[31:24]};

1.2.4 Bitwise operators按位运算

逐位按位操作

    assign out_or_bitwise = a | b;
    assign out_or_logical = a || b;
    assign out_not[5:3] = ~b;
    assign out_not[2:0] = ~a;

1.2.5 Four-input gates四输入门电路

向量内部的各位操作:

构建一个具有四个输入的组合电路,在[3:0]中。
有 3 个输出:
.out_and:输出4路输入AND门。
.out_or:4输入OR门的输出。
.out_xor:输出4路输入异或门。

	assign out_and = ∈
	assign out_or = |in;
	assign out_xor = ^in;

1.2.6 Vector concatenation operator向量拼接

拼接需要指定位宽,常数也是
向量拼接示意图

    // assign { ... } = { ... };
    // assign {w[7:0], x[7:0], y[7:0], z[7:0]} = {a[4:0], b[4:0], c[4:0], d[4:0], e[4:0], f[4:0], 2'b11};
    assign {w, x, y, z} = {a, b, c, d, e, f, 2'b11};

1.2.7 Vector reversal向量翻转倒序输出

Given an 8-bit input vector [7:0], reverse its bit ordering.

	// common method
	assign out = {in[0], in[1], in[2], in[3], in[4], in[5], in[6], in[7]};
	// for形式
	always@(*)begin
        for (int i=0;i<$bits(out);i++) 
            out[i] = in[$bits[(out)-i-1];
    end
    //$bits(out)表示out这个数据位宽有多少

1.2.8 Replication operator

sign-extend符号位扩展

For example, sign-extending 4’b0101 (5) to 8 bits results in 8’b00000101 (5), while sign-extending 4’b1101 (-3) to 8 bits results in 8’b11111101 (-3).

    assign out = {{24{in[7]}},in[7:0]};

1.2.9 More replication

成对比较

	assign out = {{~{5{a}}^{a,b,c,d,e}},{~{5{b}}^{a,b,c,d,e}},{~{5{c}}^{a,b,c,d,e}},{~{5{d}}^{a,b,c,d,e}},{~{5{e}}^{a,b,c,d,e}}};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
1. 智慧监狱概述 智慧监狱的建设背景基于监狱信息化的发展历程,从最初的数字化监狱到信息化监狱,最终发展到智慧监狱。智慧监狱强调管理的精细化、监管的一体化、改造的科学化以及办公的无纸化。政策上,自2017年以来,司法部连续发布了多项指导性文件,推动智慧监狱的建设。 2. 内在需求与挑战 智慧监狱的内在需求包括数据应用与共享的不足、安防系统的单一功能、IT架构的复杂性、信息安全建设的薄弱以及IT运维的人工依赖。这些挑战要求监狱系统进行改革,以实现数据的深度利用和业务的智能化。 3. 技术架构与设计 智慧监狱的技术架构包括统一门户、信息安全、综合运维、安防集成平台和大数据平台。设计上,智慧监狱采用云计算、物联网、大数据和人工智能等技术,实现资源的动态分配、业务的快速部署和安全的主动防护。 4. 数据治理与应用 监狱数据应用现状面临数据分散和共享不足的问题。智慧监狱通过构建数据共享交换体系、数据治理工具及服务,以及基于数据仓库的数据分析模型,提升了数据的利用效率和决策支持能力。 5. 安全与运维 智慧监狱的信息安全建设涵盖了大数据应用、安全管理区、业务区等多个层面,确保了数据的安全和系统的稳定运行。同时,综合运维平台的建立,实现了IT系统的统一管理和自动化运维,提高了运维效率和系统的可靠性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值