HDLBits(1) 8.19
1 开始
1.1 输出逻辑1
直接assign one = 1'b1 ,给output one赋值1'b1,表示1bit数值,b=二进制,o=八进制,d=十进制,h=十六进制
1.2 输出逻辑0
可以直接提交,因为在Quartus中,输出端口默认赋值为0,但使用默认赋值使危险的,不推荐的
或者 assign zero = 1'b0;
2.Verilog语言
2.1 基础
2.1.1 简单电线
创建一个电线,即assign out = in
2.1.2 四线
不同于编程语言,Verilog中的赋值语句不是串行,即并不是表示将a的值复制到b上,而是描述a b之间的连接关系,所以是并行
assign语句是具有方向性的,必须 assign output = input ,否则会报错
2.1.3 非门(反相器)
assign语句中取反操作有 ~(逐位取反)和 !(逻辑取反),逻辑取反的结果只有一位,一般只用于单次时钟信号,逐位取反的结果位宽与输入信号相同
2.1.4 与门(AND)
out = a & b ; 即 out = a + b
2.1.5 或非门(NOR)
out = ~ ( a | b ) ;
| 表示非运算,ab同时为 0 时,a | b = 0,其余 a | b = 1
2.1.6 异或非门/同或(XNOR)
相同为1,不同为0
^~表示异或运算,ab相同时为 0 ,相异为 1
assign out = ~(a ^ b) ;
assign out = a ^ ~b ;
assign out = a ~^ b) ;
*位运算规则:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Blazor Hybrid适配到HarmonyOS系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 分享4款.NET开源、免费、实用的商城系统