Verilog语言设计一个cpu,参看的夏文宇教授代码。他在仿真那部分$readmemb(''test1.pro'',t_rom_.memory

我不懂其中的test1.pro怎么弄呢,test1.pro写的是汇编助记符,机器码等。他是怎么把程序加载到ROM中的呢?

$readmemb这个的用法就是把二进制读取到内存当中,所以他在.pro文件中用的二进制编码所以读取没有问题。以pro作为后缀名只是为了让读者更好的理解,因为它是要写到rom当中的相当于程序所以命名为pro。后面的t_rom_.memory就是程序文件存放的地方,其中t_rom_是为了测试而例化的一个虚拟rom,.memory就是rom模块里面的memory寄存器。追问

嗯,您说的我能明白。但是具体在modelsim怎么实施呢?那些二进制编码写到什么地方呢?怎么加载进去

追答

二进制码只要自己写一个文件命名为test1.pro然后放到modelsim的工作目录就可以了,modelsim会利用你综合好的网表文件还有其他一些对应fpga的库文件对那个cpu模块进行仿真,再具体的比如modelsim是如何执行的,这个我也说不准,估计也就是在操作系统里开辟一些内存进行运算吧。仿真的时候实际上也不是在fpga内运行的,要在实体的fpga上仿真这个cpu你肯定还需要加对这个cpu编程的模块,通过外部io将所谓的机器码写到内部你定义好的rom中。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-19
Verilog语言设计一个cpu,参看的夏文宇教授代码。他在仿真那部分$readmemb(''test1.pro'',t_rom_.memory我来 see my name ,find me。
相似回答