verilog语言如何仿真?

楼上的,QuartusII不过是Alter自己的开发工具,1、vhdl:vhdl来自ADA,语法严谨,比较难学,在欧洲和国内有较多使用者。兼带简单的仿真功能。

verilog语言_verilog语言用什么软件verilog语言_verilog语言用什么软件


verilog语言_verilog语言用什么软件


1.如果是FPGA的话,你可以用Modelsim,足够了,自己写testbench,根据需bd_comp[8] = 1'b1;要产生相应的激励信号,然后来测试你的模块功能是否正确。

2.如果是ASIC的话,可以用VCS,这个复杂了,testbench一般使用ncverilog。

用 用户定义原语(UDP)创建的灵活性。用户定义的原语既可以是组合逻辑原语,也可以是时序逻辑原语。quartus2

用ModelSim或ISE自带的Isim

求助:verilog语言编写加法

else ....... // 对应的是a>0,b<=0;

使用补码相加,代码如下,供参考。

end

input a_neg, b_neg; //a数据的符号,b数的符号。1为负数。

input [7:0] an_in, bn_in; //加数的整数

input [7:0] ad_in, bd_in; //加数的小数

output reg [7:0] cn_out, cd_out; //加结果

output c_neg; //结果的符号。

reg [8:0] an_comp, ad_comp, bn_comp, bd_comp; //a和b的补码

wire [8:0] cn_add, cd_add; //

always@()

if (a_neg) //a的补码

an_if (b_neg) //b的补码comp[8] = 1'b1;

an_comp[7:0] = ~an_in[7:0] + 1'b1;

ad_comp[8] = 1'b1;

ad_comp[7:0] = ~ad_in[7:0] + 1'b1;

