数电和Verilog-数值及变量

A.3 数值及变量

数值

既然数字逻辑电路里面是做一些逻辑运算,那必须要有数字,那前面说的计算机中的”0“或”1“的数字如何表示呢?

通常在现实生活中,我们说的数字都是十进制,但是在计算机中通常以二进制数存在,但也可以被表示成十进制和十六进制。

比如说我们常说的十进制下的10这个数字,可以在Verilog中分别表示如下:

十进制:  'd10 = 10^1 
二进制:  'b1010 = 2^1 + 2^3
十六进制: 'ha 

注意前缀表示方式。

还有这里没有列八进制,因为你几乎不会用到。所以,补充基础章节内容的目的旨在帮助大家在前期快速的建立后续课程内容所需的基础知识,对原本动辄几百页厚的数电和Verilog做了大量的简化,从而帮助大家更有效率地进行学习。

简单列个表:

十进制数(Decimal) 二进制数(Binary) 十六进制数(Hex)
‘d0 'b0000 'h0
'd1 'b0001 'h1
'd2 'b0010 'h2
'd3 'b0011 'h3
'd4 '
### Multisim 中实现十七进制功能的法 在子设计自动化工具中,Multisim 是一种强大的路仿真软件,支持多种字逻辑的设计与验证。然而,默认情况下,Multisim 的内置功能主要围绕常见的二进制、十进制十六进制展开,而非常见的进制(如十七进制)则需要通过自定义式实现。 #### 1. **理解十七进制** 十七进制是一种基于逢十七进一位的计体系。它扩展了传统的十进制表示法,增加了七个额外的符号用于表示数值范围内的每一位。通常可以采用字母 A 到 G 来分别代表十到十六之间的数值[^1]。因此,对于任何大于等于十七的情况,则会进入更高的一位进行累加计算。 #### 2. **Multisim中的基础设置** 为了能够在 Multisim 上模拟十七进制的功能,可以通过以下几种途径: - 使用组合逻辑路构建编码器/解码器来处理非标准基据转换过程; - 应用 FPGA 或 CPLD 设备编写 VHDL 或 Verilog HDL 描述文件完成特定需求下的硬件描述语言编程工作; 具体来说,如果要直接观察或者操作某个信号作为输入并将其解释成对应的十七进制形式输出的话,那么可能就需要依赖于外部脚本或者是高级建模技术来进行辅助实现了[^2]。 #### 3. **代码示例:VHDL 实现简单状态机** 当涉及到复杂定制化要求时,推荐利用现场可编程门阵列(FPGA)配合相应开发环境(如Xilinx ISE, Altera Quartus II等),这里给出一段简单的VHDL代码片段展示如何创建一个基本的状态转移机制以适应不同基底的要求: ```vhdl library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity SeventeenCounter is Port ( clk : in STD_LOGIC; -- Clock signal reset : in STD_LOGIC;-- Reset signal q : out INTEGER range 0 to 16);-- Output count value from 0..16 end SeventeenCounter; architecture Behavioral of SeventeenCounter is begin process(clk,reset) variable temp_count:integer:=0; begin if(reset='1')then temp_count :=0 ; elsif rising_edge(clk) then if(temp_count<16 )then temp_count :=temp_count+1; else temp_count :=0 ; end if; end if; q<=temp_count; end process; end Behavioral; ``` 此模块展示了如何在一个同步进程中维护一个变量 `temp_count` ,该变量会在每次接收到上升沿脉冲之后增加直到达到最大界限即十五后再重置回零从而形成循环周期性的变化规律[^3]。 #### 结论 尽管目前主流EDA平台并未提供针对特殊用途的小众进制的支持选项,但是借助灵活多样的软硬件协同解决案依旧能够满足此类个性化应用场景的需求。无论是依靠纯软件算法还是结合实际物理器件搭建原型系统都可以有效地达成目标效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值