verilog hdl 语言的for循环会综合成什么
作者&投稿:甘耍 (若有异议请与网页底部的电邮联系)
我想说的是i,size应该是打错了,应该是在打“>1)不加“;”并且按“>1)展开的话就是gray右移一位然后进行缩减异或然后赋值给bin[i];看这个定义变量就知道想实现格雷码转二进制码,不过这样写完全就实现不了这个目的,首先gray没有用i,并且如果要实现格雷码转二进制码,异或也不能用缩减异或这不是C语言。顺便说下这谁写的代码这么短这么多错误的地方。
可以转化成实际电路的模块
系统任务带$ 如$display 等都是不综合模块
当然,也不一定,比如你说for复位一个块存储器(矩阵),那自然就是一个复位线而已。
首先是for可以综合的,for几次就会把你的电路复制几次,所以在非特殊情况下就最好不要用,当然在testbench就随便用了,当然建议你自己可以写写代码,然后看综合结果,看看for次数不同综合出的有什么不同
Tools -> Netlist Viewers -> RTL Viewers 自己看
for一般只用在testbench中
庄方临泰: 第一个数字表示位数,28'就是有28位 h表示是十六进制数,b表示二进制,d表示十进制.因此,28'hFFFFFFF表示十六进制数,用二进制表示就是28个“1”,4'b10就是4为二进制0010;4'd10指十进制数10 Verilog HDL是一种硬件描述语言(...
迁安市18649719408: verilog HDL语言中 readyflag是什么意思 - ?
庄方临泰: ready flag 是一种信号,它决定其他逻辑是否执行.通俗地说这个信号告诉控制模块或者控制逻辑,我已经准备好了,可以进行某些操作了.反之,如果没有准备好他就会一直是0,准备好了就变成1
迁安市18649719408: 什么是verilog语言? - ?
庄方临泰: Verilog HDL是目前应用最为广泛的硬件描述语言.Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等. Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述...
迁安市18649719408: verilog HDL现在学有用吗?前景和应用领域呢. - ?
庄方临泰: 我是电气工程的博士生,事实证明,Verilog HDL有用. 首先要明确Verilog是硬件描述语言,在芯片上设计数字硬件系统,所以,第一,看你是不是对于硬件设计有需求,第二,是不是具备数字电路的扎实基础. Verilog并非程序语言,它不是在...
迁安市18649719408: DSP,FPGA,CPLD,VHDL,Verilog HDL这些有什么关系 - ?
庄方临泰: DSP:数字信号处理.如果是说硬件的话,就是数字信号处理器.Digital signal process(数字信号处理),Digital signal processor(数字信号处理器).DSP的优势主要是做算法.FPGA:Field Programmable Gate Array,即现场可编程门阵列...
迁安市18649719408: Verilog HDL 中for语句for(i=0;i<=7;i=i+1) if(A[i]) Y=Y+1这段语句主要实现的功能分析 - ?
庄方临泰: 前边是定义,A定义为8位,所以循环八次.主题是for循环语句.for(i=0;i{ 循环体语句; } 这样的循环体会执行8次(分别是i=0,i=1,····i=7的情况) 它的执行流程是这样的:首先给变量i赋初值0,然后判断,若满足条件i这样就把A的每一位都判断是否等于1,Y统计的是A中含1的数量
迁安市18649719408: verilog hdl 语言的for循环会综合成什么 - ?
庄方临泰: 首先是for可以综合的,for几次就会把你的电路复制几次,所以在非特殊情况下就最好不要用,当然在testbench就随便用了,当然建议你自己可以写写代码,然后看综合结果,看看for次数不同综合出的有什么不同
迁安市18649719408: Verilog HDL要用什么软件? - ?
庄方临泰: 如果只是仿真的话,可以使用modelsim;如果要对程序进行编译、综合、烧写且调试的话,可以使用altera公司的quartus ii和xilinx公司的ise软件.这几种软件我都用过,网上都可以下到相关的安装软件. verilog hdl是一种硬件描述语言,跟C语言有点像,比较容易上手. 希望能帮到你.
迁安市18649719408: 学习Verilog HDL语言过程中关于三种常用赋值语句的困惑! - ?
庄方临泰: 1、=左边是wire类型,可在定义时用“assign”连续赋值语句; 例如: wire[7:0] a; input[7:0] c,d; assign a=c+d; 则在后面的程序中要用到c+d的值就可以直接用a来表示了 这对模块间的互联非常有用 “=”阻塞赋值语句,相当于串行语句,即所...
迁安市18649719408: verilog hdl的for语句问题 - ?
庄方临泰: 我想说的是i,size应该是打错了,应该是在打“>1)不加“;”并且按“>1)展开的话就是gray右移一位然后进行缩减异或然后赋值给bin[i];看这个定义变量就知道想实现格雷码转二进制码,不过这样写完全就实现不了这个目的,首先gray没有用i,并且如果要实现格雷码转二进制码,异或也不能用缩减异或这不是C语言.顺便说下这谁写的代码这么短这么多错误的地方.