ad_comp[8:0] = {1'b0, ad_in[7:0]};

bn_comp[8] = 1'b1;

bn_comp[7:0] = ~bn_in[7:0] + 1'b1;

bd_comp[7:0] = ~bd_in[7:0] + 1'b1;

bd_comp[8:0] = {1'b0, bd_in[7:0]};

//加法

assign cn_add = an_comp + bn_comp + cd_add[8];

assign c_neg = cn_add[8];

//补码转回二进制码

if (c_neg)

cn_out = ~(cn_add[7:0] - 8'b1);

cd_out = ~(cd_add[7:0] - 8'b1);

cn_out = cn_add[7:0];

cd_out = cd_add[7:0];

Verilog语言的难点是什么?

assign cd_add = ad_comp + bd_comp;

VerilogHDL是一种硬件描述语言,学习误区最典型的就是认为FPGA设计其实就是 Verilog HDL不再是某些公司的专有语言而是IEEE标准。verilog设计。FPGA设计本质上是硬件设计,verilog是用来描述电路的。建议参考明德扬点拨FPGA基础视频以及《明德扬点拨FPGA高手进阶》这书。

5、开关级(switch-ll):描述器件中三极管和储存以及它们之间连接的模型。

Verilog语言 if 语句

Verilog是硬件描述语言,主要针对数字电路的

if(a>0)

else

if(b>0) ....... //对应的是a>0,b>0;

if(b>0)........//对应的是a<0,b>0; 能够描述层次设计,可使用模块实例结构描述任何层次。

不知道你能不能看懂,是使用多重if..else...嵌套用法

if(rxd_state[8:0] = 9'd0)应该是 if(rxd_state[8:0] == 9'd0)吧,还有是否是需要用阻塞式呢

VHDL和Verilog的区别

8‘b0001_0020

这两者有其共同的特点:

always中赋值等式左边的数据类型不能是wire,你的clk1、clk2都是wire将其定义为reg类型就好了。

1. 能形式化地抽象表示电路的行为和结构;

Verilog HDL中有两类数据类型:线网数据类型和寄存器数据类型。线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。

2. 支持逻辑设计中层次与范围地描述;

3. 可借用高级语言地精巧结构来简化电路行为和结构;具有电路仿真与验证机制以保证设计的正确性;

5. 硬件描述和实现工艺无关;

6. 便于文档管理;

但是两者也各有特点。 Verilog HDL 推出已经有 20 年了,拥有广泛的设计群体,成熟的资源也比 VHDL 丰富。 Verilog 更大的一个优势是:它非常容易掌握,只要有 C 语言的编程基础,通过比较短的时间,经过一些实际的作,可以在 2 ~ 3 个月内掌握这种设计技术。而 VHDL 设计相对要难一点,这个是因为 VHDL 不是很直观,需要有 Ada 编程基础,一般认为至少要半年以上的专业培训才能掌握。

目前版本的 Verilog HDL 和 VHDL 在行为级抽象建模的覆盖面范围方面有所不同。一般认为 Verilog 在系统级抽象方面要比 VHDL 略一些,而在门级开关电路描述方面要强的多。

谁能帮我区分一下汇编语言和Verilog的概念

C1<=0;

汇编是属于软件的范畴,在执行时是顺序执行的,使用硬件来完成你的预期功能,但不能改变硬件.

这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是 IEEE 的标准。 VHDL 1987 年成为标准,而 Verilog 是 1995 年才成为标准的。这个是因为 VHDL 是美国军方组织开发的,而 Verilog 是一个公司的私有财产转化而来的。为什么 Verilog 能成为 IEEE 标准呢?它一定有其优越性才行,所以说 Verilog 有更强的生命力。

VERILOG是种硬件描述语言,需要由专用的软件来翻译成硬件电路,它在执行时是并行的,归根到底,V其实是文本化的硬件设计图。

人和机器都可阅读Verilog 语言,因此它可作为EDA的工具和设计者之间的交互语言。

如何用Verilog HDL语言实现Viterbi算法?

基本逻辑门,例如and、or和nand等都内置在语言中。

Verilog HDL 语言具有下述描述能力:else设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。

Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。

历史

主要能力

下面列出的是Verilog硬件描述语言的主要能力:

开关级基本结构模型,例如pmos 和nmos等也被内置在语言中。

提供显式语言结构指定设计中的端口到端口的时延及路径时延和设计的时序检查。

设计的规模可以是任意的;语言不对设计的规模(大小)施加任何限制。

Verilog HDL语言的描述能力能够通过使用编程语言接口(PLI)机制进一步扩展。PLI是允许外部函数访问Verilog 模块内信息、允许设计者与模拟器交互的例程。

能够使用内置开关级原语在开关级对设计完整建模。

同一语言可用于生成模拟激励和指定测试的验证约束条件,例如begin输入值的指定。

Verilog HDL 能够模拟验证的执行,即模拟验证执行过程中设计的值能够被和显示。这些值也能够用于与期望值比较,在不匹配的情况下,打印报告消息。

在行为级描述中,Verilog HDL不仅能够在RTL级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述。

能够使用门和模块实例化语句在结构级进行结构描述。

Verilog HDL 的混合方式建模能力,即在一个设计中每个模块均可以在不同设计层次上建模。

对高级编程语言结构,例如条件语句、情况语句和循环语句,语言中都可以使用。

提供强有力的文件读写能力。

语言在特定情况下是非确定性的,即在不同的模拟器上模型可以产生不同的结果;例如,队列上的顺序在标准中没有定义。

每个Verilog HDL程序包括哪4个主要部分

这两种语言都是用于数字电子系统设计的硬件描述语言,而且都已经是 IEEE 的标准。 VHDL 1987 年成为标准,而 Verilog 是 1995 年才成为标准的。这个是因为 VHDL 是美国军方组织开发的,而 Verilog 是一个公司的私有财产转化而来的。为什么 Verilog 能成为 IEEE 标准呢?它一定有其优越性才行,所以说 Verilog 有更强的生命力。 x0dx0ax0dx0a这两者有其共同的特点: x0dx0ax0dx0a1. 能形式化地抽象表示电路的行为和结构; x0dx0ax0dx0a2. 支持逻辑设计中层次与范围地描述; x0dx0ax0dx0a3. 可借用高级语言地精巧结构来简化电路行为和结构;具有电路仿真与验证机制以保证设计的正确性; x0dx0ax0dx0a4. 支持电路描述由高层到低层的综合转换; x0dx0ax0dx0a5. 硬件描述和实现工艺无关; x0dx0ax0dx0a6. 便于文档管理; x0dx0ax0dx0a7. 易于理解和设计重用 x0dx0ax0dx0a但是两者也各有特点。 Verilog HDL 推出已经有 20 年了,拥有广泛的设计群体,成熟的资源也比 VHDL 丰富。 Verilog 更大的一个优势是:它非常容易掌握,只要有 C 语言的编程基础,通过比较短的时间,经过一些实际的作,可以在 2 ~ 3 个月内掌握这种设计技术。而 VHDL 设计相对要难一点,这个是因为 VHDL 不是很直观,需要有 Ada 编程基础,一般认为至少要半年以上的专业培训才能掌握。 x0dx0ax0dx0a目前版本的 Verilog HDL 和 VHDL 在行为级抽象建模的覆盖面范围方面有所不同。一般认为 Verilog 在系统级抽象方面要比 VHDL 略一些,而在门级开关电路描述方面要强的多。 x0dx0ax0dx0a近 10 年来, EDA 界一直在对数字逻辑设计中究竟用哪一种硬件描述语言争论不休,目前在美国,高层次数字系统设计领域中,应用 Verilog 和 VHDL 的比率是 80 %和 20 %;日本和和美国不多;而在欧洲 VHDL 发展的比较好。在很多集成电路设计公司都采用 Verilog

每个Verilog程序包括四个主要部分:端口定义、I/O说明、内部信号声明、功能定义。Verilog HDL是一种用于数字逻辑电路设计的语言。用Verilog HDL描述的电路设计就是该电路的Verilog HDL模型。

Verilog HDL既是一种行为描述的语言也是一种结构描述的语言。这也就是说,既可以用电路的功能描述也可以用元器件和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:

2、算法级(algorithm):用高级语言结构实现设计算法的模型。

3、RTL级(Register Transfer Lev1、系统级():用高级语言结构实现设计模块的外部性能的模型。el):描述数据在寄存器之间流动和如何处理这些数据的模型。

4、门级(gate-ll):描述逻辑门以及逻辑门之间的连接的模型。

扩展资料

一个复杂电路系统的完整Verilog HDL模型是由若干个Verilog HDL模块构成的,每一个模块又可以由若干个子模块构成。其 可采用三种不同方式或混合方式对设计建模。这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模。中有些模块需要综合成具体电路,而有些模块只是与用户所设计的模块交互的现存电路或激励信号源。

利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计,并对所作设计的逻辑电路进行严格的验证。Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。

Verilog的设计初衷是成为一种基本语法与C语言相近的硬件描述语言。这是因为C语言在Verilog设计之初,已经在许多领域得到广泛应用,C语言的许多语言要素已经被许多人习惯。一种与C语言相似的硬件描述语言,可以让电路设计人员更容易学习和接受。

不过,Verilog与C语言还是存在许多别。另外,作为一种与普通计算机编程语言不同的硬件描述语言,它还具有一些独特的语言要素,例如向量形式的线网和寄存器、过程中的非阻塞赋值等。总的来说,具备C语言的设计人员将能够很快掌握Verilog硬件描述语言。

参考资料来源:

verilog语言

an_comp[8:0] = {1'b0, an_in[7:0]};

时序电路一定记住要使用非阻塞赋值 把你always块里面的赋值语句的=改成<=

然后你程序里面有错误 你clk2分频的地方的计数部分if(c1<5000)应该是记数c2吧 改成if(c2<5000) 应该就不会出现error了

使用非阻塞赋值,写的也该规矩点,如果还有问题就把C1、C2分开两个always来写!

module clkdiv(CLK,CLK1,CLK2);

input CLK;

output CLK1,CLK2;

reg[22:0]C1;

reg[12:0]C2;

if(C1CLK这4种情况表达方式是:2<=!CLK2;<5000000)

CLK1<=!CLK1;

if(C1<5000)

C2<=C2+1;

C2<=0;

endmodule

vhdl与verilog的区别是什么?

vhdl与verilog的区别为 Verilog HDL 还具有内置逻辑函数,例如&(按位与)和|(按位或)。:不同、用途不同、编程层次不同。

可以显式地对并发和定时进行建always@()模。一、不同

2、verilog:verilog的为。

二、用途不同

2、verilog:verilog以文本形式来描述数字系统硬件,可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。

三、编程层次不同

2、verilog:verilog来自C 语言,易学易用,编程风格灵活、简洁,使用者众多,特别在ASIC领域流行。